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

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

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

Successfully merging a pull request may close this issue.

1 participant