@@ -11,15 +11,23 @@ Author: Daniel Kroening, kroening@kroening.com
1111#include < util/c_types.h>
1212#include < util/config.h>
1313
14+ #include < goto-programs/adjust_float_expressions.h>
15+
1416#include < linking/static_lifetime_init.h>
1517
16- #include < goto-programs/adjust_float_expressions.h >
18+ #include " ansi_c_parser.h "
1719
1820const char gcc_builtin_headers_types[] =
1921 " #line 1 \" gcc_builtin_headers_types.h\"\n "
2022#include " compiler_headers/gcc_builtin_headers_types.inc" // IWYU pragma: keep
2123 ; // NOLINT(whitespace/semicolon)
2224
25+ const char gcc_builtin_headers_types_gcc7plus[] =
26+ " #line 1 \" gcc_builtin_headers_types_gcc7plus.h\"\n "
27+ // NOLINTNEXTLINE(whitespace/line_length)
28+ #include " compiler_headers/gcc_builtin_headers_types_gcc7plus.inc" // IWYU pragma: keep
29+ ; // NOLINT(whitespace/semicolon)
30+
2331const char gcc_builtin_headers_generic[] =
2432 " #line 1 \" gcc_builtin_headers_generic.h\"\n "
2533#include " compiler_headers/gcc_builtin_headers_generic.inc" // IWYU pragma: keep
@@ -65,6 +73,9 @@ const char gcc_builtin_headers_ia32_4[] =
6573const char gcc_builtin_headers_ia32_5[] =
6674#include " compiler_headers/gcc_builtin_headers_ia32-5.inc" // IWYU pragma: keep
6775 ; // NOLINT(whitespace/semicolon)
76+ const char gcc_builtin_headers_ia32_6[] =
77+ #include " compiler_headers/gcc_builtin_headers_ia32-6.inc" // IWYU pragma: keep
78+ ; // NOLINT(whitespace/semicolon)
6879
6980const char gcc_builtin_headers_alpha[] =
7081 " #line 1 \" gcc_builtin_headers_alpha.h\"\n "
@@ -229,6 +240,10 @@ void ansi_c_internal_additions(std::string &code)
229240 config.ansi_c .mode == configt::ansi_ct::flavourt::ARM)
230241 {
231242 code+=gcc_builtin_headers_types;
243+ // check the parser and not config.ansi_c.ts_18661_3_Floatn_types to adjust
244+ // behaviour depending on C or C++ context
245+ if (ansi_c_parser.ts_18661_3_Floatn_types )
246+ code += gcc_builtin_headers_types_gcc7plus;
232247
233248 // there are many more, e.g., look at
234249 // https://developer.apple.com/library/mac/#documentation/developertools/gcc-4.0.1/gcc/Target-Builtins.html
0 commit comments