Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JIT build failure with clang 10 #104442

Closed
hez2010 opened this issue Jul 4, 2024 · 4 comments · Fixed by #104450
Closed

JIT build failure with clang 10 #104442

hez2010 opened this issue Jul 4, 2024 · 4 comments · Fixed by #104450

Comments

@hez2010
Copy link
Contributor

hez2010 commented Jul 4, 2024

This prevents godbolt from building nightly dotnet images.
The build has failed since June 16.

See https://github.com/compiler-explorer/compiler-workflows/actions/workflows/build-daily-dotnet.yml

    FAILED: jit/static/CMakeFiles/clrjit_static.dir/cmake_pch.hxx.pch 
    /usr/bin/clang++-10 -DDEBUGGING_SUPPORTED -DDISABLE_CONTRACTS -DFEATURE_BASICFREEZE -DFEATURE_CODE_VERSIONING -DFEATURE_COLLECTIBLE_TYPES -DFEATURE_COMWRAPPERS -DFEATURE_CORECLR -DFEATURE_DBGIPC_TRANSPORT_DI -DFEATURE_DBGIPC_TRANSPORT_VM -DFEATURE_DEFAULT_INTERFACES -DFEATURE_EH_FUNCLETS -DFEATURE_EVENTSOURCE_XPLAT -DFEATURE_EVENT_TRACE -DFEATURE_HIJACK -DFEATURE_HW_INTRINSICS -DFEATURE_ICASTABLE -DFEATURE_INSTANTIATINGSTUB_AS_IL -DFEATURE_MANUALLY_MANAGED_CARD_BUNDLES -DFEATURE_MASKED_HW_INTRINSICS -DFEATURE_METADATA_UPDATER -DFEATURE_MULTICOREJIT -DFEATURE_MULTIREG_RETURN -DFEATURE_ON_STACK_REPLACEMENT -DFEATURE_PAL_ANSI -DFEATURE_PERFMAP -DFEATURE_PERFTRACING -DFEATURE_PGO -DFEATURE_PORTABLE_SHUFFLE_THUNKS -DFEATURE_PROFAPI_ATTACH_DETACH -DFEATURE_READYTORUN -DFEATURE_REJIT -DFEATURE_REMAP_FUNCTION -DFEATURE_REMOTE_PROC_MEM -DFEATURE_SIMD -DFEATURE_STANDALONE_GC -DFEATURE_STUBS_AS_IL -DFEATURE_SVR_GC -DFEATURE_SYMDIFF -DFEATURE_TIERED_COMPILATION -DFEATURE_USE_ASM_GC_WRITE_BARRIERS -DFEATURE_USE_SOFTWARE_WRITE_WATCH_FOR_GC_HEAP -DHOST_64BIT -DHOST_AMD64 -DHOST_UNIX -DJIT_BUILD -DNDEBUG -DPROFILING_SUPPORTED -DTARGET_64BIT -DTARGET_AMD64 -DTARGET_LINUX -DTARGET_UNIX -DUNICODE -DUNIX_AMD64_ABI -DUNIX_AMD64_ABI_ITF -DURTBLDENV_FRIENDLY=Retail -D_FILE_OFFSET_BITS=64 -D_SECURE_SCL=0 -D_TIME_BITS=64 -D_UNICODE -I/root/dotnet/runtime/artifacts/obj/coreclr/linux.x64.Release/jit/static -I/root/dotnet/runtime/src/coreclr/jit/static -I/root/dotnet/runtime/src/native -I/root/dotnet/runtime/src/native/inc -I/root/dotnet/runtime/src/coreclr/pal/prebuilt/inc -I/root/dotnet/runtime/artifacts/obj -I/root/dotnet/runtime/src/coreclr/pal/inc -I/root/dotnet/runtime/src/coreclr/pal/inc/rt -I/root/dotnet/runtime/src/coreclr/pal/src/safecrt -I/root/dotnet/runtime/src/coreclr/inc -I/root/dotnet/runtime/src/coreclr/debug/inc -I/root/dotnet/runtime/src/coreclr/debug/inc/amd64 -I/root/dotnet/runtime/src/coreclr/debug/inc/dump -I/root/dotnet/runtime/src/coreclr/md/inc -I/root/dotnet/runtime/src/coreclr/classlibnative/bcltype -I/root/dotnet/runtime/src/coreclr/classlibnative/inc -I/root/dotnet/runtime/artifacts/obj/coreclr/linux.x64.Release/inc -I/root/dotnet/runtime/src/coreclr/hosts/inc -I/root/dotnet/runtime/src/coreclr/minipal -I/root/dotnet/runtime/src/coreclr/nativeresources -I/root/dotnet/runtime/src/coreclr/jit/./jitstd -I/root/dotnet/runtime/src/coreclr/jit/../inc -I/root/dotnet/runtime/src/coreclr/jit -O3 -DNDEBUG -std=gnu++11 -fPIC -O3 -Wall -Wno-null-conversion -glldb -fno-omit-frame-pointer -fwrapv -fstack-protector-strong -Werror -Wno-unused-variable -Wno-unused-value -Wno-unused-function -Wno-tautological-compare -Wno-unknown-pragmas -Wimplicit-fallthrough -Wvla -Wno-invalid-offsetof -Wno-unused-but-set-variable -ffp-contract=off -fno-rtti -Wno-unknown-warning-option -ferror-limit=4096 -Wno-unused-private-field -Wno-constant-logical-operand -Wno-pragma-pack -Wno-incompatible-ms-struct -Wno-reserved-identifier -Wno-unsafe-buffer-usage -Wno-single-bit-bitfield-constant-conversion -Wno-cast-function-type-strict -Wno-switch-default -fsigned-char -fvisibility=hidden -ffunction-sections -Wno-null-arithmetic -Wno-sync-alignment -Winvalid-pch -Xclang -emit-pch -Xclang -include -Xclang /root/dotnet/runtime/artifacts/obj/coreclr/linux.x64.Release/jit/static/CMakeFiles/clrjit_static.dir/cmake_pch.hxx -x c++-header -MD -MT jit/static/CMakeFiles/clrjit_static.dir/cmake_pch.hxx.pch -MF jit/static/CMakeFiles/clrjit_static.dir/cmake_pch.hxx.pch.d -o jit/static/CMakeFiles/clrjit_static.dir/cmake_pch.hxx.pch -c /root/dotnet/runtime/artifacts/obj/coreclr/linux.x64.Release/jit/static/CMakeFiles/clrjit_static.dir/cmake_pch.hxx.cxx
    In file included from <built-in>:1:
    In file included from /root/dotnet/runtime/artifacts/obj/coreclr/linux.x64.Release/jit/static/CMakeFiles/clrjit_static.dir/cmake_pch.hxx:5:
    In file included from /root/dotnet/runtime/src/coreclr/jit/jitpch.h:44:
    In file included from /root/dotnet/runtime/src/coreclr/jit/compiler.h:29:
    /root/dotnet/runtime/src/coreclr/jit/gentree.h:4660:10: error: reference to scoped enumeration must use 'enum' not 'enum class'
        enum class WellKnownArg WellKnownArg = ::WellKnownArg::None;
             ^
    1 error generated.

