Skip to content

Commit 8f85cb3

Browse files
committed
Expand list of known compiler built-ins
Generated using `clang_builtins.py` after fixing the script as included in this commit.
1 parent 8c229d7 commit 8f85cb3

10 files changed

+2136
-0
lines changed

.gitignore

+3
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,9 @@ src/ansi-c/compiler_headers/gcc_builtin_headers_ia32-3.inc
4444
src/ansi-c/compiler_headers/gcc_builtin_headers_ia32-4.inc
4545
src/ansi-c/compiler_headers/gcc_builtin_headers_ia32-5.inc
4646
src/ansi-c/compiler_headers/gcc_builtin_headers_ia32-6.inc
47+
src/ansi-c/compiler_headers/gcc_builtin_headers_ia32-7.inc
48+
src/ansi-c/compiler_headers/gcc_builtin_headers_ia32-8.inc
49+
src/ansi-c/compiler_headers/gcc_builtin_headers_ia32-9.inc
4750
src/ansi-c/compiler_headers/gcc_builtin_headers_ia32.inc
4851
src/ansi-c/compiler_headers/gcc_builtin_headers_math.inc
4952
src/ansi-c/compiler_headers/gcc_builtin_headers_mem_string.inc

src/ansi-c/CMakeLists.txt

+6
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,9 @@ make_inc(compiler_headers/gcc_builtin_headers_ia32-3)
7272
make_inc(compiler_headers/gcc_builtin_headers_ia32-4)
7373
make_inc(compiler_headers/gcc_builtin_headers_ia32-5)
7474
make_inc(compiler_headers/gcc_builtin_headers_ia32-6)
75+
make_inc(compiler_headers/gcc_builtin_headers_ia32-7)
76+
make_inc(compiler_headers/gcc_builtin_headers_ia32-8)
77+
make_inc(compiler_headers/gcc_builtin_headers_ia32-9)
7578
make_inc(compiler_headers/gcc_builtin_headers_math)
7679
make_inc(compiler_headers/gcc_builtin_headers_mem_string)
7780
make_inc(compiler_headers/gcc_builtin_headers_mips)
@@ -95,6 +98,9 @@ set(extra_dependencies
9598
${CMAKE_CURRENT_BINARY_DIR}/compiler_headers/gcc_builtin_headers_ia32-4.inc
9699
${CMAKE_CURRENT_BINARY_DIR}/compiler_headers/gcc_builtin_headers_ia32-5.inc
97100
${CMAKE_CURRENT_BINARY_DIR}/compiler_headers/gcc_builtin_headers_ia32-6.inc
101+
${CMAKE_CURRENT_BINARY_DIR}/compiler_headers/gcc_builtin_headers_ia32-7.inc
102+
${CMAKE_CURRENT_BINARY_DIR}/compiler_headers/gcc_builtin_headers_ia32-8.inc
103+
${CMAKE_CURRENT_BINARY_DIR}/compiler_headers/gcc_builtin_headers_ia32-9.inc
98104
${CMAKE_CURRENT_BINARY_DIR}/compiler_headers/gcc_builtin_headers_ia32.inc
99105
${CMAKE_CURRENT_BINARY_DIR}/compiler_headers/gcc_builtin_headers_math.inc
100106
${CMAKE_CURRENT_BINARY_DIR}/compiler_headers/gcc_builtin_headers_mem_string.inc

src/ansi-c/Makefile

+3
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,9 @@ BUILTIN_FILES = \
7777
compiler_headers/gcc_builtin_headers_ia32-4.inc \
7878
compiler_headers/gcc_builtin_headers_ia32-5.inc \
7979
compiler_headers/gcc_builtin_headers_ia32-6.inc \
80+
compiler_headers/gcc_builtin_headers_ia32-7.inc \
81+
compiler_headers/gcc_builtin_headers_ia32-8.inc \
82+
compiler_headers/gcc_builtin_headers_ia32-9.inc \
8083
compiler_headers/gcc_builtin_headers_ia32.inc \
8184
compiler_headers/gcc_builtin_headers_math.inc \
8285
compiler_headers/gcc_builtin_headers_mem_string.inc \

src/ansi-c/ansi_c_internal_additions.cpp

+9
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,15 @@ const char gcc_builtin_headers_ia32_5[] =
7070
const char gcc_builtin_headers_ia32_6[] =
7171
#include "compiler_headers/gcc_builtin_headers_ia32-6.inc" // IWYU pragma: keep
7272
; // NOLINT(whitespace/semicolon)
73+
const char gcc_builtin_headers_ia32_7[] =
74+
#include "compiler_headers/gcc_builtin_headers_ia32-7.inc" // IWYU pragma: keep
75+
; // NOLINT(whitespace/semicolon)
76+
const char gcc_builtin_headers_ia32_8[] =
77+
#include "compiler_headers/gcc_builtin_headers_ia32-8.inc" // IWYU pragma: keep
78+
; // NOLINT(whitespace/semicolon)
79+
const char gcc_builtin_headers_ia32_9[] =
80+
#include "compiler_headers/gcc_builtin_headers_ia32-9.inc" // IWYU pragma: keep
81+
; // NOLINT(whitespace/semicolon)
7382

7483
const char gcc_builtin_headers_alpha[] =
7584
"#line 1 \"gcc_builtin_headers_alpha.h\"\n"

src/ansi-c/ansi_c_internal_additions.h

+3
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@ extern const char gcc_builtin_headers_ia32_3[];
3030
extern const char gcc_builtin_headers_ia32_4[];
3131
extern const char gcc_builtin_headers_ia32_5[];
3232
extern const char gcc_builtin_headers_ia32_6[];
33+
extern const char gcc_builtin_headers_ia32_7[];
34+
extern const char gcc_builtin_headers_ia32_8[];
35+
extern const char gcc_builtin_headers_ia32_9[];
3336
extern const char gcc_builtin_headers_alpha[];
3437
extern const char gcc_builtin_headers_arm[];
3538
extern const char gcc_builtin_headers_mips[];

src/ansi-c/builtin_factory.cpp

+9
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,15 @@ bool builtin_factory(
185185

186186
if(find_pattern(pattern, gcc_builtin_headers_ia32_6, s))
187187
return convert(identifier, s, symbol_table, mh);
188+
189+
if(find_pattern(pattern, gcc_builtin_headers_ia32_7, s))
190+
return convert(identifier, s, symbol_table, mh);
191+
192+
if(find_pattern(pattern, gcc_builtin_headers_ia32_8, s))
193+
return convert(identifier, s, symbol_table, mh);
194+
195+
if(find_pattern(pattern, gcc_builtin_headers_ia32_9, s))
196+
return convert(identifier, s, symbol_table, mh);
188197
}
189198
else if(config.ansi_c.arch=="arm64" ||
190199
config.ansi_c.arch=="armel" ||

src/ansi-c/compiler_headers/clang_builtins.py

+5
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,11 @@
115115
2: '__gcc_v2df',
116116
4: '__gcc_v4df',
117117
8: '__gcc_v8df'
118+
},
119+
'__bf16': {
120+
8: '__gcc_v8hf',
121+
16: '__gcc_v16hf',
122+
32: '__gcc_v32hf'
118123
}
119124
}
120125

0 commit comments

Comments
 (0)