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

Reply via email to