Skip to content

Commit 77b4d4d

Browse files
authored
Merge pull request #8321 from tautschnig/update-compiler-headers
Expand list of known compiler built-ins
2 parents 780b687 + 8f85cb3 commit 77b4d4d

10 files changed

+2136
-0
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
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

Lines changed: 6 additions & 0 deletions
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

Lines changed: 3 additions & 0 deletions
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

Lines changed: 9 additions & 0 deletions
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

Lines changed: 3 additions & 0 deletions
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

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,15 @@ bool builtin_factory(
186186

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

src/ansi-c/compiler_headers/clang_builtins.py

Lines changed: 5 additions & 0 deletions
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)