Hi Magnus, Thanks for your review and valuable comments.
I've tested with clang and gcc on linux/x64. gcc seems to be fine. The bug can be reproduced only when clang was used. Best regards, Jie On 2020/6/11, 9:42 PM, "Magnus Ihse Bursie" <magnus.ihse.bur...@oracle.com> wrote: On 2020-06-11 14:34, Erik Joelsson wrote: > I agree with the assessment, but I think the disabling should happen > in configure. That way the configure log can accurately tell the user > why it was disabled. This can be done by just adding another elif in > BPERF_SETUP_PRECOMPILED_HEADERS. To check for a jvm feature in > configure, you can use JVM_FEATURES_IS_ACTIVE(opt-size). Actually, I'm not sure I agree with the assessment. Why does this only happen for clang? Is it a problem when building with opt-size and pch for other compilers? If not, that's likely due to the problematic files being excluded from PCH (if I remember correctly). I believe a better way forward would be to make sure that files that are compiled with a different optimization level should be excluded from PCH for clang as well. /Magnus > > /Erik > > On 2020-06-11 02:25, jiefu(傅杰) wrote: >> Hi all, >> >> JBS: https://bugs.openjdk.java.net/browse/JDK-8247396 >> Webrev: http://cr.openjdk.java.net/~jiefu/8247396/webrev.00/ >> >> -O3 is used for clang on MacOS after JDK-8246751. >> But it breaks the builds of VMs with opt-size feature when PCH is >> enabled. >> >> The reason is that the PCH was built with -Os while some other files >> were built with -O3, which causes an error with clang. >> It would be better to disable the PCH for opt-size builds. >> >> Thanks a lot. >> Best regards, >> Jie