Skip to content

Commit d6722bc

Browse files
authored
[libc] Move EOF macro to stdio-macros.h (#85159)
libc++ char_traits.h assumes EOF is always available See #85158 for more details.
1 parent b431546 commit d6722bc

File tree

4 files changed

+8
-2
lines changed

4 files changed

+8
-2
lines changed

libc/config/baremetal/api.td

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,10 @@ def IntTypesAPI : PublicAPI<"inttypes.h"> {
5252
let Types = ["imaxdiv_t"];
5353
}
5454

55+
def StdIOAPI : PublicAPI<"stdio.h"> {
56+
let Types = ["size_t"];
57+
}
58+
5559
def StdlibAPI : PublicAPI<"stdlib.h"> {
5660
let Types = [
5761
"div_t",

libc/config/gpu/api.td

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,6 @@ def StdIOAPI : PublicAPI<"stdio.h"> {
6363
SimpleMacroDef<"_IOFBF", "0">,
6464
SimpleMacroDef<"_IOLBF", "1">,
6565
SimpleMacroDef<"_IONBF", "2">,
66-
SimpleMacroDef<"EOF", "-1">,
6766
];
6867
let Types = ["size_t", "FILE"];
6968
}

libc/config/linux/api.td

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,6 @@ def StdIOAPI : PublicAPI<"stdio.h"> {
7676
SimpleMacroDef<"_IOFBF", "0">,
7777
SimpleMacroDef<"_IOLBF", "1">,
7878
SimpleMacroDef<"_IONBF", "2">,
79-
SimpleMacroDef<"EOF", "-1">,
8079
];
8180
let Types = ["size_t", "FILE", "cookie_io_functions_t"];
8281
}

libc/include/llvm-libc-macros/stdio-macros.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@
99
#ifndef LLVM_LIBC_MACROS_STDIO_MACROS_H
1010
#define LLVM_LIBC_MACROS_STDIO_MACROS_H
1111

12+
#ifndef EOF
13+
#define EOF (-1)
14+
#endif
15+
1216
#define BUFSIZ 1024
1317

1418
#endif // LLVM_LIBC_MACROS_STDIO_MACROS_H

0 commit comments

Comments
 (0)