/cc: @EgorBo

@dotnet-policy-service dotnet-policy-service bot added the untriaged New issue has not been triaged by the area owner label Jul 4, 2024
Copy link
Contributor

Tagging subscribers to this area: @hoyosjs
See info in area-owners.md if you want to be subscribed.

@hez2010 hez2010 changed the title coreclr build failure with clang 10 JIT build failure with clang 10 Jul 4, 2024
@EgorBo
Copy link
Member

EgorBo commented Jul 4, 2024

@jakobbotsch does this ring a bell to you?

@jakobbotsch
Copy link
Member

@EgorBo No. Looks like the enum class prefix was introduced in #102834. The forward declaration does not make sense to me given that the line is using an enum member anyway.

@am11 can you please take a look?

@jakobbotsch
Copy link
Member

jakobbotsch commented Jul 4, 2024

Looks like this is an elaborated type specifier (you learn something every day) and for scoped enums they must be specified as enum <name>, not enum class <name>. I can submit the fix.

jakobbotsch added a commit to jakobbotsch/runtime that referenced this issue Jul 4, 2024
It appears even scoped enums should just get the `enum` keyword in these
cases.

Fix dotnet#104442
@dotnet-policy-service dotnet-policy-service bot removed the untriaged New issue has not been triaged by the area owner label Jul 5, 2024
@github-actions github-actions bot locked and limited conversation to collaborators Aug 4, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants