Skip to content
New issue

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

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

Already on GitHub? # to your account

Some problem with identifiers with recent libclang 16 #1182

Closed
adetaylor opened this issue Nov 2, 2022 · 1 comment · Fixed by #1183
Closed

Some problem with identifiers with recent libclang 16 #1182

adetaylor opened this issue Nov 2, 2022 · 1 comment · Fixed by #1183
Labels
bug Something isn't working

Comments

@adetaylor
Copy link
Collaborator

Error reported during Chromium build:

[1/18] python3 ../../third_party/rust/autocxx/chromium_integration/run_autocxx_gen.py --exe /usr/local/google/home/adetaylor/chromium/src/out/Release/autocxx_gen --outdir gen/third_party/rust/autocxx/chromium_integration/tests/autocxx_basic_test/src/lib.rs --cxx-h-path third_party/rust/cxx/v1/crate/include/ --ld-library-path /usr/local/google/home/adetaylor/chromium/src/third_party/llvm-build/Release+Asserts/lib --output-prefix lib --header gen/third_party/rust/autocxx/chromium_integration/tests/autocxx_basic_test/src/lib.rs.h --source ../../third_party/rust/autocxx/chromium_integration/tests/autocxx_basic_test/src/lib.rs --cxx-impl-annotations __attribute__\(\(visibility\(\"default\"\)\)\) -- -DDCHECK_ALWAYS_ON=1 -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_OZONE=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DRUST_ENABLED -D_GNU_SOURCE -DCR_CLANG_REVISION=\"llvmorg-16-init-8697-g60809cd2-1\" -DCOMPONENT_BUILD -DCR_LIBCXX_REVISION=fc6bbc5eb039769b5ed2de84444a3c6f9b45a598 -D_LIBCPP_ENABLE_ASSERTIONS_DEFAULT=1 -D_LIBCPP_AVAILABILITY_CUSTOM_VERBOSE_ABORT_PROVIDED=1 -DCR_SYSROOT_KEY=20220331T153654Z-0 -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_40 -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_40 -DABSL_CONSUME_DLL -DBORINGSSL_SHARED_LIBRARY -I../.. -Igen -I../../buildtools/third_party/libc++ -I../../third_party/perfetto/include -Igen/third_party/perfetto/build_config -Igen/third_party/perfetto -I../../third_party/abseil-cpp -I../../third_party/boringssl/src/include -I../../third_party/protobuf/src -Igen/protoc_out -Wall -Werror -Wextra -Wimplicit-fallthrough -Wextra-semi -Wunreachable-code-aggressive -Wthread-safety -Wno-missing-field-initializers -Wno-unused-parameter -Wno-psabi -Wloop-analysis -Wno-unneeded-internal-declaration -Wenum-compare-conditional -Wno-ignored-pragma-optimize -Wno-deprecated-builtins -Wno-bitfield-constant-conversion -Wshadow -fno-delete-null-pointer-checks -fno-ident -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -funwind-tables -fPIC -pthread -fcolor-diagnostics -fmerge-all-constants -fcrash-diagnostics-dir=../../tools/clang/crashreports -mllvm -instcombine-lower-dbg-declare=0 -ffp-contract=off -fcomplete-member-pointers -m64 -msse3 -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -ffile-compilation-dir=. -no-canonical-prefixes -ftrivial-auto-var-init=pattern -O0 -fno-omit-frame-pointer -gdwarf-4 -g2 -gdwarf-aranges -gsplit-dwarf -ggnu-pubnames -Xclang -fuse-ctor-homing -fvisibility=hidden -Xclang -add-plugin -Xclang find-bad-constructs -Xclang -plugin-arg-find-bad-constructs -Xclang raw-ref-template-as-trivial-member -Xclang -plugin-arg-find-bad-constructs -Xclang check-ipc -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -isystem../../build/linux/debian_bullseye_amd64-sysroot/usr/include/glib-2.0 -isystem../../build/linux/debian_bullseye_amd64-sysroot/usr/lib/x86_64-linux-gnu/glib-2.0/include -DPROTOBUF_ALLOW_DEPRECATED=1 -Wno-undefined-bool-conversion -Wno-tautological-undefined-compare -std=c++20 -Wno-trigraphs -fno-exceptions -fno-rtti -nostdinc++ -isystem../../buildtools/third_party/libc++/trunk/include -isystem../../buildtools/third_party/libc++abi/trunk/include --sysroot=../../build/linux/debian_bullseye_amd64-sysroot -fvisibility-inlines-hidden -isystem../../third_party/llvm-build/Release+Asserts/lib/clang/16.0.0/include -fparse-all-comments -fvisibility=default -fno-visibility-inlines-hidden
FAILED: gen/third_party/rust/autocxx/chromium_integration/tests/autocxx_basic_test/src/lib.rs/lib_gen0.cc gen/third_party/rust/autocxx/chromium_integration/tests/autocxx_basic_test/src/lib.rs/gen0.include.rs gen/third_party/rust/autocxx/chromium_integration/tests/autocxx_basic_test/src/lib.rs/lib_gen1.cc gen/third_party/rust/autocxx/chromium_integration/tests/autocxx_basic_test/src/lib.rs/gen0.h gen/third_party/rust/autocxx/chromium_integration/tests/autocxx_basic_test/src/lib.rs.h 
python3 ../../third_party/rust/autocxx/chromium_integration/run_autocxx_gen.py --exe /usr/local/google/home/adetaylor/chromium/src/out/Release/autocxx_gen --outdir gen/third_party/rust/autocxx/chromium_integration/tests/autocxx_basic_test/src/lib.rs --cxx-h-path third_party/rust/cxx/v1/crate/include/ --ld-library-path /usr/local/google/home/adetaylor/chromium/src/third_party/llvm-build/Release+Asserts/lib --output-prefix lib --header gen/third_party/rust/autocxx/chromium_integration/tests/autocxx_basic_test/src/lib.rs.h --source ../../third_party/rust/autocxx/chromium_integration/tests/autocxx_basic_test/src/lib.rs --cxx-impl-annotations __attribute__\(\(visibility\(\"default\"\)\)\) -- -DDCHECK_ALWAYS_ON=1 -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_OZONE=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DRUST_ENABLED -D_GNU_SOURCE -DCR_CLANG_REVISION=\"llvmorg-16-init-8697-g60809cd2-1\" -DCOMPONENT_BUILD -DCR_LIBCXX_REVISION=fc6bbc5eb039769b5ed2de84444a3c6f9b45a598 -D_LIBCPP_ENABLE_ASSERTIONS_DEFAULT=1 -D_LIBCPP_AVAILABILITY_CUSTOM_VERBOSE_ABORT_PROVIDED=1 -DCR_SYSROOT_KEY=20220331T153654Z-0 -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_40 -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_40 -DABSL_CONSUME_DLL -DBORINGSSL_SHARED_LIBRARY -I../.. -Igen -I../../buildtools/third_party/libc++ -I../../third_party/perfetto/include -Igen/third_party/perfetto/build_config -Igen/third_party/perfetto -I../../third_party/abseil-cpp -I../../third_party/boringssl/src/include -I../../third_party/protobuf/src -Igen/protoc_out -Wall -Werror -Wextra -Wimplicit-fallthrough -Wextra-semi -Wunreachable-code-aggressive -Wthread-safety -Wno-missing-field-initializers -Wno-unused-parameter -Wno-psabi -Wloop-analysis -Wno-unneeded-internal-declaration -Wenum-compare-conditional -Wno-ignored-pragma-optimize -Wno-deprecated-builtins -Wno-bitfield-constant-conversion -Wshadow -fno-delete-null-pointer-checks -fno-ident -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -funwind-tables -fPIC -pthread -fcolor-diagnostics -fmerge-all-constants -fcrash-diagnostics-dir=../../tools/clang/crashreports -mllvm -instcombine-lower-dbg-declare=0 -ffp-contract=off -fcomplete-member-pointers -m64 -msse3 -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -ffile-compilation-dir=. -no-canonical-prefixes -ftrivial-auto-var-init=pattern -O0 -fno-omit-frame-pointer -gdwarf-4 -g2 -gdwarf-aranges -gsplit-dwarf -ggnu-pubnames -Xclang -fuse-ctor-homing -fvisibility=hidden -Xclang -add-plugin -Xclang find-bad-constructs -Xclang -plugin-arg-find-bad-constructs -Xclang raw-ref-template-as-trivial-member -Xclang -plugin-arg-find-bad-constructs -Xclang check-ipc -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -isystem../../build/linux/debian_bullseye_amd64-sysroot/usr/include/glib-2.0 -isystem../../build/linux/debian_bullseye_amd64-sysroot/usr/lib/x86_64-linux-gnu/glib-2.0/include -DPROTOBUF_ALLOW_DEPRECATED=1 -Wno-undefined-bool-conversion -Wno-tautological-undefined-compare -std=c++20 -Wno-trigraphs -fno-exceptions -fno-rtti -nostdinc++ -isystem../../buildtools/third_party/libc++/trunk/include -isystem../../buildtools/third_party/libc++abi/trunk/include --sysroot=../../build/linux/debian_bullseye_amd64-sysroot -fvisibility-inlines-hidden -isystem../../third_party/llvm-build/Release+Asserts/lib/clang/16.0.0/include -fparse-all-comments -fvisibility=default -fno-visibility-inlines-hidden
thread 'main' panicked at '"basic_string_(unnamed_enum_at___/__/buildtools/third_party/libc++/trunk/include/string_698_5)" is not a valid Ident', ../../third_party/rust/proc_macro2/v1/crate/src/fallback.rs:730:9
stack backtrace:
   0: rust_begin_unwind
   1: core::panicking::panic_fmt
   2: proc_macro2::fallback::validate_ident
             at ./../../third_party/rust/proc_macro2/v1/crate/src/fallback.rs:730:9
   3: proc_macro2::fallback::Ident::_new
             at ./../../third_party/rust/proc_macro2/v1/crate/src/fallback.rs:672:9
   4: proc_macro2::fallback::Ident::new
             at ./../../third_party/rust/proc_macro2/v1/crate/src/fallback.rs:682:9
   5: proc_macro2::imp::Ident::new
             at ./../../third_party/rust/proc_macro2/v1/crate/src/wrapper.rs:685:50
   6: proc_macro2::Ident::new
             at ./../../third_party/rust/proc_macro2/v1/crate/src/lib.rs:953:21
   7: autocxx_bindgen::ir::context::BindgenContext::rust_ident_raw
             at ./../../third_party/rust/autocxx_bindgen/v0_60/crate/src/ir/context.rs:861:9
   8: autocxx_bindgen::ir::context::BindgenContext::rust_ident
             at ./../../third_party/rust/autocxx_bindgen/v0_60/crate/src/ir/context.rs:853:9
   9: <autocxx_bindgen::ir::enum_ty::Enum as autocxx_bindgen::codegen::CodeGenerator>::codegen
             at ./../../third_party/rust/autocxx_bindgen/v0_60/crate/src/codegen/mod.rs:3049:21
  10: <autocxx_bindgen::ir::ty::Type as autocxx_bindgen::codegen::CodeGenerator>::codegen
             at ./../../third_party/rust/autocxx_bindgen/v0_60/crate/src/codegen/mod.rs:1051:39
  11: <autocxx_bindgen::ir::item::Item as autocxx_bindgen::codegen::CodeGenerator>::codegen
             at ./../../third_party/rust/autocxx_bindgen/v0_60/crate/src/codegen/mod.rs:505:17
  12: <autocxx_bindgen::ir::comp::CompInfo as autocxx_bindgen::codegen::CodeGenerator>::codegen
             at ./../../third_party/rust/autocxx_bindgen/v0_60/crate/src/codegen/mod.rs:2195:13
  13: <autocxx_bindgen::ir::ty::Type as autocxx_bindgen::codegen::CodeGenerator>::codegen
             at ./../../third_party/rust/autocxx_bindgen/v0_60/crate/src/codegen/mod.rs:822:39
  14: <autocxx_bindgen::ir::item::Item as autocxx_bindgen::codegen::CodeGenerator>::codegen
             at ./../../third_party/rust/autocxx_bindgen/v0_60/crate/src/codegen/mod.rs:505:17
  15: <autocxx_bindgen::ir::module::Module as autocxx_bindgen::codegen::CodeGenerator>::codegen::{{closure}}
             at ./../../third_party/rust/autocxx_bindgen/v0_60/crate/src/codegen/mod.rs:528:21
  16: <autocxx_bindgen::ir::module::Module as autocxx_bindgen::codegen::CodeGenerator>::codegen
             at ./../../third_party/rust/autocxx_bindgen/v0_60/crate/src/codegen/mod.rs:558:13
  17: <autocxx_bindgen::ir::item::Item as autocxx_bindgen::codegen::CodeGenerator>::codegen
             at ./../../third_party/rust/autocxx_bindgen/v0_60/crate/src/codegen/mod.rs:496:17
  18: <autocxx_bindgen::ir::module::Module as autocxx_bindgen::codegen::CodeGenerator>::codegen::{{closure}}
             at ./../../third_party/rust/autocxx_bindgen/v0_60/crate/src/codegen/mod.rs:528:21
  19: <autocxx_bindgen::ir::module::Module as autocxx_bindgen::codegen::CodeGenerator>::codegen::{{closure}}
             at ./../../third_party/rust/autocxx_bindgen/v0_60/crate/src/codegen/mod.rs:576:13
  20: autocxx_bindgen::codegen::CodegenResult::inner
             at ./../../third_party/rust/autocxx_bindgen/v0_60/crate/src/codegen/mod.rs:329:9
  21: <autocxx_bindgen::ir::module::Module as autocxx_bindgen::codegen::CodeGenerator>::codegen
             at ./../../third_party/rust/autocxx_bindgen/v0_60/crate/src/codegen/mod.rs:563:27
  22: <autocxx_bindgen::ir::item::Item as autocxx_bindgen::codegen::CodeGenerator>::codegen
             at ./../../third_party/rust/autocxx_bindgen/v0_60/crate/src/codegen/mod.rs:496:17
  23: <autocxx_bindgen::ir::module::Module as autocxx_bindgen::codegen::CodeGenerator>::codegen::{{closure}}
             at ./../../third_party/rust/autocxx_bindgen/v0_60/crate/src/codegen/mod.rs:528:21
  24: <autocxx_bindgen::ir::module::Module as autocxx_bindgen::codegen::CodeGenerator>::codegen::{{closure}}
             at ./../../third_party/rust/autocxx_bindgen/v0_60/crate/src/codegen/mod.rs:576:13
  25: autocxx_bindgen::codegen::CodegenResult::inner
             at ./../../third_party/rust/autocxx_bindgen/v0_60/crate/src/codegen/mod.rs:329:9
  26: <autocxx_bindgen::ir::module::Module as autocxx_bindgen::codegen::CodeGenerator>::codegen
             at ./../../third_party/rust/autocxx_bindgen/v0_60/crate/src/codegen/mod.rs:563:27
  27: <autocxx_bindgen::ir::item::Item as autocxx_bindgen::codegen::CodeGenerator>::codegen
             at ./../../third_party/rust/autocxx_bindgen/v0_60/crate/src/codegen/mod.rs:496:17
  28: autocxx_bindgen::codegen::codegen::{{closure}}
             at ./../../third_party/rust/autocxx_bindgen/v0_60/crate/src/codegen/mod.rs:4632:9
  29: autocxx_bindgen::ir::context::BindgenContext::gen
             at ./../../third_party/rust/autocxx_bindgen/v0_60/crate/src/ir/context.rs:1173:19
  30: autocxx_bindgen::codegen::codegen
             at ./../../third_party/rust/autocxx_bindgen/v0_60/crate/src/codegen/mod.rs:4596:5
  31: autocxx_bindgen::Bindings::generate
             at ./../../third_party/rust/autocxx_bindgen/v0_60/crate/src/lib.rs:2515:32
  32: autocxx_bindgen::Builder::generate
             at ./../../third_party/rust/autocxx_bindgen/v0_60/crate/src/lib.rs:1557:9
  33: autocxx_engine::IncludeCppEngine::generate
             at ./../../third_party/rust/autocxx_engine/v0_22/crate/src/lib.rs:412:24
  34: autocxx_engine::parse_file::ParsedFile::resolve_all
             at ./../../third_party/rust/autocxx_engine/v0_22/crate/src/parse_file.rs:384:13
  35: autocxx_gen::main
             at ./../../third_party/rust/autocxx_gen/v0_22/crate/src/main.rs:276:9
  36: core::ops::function::FnOnce::call_once
             at /b/s/w/ir/cache/builder/src/third_party/rust_src/src/library/core/src/ops/function.rs:248:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
Traceback (most recent call last):
  File "/usr/local/google/home/adetaylor/chromium/src/out/Release/../../third_party/rust/autocxx/chromium_integration/run_autocxx_gen.py", line 96, in <module>
    sys.exit(main())
  File "/usr/local/google/home/adetaylor/chromium/src/out/Release/../../third_party/rust/autocxx/chromium_integration/run_autocxx_gen.py", line 81, in main
    subprocess.run([args.exe, *genargs], check=True, env=env)
  File "/usr/lib/python3.10/subprocess.py", line 524, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['/usr/local/google/home/adetaylor/chromium/src/out/Release/autocxx_gen', '../../third_party/rust/autocxx/chromium_integration/tests/autocxx_basic_test/src/lib.rs', '--outdir', 'gen/third_party/rust/autocxx/chromium_integration/tests/autocxx_basic_test/src/lib.rs', '--gen-rs-include', '--gen-cpp', '--generate-exact', '2', '--fix-rs-include-name', '--cxx-impl-annotations', '__attribute__((visibility("default")))', '--cxx-h-path', 'third_party/rust/cxx/v1/crate/include/', '--', '-DDCHECK_ALWAYS_ON=1', '-DUSE_UDEV', '-DUSE_AURA=1', '-DUSE_GLIB=1', '-DUSE_OZONE=1', '-D__STDC_CONSTANT_MACROS', '-D__STDC_FORMAT_MACROS', '-D_FILE_OFFSET_BITS=64', '-D_LARGEFILE_SOURCE', '-D_LARGEFILE64_SOURCE', '-DRUST_ENABLED', '-D_GNU_SOURCE', '-DCR_CLANG_REVISION="llvmorg-16-init-8697-g60809cd2-1"', '-DCOMPONENT_BUILD', '-DCR_LIBCXX_REVISION=fc6bbc5eb039769b5ed2de84444a3c6f9b45a598', '-D_LIBCPP_ENABLE_ASSERTIONS_DEFAULT=1', '-D_LIBCPP_AVAILABILITY_CUSTOM_VERBOSE_ABORT_PROVIDED=1', '-DCR_SYSROOT_KEY=20220331T153654Z-0', '-D_DEBUG', '-DDYNAMIC_ANNOTATIONS_ENABLED=1', '-DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_40', '-DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_40', '-DABSL_CONSUME_DLL', '-DBORINGSSL_SHARED_LIBRARY', '-I../..', '-Igen', '-I../../buildtools/third_party/libc++', '-I../../third_party/perfetto/include', '-Igen/third_party/perfetto/build_config', '-Igen/third_party/perfetto', '-I../../third_party/abseil-cpp', '-I../../third_party/boringssl/src/include', '-I../../third_party/protobuf/src', '-Igen/protoc_out', '-Wall', '-Werror', '-Wextra', '-Wimplicit-fallthrough', '-Wextra-semi', '-Wunreachable-code-aggressive', '-Wthread-safety', '-Wno-missing-field-initializers', '-Wno-unused-parameter', '-Wno-psabi', '-Wloop-analysis', '-Wno-unneeded-internal-declaration', '-Wenum-compare-conditional', '-Wno-ignored-pragma-optimize', '-Wno-deprecated-builtins', '-Wno-bitfield-constant-conversion', '-Wshadow', '-fno-delete-null-pointer-checks', '-fno-ident', '-fno-strict-aliasing', '--param=ssp-buffer-size=4', '-fstack-protector', '-funwind-tables', '-fPIC', '-pthread', '-fcolor-diagnostics', '-fmerge-all-constants', '-fcrash-diagnostics-dir=../../tools/clang/crashreports', '-mllvm', '-instcombine-lower-dbg-declare=0', '-ffp-contract=off', '-fcomplete-member-pointers', '-m64', '-msse3', '-Wno-builtin-macro-redefined', '-D__DATE__=', '-D__TIME__=', '-D__TIMESTAMP__=', '-ffile-compilation-dir=.', '-no-canonical-prefixes', '-ftrivial-auto-var-init=pattern', '-O0', '-fno-omit-frame-pointer', '-gdwarf-4', '-g2', '-gdwarf-aranges', '-gsplit-dwarf', '-ggnu-pubnames', '-fvisibility=hidden', '-Wheader-hygiene', '-Wstring-conversion', '-Wtautological-overlap-compare', '-isystem../../build/linux/debian_bullseye_amd64-sysroot/usr/include/glib-2.0', '-isystem../../build/linux/debian_bullseye_amd64-sysroot/usr/lib/x86_64-linux-gnu/glib-2.0/include', '-DPROTOBUF_ALLOW_DEPRECATED=1', '-Wno-undefined-bool-conversion', '-Wno-tautological-undefined-compare', '-std=c++20', '-Wno-trigraphs', '-fno-exceptions', '-fno-rtti', '-nostdinc++', '-isystem../../buildtools/third_party/libc++/trunk/include', '-isystem../../buildtools/third_party/libc++abi/trunk/include', '--sysroot=../../build/linux/debian_bullseye_amd64-sysroot', '-fvisibility-inlines-hidden', '-isystem../../third_party/llvm-build/Release+Asserts/lib/clang/16.0.0/include', '-fparse-all-comments', '-fvisibility=default', '-fno-visibility-inlines-hidden']' returned non-zero exit status 101.
ninja: build stopped: subcommand failed.

Chromium bug: https://bugs.chromium.org/p/chromium/issues/detail?id=1380857

@adetaylor adetaylor added the bug Something isn't working label Nov 2, 2022
@adetaylor adetaylor changed the title Some problem with identifiers with recent llvm Some problem with identifiers with recent libclang 16 Nov 2, 2022
@adetaylor
Copy link
Collaborator Author

Likely fixed by rust-lang/rust-bindgen#2316

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant