Integrated: 8259288: Debug build failure with clang-10 due to -Wimplicit-int-float-conversion

2021-04-21 Thread Hao Sun
On Wed, 6 Jan 2021 06:16:43 GMT, Hao Sun wrote: > Making the conversion explicit would fix it. > > Flag '-Wimplicit-int-float-conversion' is first introduced in clang-10. > Therefore clang-8 and clang-9 are not affected. The flag with similar > functionality in gcc is

Re: RFR: 8259288: Debug build failure with clang-10 due to -Wimplicit-int-float-conversion [v2]

2021-04-21 Thread Hao Sun
On Thu, 22 Apr 2021 02:04:05 GMT, David Holmes wrote: >> Hao Sun has updated the pull request incrementally with one additional >> commit since the last revision: >> >> Use static_cast >> >> To match the style in this file, use static_cast to perfo

Re: RFR: 8259288: Debug build failure with clang-10 due to -Wimplicit-int-float-conversion [v2]

2021-04-21 Thread Hao Sun
On Tue, 9 Feb 2021 05:17:06 GMT, Hao Sun wrote: >> Making the conversion explicit would fix it. >> >> Flag '-Wimplicit-int-float-conversion' is first introduced in clang-10. >> Therefore clang-8 and clang-9 are not affected. The flag with similar >> fun

Re: RFR: 8259288: Debug build failure with clang-10 due to -Wimplicit-int-float-conversion [v2]

2021-02-08 Thread Hao Sun
xflags=-Wno-deprecated-copy' should be added when > configuration. It's another issue (See JDK-8258010) Hao Sun has updated the pull request incrementally with one additional commit since the last revision: Use static_cast To match the style in this file, use static_cast to p

Re: RFR: 8259288: Debug build failure with clang-10 due to -Wimplicit-int-float-conversion

2021-01-13 Thread Hao Sun
On Wed, 6 Jan 2021 06:16:43 GMT, Hao Sun wrote: > Making the conversion explicit would fix it. > > Flag '-Wimplicit-int-float-conversion' is first introduced in clang-10. > Therefore clang-8 and clang-9 are not affected. The flag with similar > functionality in gcc is

Integrated: 8258010: Debug build failure with clang-10 due to -Wdeprecated-copy

2021-01-13 Thread Hao Sun
On Wed, 23 Dec 2020 01:45:58 GMT, Hao Sun wrote: > 1. '-Wdeprecated-copy' > As specified in C++11 [1], "the generation of the implicitly-defined > copy constructor is deprecated if T has a user-defined destructor or > user-defined copy assignment operator". Th

Re: RFR: 8258010: Debug build failure with clang-10 due to -Wdeprecated-copy [v5]

2021-01-12 Thread Hao Sun
On Mon, 11 Jan 2021 02:42:09 GMT, Kim Barrett wrote: >> Hao Sun has updated the pull request incrementally with one additional >> commit since the last revision: >> >> Define the copy assign operator of class DUIterator_Last as defaulted >> >> T

Re: RFR: 8258010: Debug build failure with clang-10 due to -Wdeprecated-copy [v4]

2021-01-11 Thread Hao Sun
On Fri, 8 Jan 2021 00:49:36 GMT, Vladimir Kozlov wrote: >> Hao Sun has updated the pull request incrementally with one additional >> commit since the last revision: >> >> Split the PR, addressing -Wdeprecated-copy only >> >> As suggested by kim

Re: RFR: 8258010: Debug build failure with clang-10 due to -Wdeprecated-copy [v5]

2021-01-10 Thread Hao Sun
ipedia.org/wiki/Copy_elision#Return_value_optimization > > > Note that we have tested with this patch, debug build succeeded with clang-10 > on Linux X86-64/AArch64 machines. > Note that '--with-extra-cxxflags=-Wno-implicit-int-float-conversion' should > be added when co

Re: RFR: 8258010: Debug build failure with clang-10 due to -Wdeprecated-copy [v4]

