[libc-commits] [libc] [libc] Add missing POSIX macros to cpio.h (PR #188840)
Jeff Bailey via libc-commits
libc-commits at lists.llvm.org
Fri Mar 27 11:01:05 PDT 2026
https://github.com/kaladron updated https://github.com/llvm/llvm-project/pull/188840
>From 4c3839e38bfdaea904000cec5c304cab0c26dc84 Mon Sep 17 00:00:00 2001
From: Jeff Bailey <jbailey at raspberryginger.com>
Date: Tue, 3 Mar 2026 17:11:57 +0000
Subject: [PATCH 1/2] [libc] Add missing POSIX macros to cpio.h
Added POSIX macros for cpio:
* cpio.h.def
* cpio.yaml
This completes the cpio.h implementation by adding the POSIX-defined macros.
Documentation for cpio was previously merged in PR #123798.
---
libc/include/CMakeLists.txt | 8 ++++++
libc/include/cpio.h.def | 16 ++++++++++++
libc/include/cpio.yaml | 51 +++++++++++++++++++++++++++++++++++++
3 files changed, 75 insertions(+)
create mode 100644 libc/include/cpio.h.def
create mode 100644 libc/include/cpio.yaml
diff --git a/libc/include/CMakeLists.txt b/libc/include/CMakeLists.txt
index 3f4bbf85160b7..ab1cf79dbc42f 100644
--- a/libc/include/CMakeLists.txt
+++ b/libc/include/CMakeLists.txt
@@ -236,6 +236,14 @@ add_header_macro(
.llvm-libc-types.cfloat16
)
+add_header_macro(
+ cpio
+ ../libc/include/cpio.yaml
+ cpio.h
+ DEPENDS
+ .llvm_libc_common_h
+)
+
add_header_macro(
setjmp
../libc/include/setjmp.yaml
diff --git a/libc/include/cpio.h.def b/libc/include/cpio.h.def
new file mode 100644
index 0000000000000..5cfe4bca3153a
--- /dev/null
+++ b/libc/include/cpio.h.def
@@ -0,0 +1,16 @@
+//===-- C standard library header cpio.h ----------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_LIBC_CPIO_H
+#define LLVM_LIBC_CPIO_H
+
+#include "__llvm-libc-common.h"
+
+%%public_api()
+
+#endif // LLVM_LIBC_CPIO_H
diff --git a/libc/include/cpio.yaml b/libc/include/cpio.yaml
new file mode 100644
index 0000000000000..43657e5cfc91d
--- /dev/null
+++ b/libc/include/cpio.yaml
@@ -0,0 +1,51 @@
+header: cpio.h
+header_template: cpio.h.def
+standards:
+ - POSIX
+macros:
+ - macro_name: C_IRUSR
+ macro_value: "000400"
+ - macro_name: C_IWUSR
+ macro_value: "000200"
+ - macro_name: C_IXUSR
+ macro_value: "000100"
+ - macro_name: C_IRGRP
+ macro_value: "000040"
+ - macro_name: C_IWGRP
+ macro_value: "000020"
+ - macro_name: C_IXGRP
+ macro_value: "000010"
+ - macro_name: C_IROTH
+ macro_value: "000004"
+ - macro_name: C_IWOTH
+ macro_value: "000002"
+ - macro_name: C_IXOTH
+ macro_value: "000001"
+ - macro_name: C_ISUID
+ macro_value: "004000"
+ - macro_name: C_ISGID
+ macro_value: "002000"
+ - macro_name: C_ISVTX
+ macro_value: "001000"
+ - macro_name: C_ISDIR
+ macro_value: "040000"
+ - macro_name: C_ISFIFO
+ macro_value: "010000"
+ - macro_name: C_ISREG
+ macro_value: "0100000"
+ - macro_name: C_ISBLK
+ macro_value: "060000"
+ - macro_name: C_ISCHR
+ macro_value: "020000"
+ - macro_name: C_ISCTG
+ macro_value: "0110000"
+ - macro_name: C_ISLNK
+ macro_value: "0120000"
+ - macro_name: C_ISSOCK
+ macro_value: "0140000"
+ - macro_name: MAGIC
+ macro_value: '"070707"'
+types: []
+enums: []
+objects: []
+functions: []
>From 6923adc9f1bcccc3f356cdf1c9aa04bc3d44069a Mon Sep 17 00:00:00 2001
From: Jeff Bailey <jbailey at raspberryginger.com>
Date: Fri, 27 Mar 2026 18:00:20 +0000
Subject: [PATCH 2/2] Remove line referring to cpio.h.def
---
libc/include/cpio.h.def | 16 ----------------
libc/include/cpio.yaml | 1 -
2 files changed, 17 deletions(-)
delete mode 100644 libc/include/cpio.h.def
diff --git a/libc/include/cpio.h.def b/libc/include/cpio.h.def
deleted file mode 100644
index 5cfe4bca3153a..0000000000000
--- a/libc/include/cpio.h.def
+++ /dev/null
@@ -1,16 +0,0 @@
-//===-- C standard library header cpio.h ----------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_LIBC_CPIO_H
-#define LLVM_LIBC_CPIO_H
-
-#include "__llvm-libc-common.h"
-
-%%public_api()
-
-#endif // LLVM_LIBC_CPIO_H
diff --git a/libc/include/cpio.yaml b/libc/include/cpio.yaml
index 43657e5cfc91d..5c6d35bfc47f7 100644
--- a/libc/include/cpio.yaml
+++ b/libc/include/cpio.yaml
@@ -1,5 +1,4 @@
header: cpio.h
-header_template: cpio.h.def
standards:
- POSIX
macros:
More information about the libc-commits
mailing list