[libc-commits] [libc] reland: [libc] Added transitive bindings for OffsetType (PR #87680)
Shourya Goel via libc-commits
libc-commits at lists.llvm.org
Fri Apr 5 11:12:05 PDT 2024
https://github.com/Sh0g0-1758 updated https://github.com/llvm/llvm-project/pull/87680
>From 7a26c7111c4455bbd9d75df0527dcc58bb2a3b31 Mon Sep 17 00:00:00 2001
From: Sh0g0-1758 <shouryagoel10000 at gmail.com>
Date: Fri, 5 Apr 2024 00:21:27 +0530
Subject: [PATCH 1/3] Revert "Revert "[libc] Added transitive bindings for
OffsetType (#87397)""
This reverts commit e8aaa3eaedc3b5519747a68e772f0bc664b89154.
---
libc/config/baremetal/api.td | 5 ++++-
libc/config/gpu/api.td | 6 +++++-
libc/config/linux/api.td | 12 ++++++++++--
libc/include/CMakeLists.txt | 10 ++++++----
libc/spec/posix.td | 7 +++++--
libc/src/stdio/fseeko.h | 1 -
libc/src/stdio/ftello.h | 1 -
7 files changed, 30 insertions(+), 12 deletions(-)
diff --git a/libc/config/baremetal/api.td b/libc/config/baremetal/api.td
index 25aa06aacb642e..690edbda1311fe 100644
--- a/libc/config/baremetal/api.td
+++ b/libc/config/baremetal/api.td
@@ -57,7 +57,10 @@ def MathAPI : PublicAPI<"math.h"> {
}
def StdIOAPI : PublicAPI<"stdio.h"> {
- let Types = ["size_t"];
+ let Types = [
+ "size_t",
+ "off_t",
+ ];
}
def StdlibAPI : PublicAPI<"stdlib.h"> {
diff --git a/libc/config/gpu/api.td b/libc/config/gpu/api.td
index adaf5bfd747ac7..523ad49ffa3fd4 100644
--- a/libc/config/gpu/api.td
+++ b/libc/config/gpu/api.td
@@ -64,7 +64,11 @@ def StdIOAPI : PublicAPI<"stdio.h"> {
SimpleMacroDef<"_IOLBF", "1">,
SimpleMacroDef<"_IONBF", "2">,
];
- let Types = ["size_t", "FILE"];
+ let Types = [
+ "FILE",
+ "off_t",
+ "size_t",
+ ];
}
def IntTypesAPI : PublicAPI<"inttypes.h"> {
diff --git a/libc/config/linux/api.td b/libc/config/linux/api.td
index eb5ed8089850e4..9964971f191b75 100644
--- a/libc/config/linux/api.td
+++ b/libc/config/linux/api.td
@@ -49,7 +49,10 @@ def CTypeAPI : PublicAPI<"ctype.h"> {
}
def FCntlAPI : PublicAPI<"fcntl.h"> {
- let Types = ["mode_t"];
+ let Types = [
+ "mode_t",
+ "off_t",
+ ];
}
def IntTypesAPI : PublicAPI<"inttypes.h"> {
@@ -77,7 +80,12 @@ def StdIOAPI : PublicAPI<"stdio.h"> {
SimpleMacroDef<"_IOLBF", "1">,
SimpleMacroDef<"_IONBF", "2">,
];
- let Types = ["size_t", "FILE", "cookie_io_functions_t"];
+ let Types = [
+ "FILE",
+ "cookie_io_functions_t",
+ "off_t",
+ "size_t",
+ ];
}
def StdlibAPI : PublicAPI<"stdlib.h"> {
diff --git a/libc/include/CMakeLists.txt b/libc/include/CMakeLists.txt
index 4203f0bc901b22..02c7dc8fbc0b33 100644
--- a/libc/include/CMakeLists.txt
+++ b/libc/include/CMakeLists.txt
@@ -41,9 +41,10 @@ add_gen_header(
DEF_FILE fcntl.h.def
GEN_HDR fcntl.h
DEPENDS
- .llvm_libc_common_h
.llvm-libc-macros.fcntl_macros
.llvm-libc-types.mode_t
+ .llvm-libc-types.off_t
+ .llvm_libc_common_h
)
add_gen_header(
@@ -264,13 +265,14 @@ add_gen_header(
DEF_FILE stdio.h.def
GEN_HDR stdio.h
DEPENDS
- .llvm_libc_common_h
.llvm-libc-macros.file_seek_macros
.llvm-libc-macros.stdio_macros
- .llvm-libc-types.size_t
- .llvm-libc-types.ssize_t
.llvm-libc-types.FILE
.llvm-libc-types.cookie_io_functions_t
+ .llvm-libc-types.off_t
+ .llvm-libc-types.size_t
+ .llvm-libc-types.ssize_t
+ .llvm_libc_common_h
)
add_gen_header(
diff --git a/libc/spec/posix.td b/libc/spec/posix.td
index cfa8d3afedde3f..45f7ecfe84e98e 100644
--- a/libc/spec/posix.td
+++ b/libc/spec/posix.td
@@ -210,7 +210,10 @@ def POSIX : StandardSpec<"POSIX"> {
HeaderSpec FCntl = HeaderSpec<
"fcntl.h",
[], // Macros
- [ModeTType],
+ [
+ ModeTType,
+ OffTType,
+ ],
[], // Enumerations
[
FunctionSpec<
@@ -1180,7 +1183,7 @@ def POSIX : StandardSpec<"POSIX"> {
HeaderSpec StdIO = HeaderSpec<
"stdio.h",
[], // Macros
- [], // Types
+ [OffTType], // Types
[], // Enumerations
[
FunctionSpec<
diff --git a/libc/src/stdio/fseeko.h b/libc/src/stdio/fseeko.h
index 3202ed2f97d0ef..77fb41215c318f 100644
--- a/libc/src/stdio/fseeko.h
+++ b/libc/src/stdio/fseeko.h
@@ -10,7 +10,6 @@
#define LLVM_LIBC_SRC_STDIO_FSEEKO_H
#include <stdio.h>
-#include <unistd.h>
namespace LIBC_NAMESPACE {
diff --git a/libc/src/stdio/ftello.h b/libc/src/stdio/ftello.h
index 0fdf13ab6bdbcd..5ab17f9244a5ad 100644
--- a/libc/src/stdio/ftello.h
+++ b/libc/src/stdio/ftello.h
@@ -10,7 +10,6 @@
#define LLVM_LIBC_SRC_STDIO_FTELLO_H
#include <stdio.h>
-#include <unistd.h>
namespace LIBC_NAMESPACE {
>From 9a9b45aed5f5a91d73df9419d0a23cce22002500 Mon Sep 17 00:00:00 2001
From: Sh0g0-1758 <shouryagoel10000 at gmail.com>
Date: Fri, 5 Apr 2024 00:23:05 +0530
Subject: [PATCH 2/3] Added include statement
---
libc/config/baremetal/api.td | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libc/config/baremetal/api.td b/libc/config/baremetal/api.td
index 690edbda1311fe..a708ff9a0be119 100644
--- a/libc/config/baremetal/api.td
+++ b/libc/config/baremetal/api.td
@@ -1,5 +1,5 @@
include "config/public_api.td"
-
+include "spec/posix.td"
include "spec/stdc.td"
include "spec/stdc_ext.td"
include "spec/bsd_ext.td"
>From 2a56d082ddc9f308ad2e4e2b3993cb074df52cf2 Mon Sep 17 00:00:00 2001
From: Sh0g0-1758 <shouryagoel10000 at gmail.com>
Date: Fri, 5 Apr 2024 23:41:50 +0530
Subject: [PATCH 3/3] undo changes
---
libc/config/baremetal/api.td | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/libc/config/baremetal/api.td b/libc/config/baremetal/api.td
index a708ff9a0be119..25aa06aacb642e 100644
--- a/libc/config/baremetal/api.td
+++ b/libc/config/baremetal/api.td
@@ -1,5 +1,5 @@
include "config/public_api.td"
-include "spec/posix.td"
+
include "spec/stdc.td"
include "spec/stdc_ext.td"
include "spec/bsd_ext.td"
@@ -57,10 +57,7 @@ def MathAPI : PublicAPI<"math.h"> {
}
def StdIOAPI : PublicAPI<"stdio.h"> {
- let Types = [
- "size_t",
- "off_t",
- ];
+ let Types = ["size_t"];
}
def StdlibAPI : PublicAPI<"stdlib.h"> {
More information about the libc-commits
mailing list