2021-01-08 Thread Hao Sun
On Fri, 8 Jan 2021 11:55:21 GMT, Kim Barrett wrote: > [Can't comment on this inline.] I'd prefer DUIterator_Last::operator= be > changed to =default, for consistency with the copy constructor. That would > require fixing the return type too. Thanks for your comment. Agree. Will update the code

Re: RFR: 8258010: Debug build failure with clang-10 due to -Wdeprecated-copy [v3]

2021-01-07 Thread Hao Sun
On Wed, 6 Jan 2021 04:27:44 GMT, Hao Sun wrote: > Thanks for your comments. @kimbarrett and @navyxliu > I updated the patch based on my understanding. Please check the latest commit. > > As @kimbarrett mentioned, I suppose there still exist the following problems > to be ad

Re: RFR: 8258010: Debug build failure with clang-10 due to -Wdeprecated-copy [v2]

2021-01-07 Thread Hao Sun
On Wed, 6 Jan 2021 20:05:07 GMT, Vladimir Kozlov wrote: >> I manually checked the usages of assignment operators for class DUIterator, >> DUIterator_Fast and DUIterator_Last. (Simply grep the class names in the >> source code and check the context). >> >> ~~I found there exist only a couple o

Re: RFR: 8258010: Debug build failure with clang-10 due to -Wdeprecated-copy [v2]

2021-01-06 Thread Hao Sun
On Wed, 6 Jan 2021 04:34:36 GMT, Hao Sun wrote: >> Thanks for your explanation. Yes, you're right. I didn't realize the >> re-assignment scenario. > > @vnkozlov I was wondering if you could take a look at this? We're not sure > whether 'operator=&#x

RFR: 8259288: Debug build failure with clang-10 due to -Wimplicit-int-float-conversion

2021-01-05 Thread Hao Sun
Making the conversion explicit would fix it. Flag '-Wimplicit-int-float-conversion' is first introduced in clang-10. Therefore clang-8 and clang-9 are not affected. The flag with similar functionality in gcc is '-Wfloat-conversion', but it is not enabled by '-Wall' or '-Wextra'. That's why this wa

Re: RFR: 8258010: Debug build failure with clang-10 due to -Wdeprecated-copy [v4]

2021-01-05 Thread Hao Sun
ipedia.org/wiki/Copy_elision#Return_value_optimization > > > Note that we have tested with this patch, debug build succeeded with clang-10 > on Linux X86-64/AArch64 machines. > Note that '--with-extra-cxxflags=-Wno-implicit-int-float-conversion' should > be added when conf

Re: RFR: 8258010: Debug build failure with clang-10 due to -Wdeprecated-copy [v2]

2021-01-05 Thread Hao Sun
On Mon, 4 Jan 2021 10:15:27 GMT, Hao Sun wrote: >> That's true on the first assignment of `t2`. But what if `t2` is reassigned >> to some other iterator. That assignment sees `_vdui` true, and keeps the old >> value of `_last` rather than updating the value from that oth

Re: RFR: 8258010: Debug build failure with clang-10 due to -Wdeprecated-copy [v3]

2021-01-05 Thread Hao Sun
On Wed, 6 Jan 2021 03:14:48 GMT, Hao Sun wrote: >> node.hpp changes seems fine. >> Passed tier1 builds and testing. > >> > I think the two issues described here are distinct and should be dealt >> > with in separate bugs and PRs. Their only relation is that bo

Re: RFR: 8258010: Debug build failure with clang-10 due to -Wdeprecated-copy [v3]

2021-01-05 Thread Hao Sun
On Tue, 5 Jan 2021 18:35:07 GMT, Vladimir Kozlov wrote: >> Hao Sun has updated the pull request incrementally with one additional >> commit since the last revision: >> >> Update the copy constructors for class DUIterator, DUIterator_Fast and >> DUIterator_Last

Integrated: 8258857: Zero: non-PCH release build fails after JDK-8258074

2021-01-05 Thread Hao Sun
On Fri, 25 Dec 2020 10:11:13 GMT, Hao Sun wrote: > From the error log we can see the root cause is that, develop_pd flag > 'pd_CICompileOSR' is undeclared in zero build. > > Where this flag is used? > Flag 'pd_CICompileOSR' is assigned to fl

Re: RFR: 8258857: Zero: non-PCH release build fails after JDK-8258074 [v2]

2021-01-05 Thread Hao Sun
On Tue, 5 Jan 2021 12:03:05 GMT, Jie Fu wrote: >> Hao Sun has updated the pull request incrementally with one additional >> commit since the last revision: >> >> Header 'runtime/globals_shared.hpp' should be kept >> >> Header &#

Re: RFR: 8258857: Zero: non-PCH release build fails after JDK-8258074 [v2]

2021-01-05 Thread Hao Sun
On Tue, 5 Jan 2021 00:12:58 GMT, Ioi Lam wrote: >>> `#include "runtime/globals_shared.hpp"` should not be removed. >>> compiler_globals.hpp uses the `DECLARE_FLAGS` macro, which is defined by >>> globals_shared.hpp. >> >> Since globals_shared.hpp is included in compiler_globals_pd.hpp, I think

Re: RFR: 8258857: Zero: non-PCH release build fails after JDK-8258074 [v2]

2021-01-05 Thread Hao Sun
lobals_pd.hpp' already includes > 'runtime/globals_shared.hpp'. > > Note that zero build with PCH succeeds because 'runtime/globals.hpp' is > included in 'precompiled.hpp', and further 'compiler_globals_pd.hpp' is > included in 'run

Re: RFR: 8258857: Zero: non-PCH release build fails after JDK-8258074

2021-01-04 Thread Hao Sun
On Mon, 4 Jan 2021 17:19:48 GMT, Ioi Lam wrote: >> From the error log we can see the root cause is that, develop_pd flag >> 'pd_CICompileOSR' is undeclared in zero build. >> >> Where this flag is used? >> Flag 'pd_CICompileOSR' is assigned to flag 'CICompileOSR'. See line 77 >> of 'compiler_glob

Re: RFR: 8258010: Debug build failure with clang-10 due to -Wdeprecated-copy and -Wimplicit-int-float-conversion [v2]

2021-01-04 Thread Hao Sun
On Mon, 4 Jan 2021 19:33:45 GMT, Xin Liu wrote: >>> _Mailing list message from [Kim Barrett](mailto:kim.barr...@oracle.com) on >>> [build-dev](mailto:build-dev@openjdk.java.net):_ >>> >>> > On Dec 29, 2020, at 10:33 PM, Hao Sun >> > openjdk.jav

Re: RFR: 8258010: Debug build failure with clang-10 due to -Wdeprecated-copy and -Wimplicit-int-float-conversion [v3]

2021-01-04 Thread Hao Sun
py_constructor > [2] https://en.cppreference.com/w/cpp/language/rule_of_three > [3] https://www.gnu.org/software/gcc/gcc-9/changes.html > [4] https://releases.llvm.org/10.0.0/tools/clang/docs/ReleaseNotes.html > [5] https://godbolt.org/z/err4jM > [6] https://en.wikipedia.org/wiki/Copy_elision#Retu

Re: RFR: 8258010: Debug build failure with clang-10 due to -Wdeprecated-copy and -Wimplicit-int-float-conversion [v2]

2021-01-04 Thread Hao Sun
On Mon, 4 Jan 2021 09:41:01 GMT, Kim Barrett wrote: >> I suppose the constructor would be invoked before the copy assignment >> operator. That is `_vdui` gets initialized already in the ctor >> `DUIterator_Fast()` for `operator=` case. Right? >> Take the following code snippet as an example. >>

Re: RFR: 8258010: Debug build failure with clang-10 due to -Wdeprecated-copy and -Wimplicit-int-float-conversion [v2]

2021-01-03 Thread Hao Sun
On Mon, 4 Jan 2021 06:22:46 GMT, Kim Barrett wrote: >> Hao Sun has updated the pull request incrementally with one additional >> commit since the last revision: >> >> Remove the unused assignment operator for DUIterator_Last >> >> Instead of add

Re: RFR: 8258010: Debug build failure with clang-10 due to -Wdeprecated-copy and -Wimplicit-int-float-conversion [v2]

2021-01-03 Thread Hao Sun
On Mon, 4 Jan 2021 01:18:47 GMT, Hao Sun wrote: >>> _Mailing list message from [Kim Barrett](mailto:kim.barr...@oracle.com) on >>> [build-dev](mailto:build-dev@openjdk.java.net):_ >>> >>> > On Dec 22, 2020, at 8:52 PM, Hao Sun >> > open

Re: RFR: 8258010: Debug build failure with clang-10 due to -Wdeprecated-copy and -Wimplicit-int-float-conversion [v2]

2021-01-03 Thread Hao Sun
On Wed, 30 Dec 2020 03:31:38 GMT, Hao Sun wrote: >> LGTM. It still needs other's approval. > >> _Mailing list message from [Kim Barrett](mailto:kim.barr...@oracle.com) on >> [build-dev](mailto:build-dev@openjdk.java.net):_ >> >> > On Dec 22, 2020,

Re: RFR: 8258010: Debug build failure with clang-10 due to -Wdeprecated-copy and -Wimplicit-int-float-conversion [v2]

2020-12-29 Thread Hao Sun
On Mon, 28 Dec 2020 19:23:34 GMT, Xin Liu wrote: >> Hao Sun has updated the pull request incrementally with one additional >> commit since the last revision: >> >> Remove the unused assignment operator for DUIterator_Last >> >> Instead of add

Re: RFR: 8258010: Debug build failure with clang-10 due to -Wdeprecated-copy and -Wimplicit-int-float-conversion [v2]

2020-12-28 Thread Hao Sun
py_constructor > [2] https://en.cppreference.com/w/cpp/language/rule_of_three > [3] https://www.gnu.org/software/gcc/gcc-9/changes.html > [4] https://releases.llvm.org/10.0.0/tools/clang/docs/ReleaseNotes.html > [5] https://godbolt.org/z/err4jM > [6] https://en.wikipedia.org/wiki/Copy_elision#Retu

Re: RFR: 8258857: Zero: non-PCH build fails after JDK-8258074

2020-12-25 Thread Hao Sun
On Fri, 25 Dec 2020 11:44:11 GMT, Jie Fu wrote: > Maybe, the title would be better with 'Zero: non-PCH release build fails > after JDK-8258074'. Hi Jie, thanks for your comment. Yes. Agree. It's much more accurate to describe this issue with 'release' added. Will rename it next Monday as I need

RFR: 8258857: Zero: non-PCH build fails after JDK-8258074

2020-12-25 Thread Hao Sun
>From the error log we can see the root cause is that, develop_pd flag 'pd_CICompileOSR' is undeclared in zero build. Where this flag is used? Flag 'pd_CICompileOSR' is assigned to flag 'CICompileOSR'. See line 77 of 'compiler_globals.hpp' and further line 86 of 'globals_shared.hpp'. Where this f

Re: RFR: 8258010: Debug build failure with clang-10 due to -Wdeprecated-copy and -Wimplicit-int-float-conversion

2020-12-24 Thread Hao Sun
On Thu, 24 Dec 2020 13:27:33 GMT, Kim Barrett wrote: > I think the two issues described here are distinct and should be dealt > with in separate bugs and PRs. Their only relation is that both arise > with using clang-10. But they are very different problems, in very > different parts of the code,

Re: RFR: 8258010: Debug build failure with clang-10 due to -Wdeprecated-copy and -Wimplicit-int-float-conversion

2020-12-24 Thread Hao Sun
On Thu, 24 Dec 2020 20:42:01 GMT, Xin Liu wrote: >> src/hotspot/share/opto/node.hpp line 1458: >> >>> 1456: // initialize to garbage >>> 1457: >>> 1458: DUIterator_Last (const DUIterator_Last& that) : >>> DUIterator_Fast(that) {} >> >> Since DUIterator_Last is just delegating both the cop

Re: RFR: 8258856: VM build without C1/C2 fails after JDK-8243205 [v3]

2020-12-23 Thread Hao Sun
On Thu, 24 Dec 2020 06:16:50 GMT, David Holmes wrote: > Just an observation but it seems to me that if we are not including C1 or C2 > in a build (ie interpreter-only) then really the build system should not be > building the source files that had to be fixed. > > David Hi David, I guess "no

Integrated: 8258856: VM build without C1/C2 fails after JDK-8243205

2020-12-23 Thread Hao Sun
On Wed, 23 Dec 2020 05:48:10 GMT, Hao Sun wrote: > The declaration sites for JVM flags were changed by JDK-8243205 and the > subsequent JDK-8258074. As a result, undeclared identifier errors > occurred while building VM without compiler1 or compiler2 feature. > > Making th

Re: RFR: 8258856: VM build without C1/C2 fails after JDK-8243205 [v3]

2020-12-23 Thread Hao Sun
t; > Note that we have tested locally with this patch, build without C1/C2 > succeeded on Linux X86/AArch64 machines. Hao Sun has updated the pull request incrementally with one additional commit since the last revision: Use JVMCI compilation condition for oopMap.cpp Check t

Re: RFR: 8258856: VM build without C1/C2 fails after JDK-8243205 [v2]

2020-12-23 Thread Hao Sun
On Wed, 23 Dec 2020 09:33:55 GMT, Jie Fu wrote: >> Hao Sun has updated the pull request incrementally with one additional >> commit since the last revision: >> >> Use JVMCI compilation condition and remove redundant header >> >> Check the compil

Re: RFR: 8258856: VM build without C1/C2 fails after JDK-8243205 [v2]

2020-12-23 Thread Hao Sun
t; > Note that we have tested locally with this patch, build without C1/C2 > succeeded on Linux X86/AArch64 machines. Hao Sun has updated the pull request incrementally with one additional commit since the last revision: Use JVMCI compilation condition and remove redundant header

Re: RFR: 8258856: VM build without C1/C2 fails after JDK-8243205

2020-12-22 Thread Hao Sun
On Wed, 23 Dec 2020 06:31:08 GMT, Jie Fu wrote: >> The declaration sites for JVM flags were changed by JDK-8243205 and the >> subsequent JDK-8258074. As a result, undeclared identifier errors >> occurred while building VM without compiler1 or compiler2 feature. >> >> Making the corresponding hea

Re: RFR: 8258856: VM build without C1/C2 fails after JDK-8243205

2020-12-22 Thread Hao Sun
On Wed, 23 Dec 2020 06:29:45 GMT, Jie Fu wrote: >> The declaration sites for JVM flags were changed by JDK-8243205 and the >> subsequent JDK-8258074. As a result, undeclared identifier errors >> occurred while building VM without compiler1 or compiler2 feature. >> >> Making the corresponding hea

RFR: 8258856: VM build without C1/C2 fails after JDK-8243205

2020-12-22 Thread Hao Sun
The declaration sites for JVM flags were changed by JDK-8243205 and the subsequent JDK-8258074. As a result, undeclared identifier errors occurred while building VM without compiler1 or compiler2 feature. Making the corresponding header files included would fix it. Note that we have tested locall

RFR: 8258010: Debug build failure with clang-10 due to -Wdeprecated-copy and -Wimplicit-int-float-conversion

2020-12-22 Thread Hao Sun
1. '-Wdeprecated-copy' As specified in C++11 [1], "the generation of the implicitly-defined copy constructor is deprecated if T has a user-defined destructor or user-defined copy assignment operator". The rationale behind is the well-known Rule of Three [2]. Introduced since gcc-9 [3] and clang-10

Integrated: 8257928: Test image build failure with clang-10 due to -Wmisleading-indentation

2020-12-22 Thread Hao Sun
On Wed, 9 Dec 2020 07:11:53 GMT, Hao Sun wrote: > Flag '-Wmisleading-indentation' was introduced since clang-10 [1] and > gcc-6 [2]. Putting the code with proper indentations would suppress this > warning. > > The main reason why test image build with gcc succeeds