After JDK-8314488 (using C++17) we get build failures on linux when using clang as the compiler. For example:
{@code}
/usr/include/stdio.h:352:12: error: exception specification in declaration does not match previous declaration
352 | extern int sprintf (char *__restrict __s,
| ^
/home/kab/gitsb/forbid-sprintf-warning/jdk/open/src/hotspot/share/utilities/forbiddenFunctions.hpp:61:23: note: previous declaration is here
61 | FORBID_C_FUNCTION(int sprintf(char*, const char*, ...), "use os::snprintf");
| ^
{@code}
{@code}
/usr/include/stdio.h:352:12: error: exception specification in declaration does not match previous declaration
352 | extern int sprintf (char *__restrict __s,
| ^
/home/kab/gitsb/forbid-sprintf-warning/jdk/open/src/hotspot/share/utilities/forbiddenFunctions.hpp:61:23: note: previous declaration is here
61 | FORBID_C_FUNCTION(int sprintf(char*, const char*, ...), "use os::snprintf");
| ^
{@code}
- caused by
-
JDK-8314488 Compiling the JDK with C++17
-
- Resolved
-
- duplicates
-
JDK-8367044 Clang release build fails after JDK-8314488
-
- Closed
-
-
JDK-8367100 Compilation error: forbidden functions do not match previous declaration
-
- Closed
-
-
JDK-8314488 Compiling the JDK with C++17
-
- Resolved
-
- relates to
-
JDK-8367282 FORBID_C_FUNCTION needs exception spec consistent with library declaration
-
- Resolved
-
- links to
-
Commit(master) openjdk/jdk/b653ae92
-
Review(master) openjdk/jdk/27154
(2 links to)