On Mon, 3 Jul 2023 20:17:23 GMT, Alexey Ivanov <aiva...@openjdk.org> wrote:
>> Please review this patch that configures C++ arguments on build jobs that >> involve compiling CPP files. As a result of this change, CPP files are >> compiled with `-std:c++14` command line argument instead of `-std:c11`, >> which is used when C++ arguments are not configured. >> While at it, I simplified the `java.security.jgss/Lib.gmk` file by moving >> the additional include directory to `EXTRA_HEADER_DIRS`. >> >> This patch fixes the following clang warning: >> >> warning: argument unused during compilation: '-std:c11' >> >> >> Microsoft states that [std:c++14 is the >> default](https://learn.microsoft.com/en-us/cpp/build/reference/std-specify-language-standard-version?view=msvc-170), >> so there shouldn't be any differences in produced code. >> >> Testing: >> - verified that after the changes, all CPP files are compiled with >> `std:c++14` instead of `-std:c11` >> - spot-checked a few `cmdline` files that changed after this patch was >> applied; the `-std` change was the only difference >> - tier1-5 builds, tier1-2 tests and client libs tests continue to pass on >> Windows, Linux & MacOS. > > make/modules/java.desktop/lib/Awt2dLibraries.gmk line 135: > >> 133: OPTIMIZATION := HIGHEST, \ >> 134: CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_CFLAGS), \ >> 135: CXXFLAGS := $(CXXFLAGS_JDKLIB) $(LIBAWT_CFLAGS), \ > > `LIBAWT_CFLAGS` applies to both C and C++, right? It contains some common > flags; it follows the pattern with other libs below. That's correct. `LIBAWT_CFLAGS` contains a bunch of `-D` flags, which are common for C and C++, and `-EHsc` flag, which is probably C++ only, but the compiler doesn't complain. `jabswitch` below is using some C++-specific flags, but it only compiles one C++ file and no C files. I suppose we could simplify that makefile at some point. All other flags are common between C and C++. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/14758#discussion_r1251480885