Issue metadata
Sign in to add a comment
|
clang assert: !isInAllocaArgument(CGM.getCXXABI(), type) |
||||||||||||||||||||||
Issue descriptionThis error came from the win7 trybot; unfortunately I don't have a way to get at the repro case that clang provided. This happened while dry-running <https://chromium-review.googlesource.com/c/chromium/src/+/1335867/2>: [10040/10339] CXX obj/chrome/test/unit_tests/about_flags_unittest.obj FAILED: obj/chrome/test/unit_tests/about_flags_unittest.obj C:\b\s\w\ir\cache\goma\client/gomacc.exe ../../third_party/llvm-build/Release+Asserts/bin/clang-cl.exe /nologo /showIncludes -imsvc..\..\third_party\depot_tools\win_toolchain\vs_files\3bc0ec615cf20ee342f3bc29bc991b5ad66d8d2c\win_sdk\Include\10.0.17134.0\um -imsvc..\..\third_party\depot_tools\win_toolchain\vs_files\3bc0ec615cf20ee342f3bc29bc991b5ad66d8d2c\win_sdk\Include\10.0.17134.0\shared -imsvc..\..\third_party\depot_tools\win_toolchain\vs_files\3bc0ec615cf20ee342f3bc29bc991b5ad66d8d2c\win_sdk\Include\10.0.17134.0\winrt -imsvc..\..\third_party\depot_tools\win_toolchain\vs_files\3bc0ec615cf20ee342f3bc29bc991b5ad66d8d2c\win_sdk\Include\10.0.17134.0\ucrt -imsvc..\..\third_party\depot_tools\win_toolchain\vs_files\3bc0ec615cf20ee342f3bc29bc991b5ad66d8d2c\VC\Tools\MSVC\14.14.26428\include -imsvc..\..\third_party\depot_tools\win_toolchain\vs_files\3bc0ec615cf20ee342f3bc29bc991b5ad66d8d2c\VC\Tools\MSVC\14.14.26428\atlmfc\include -DV8_DEPRECATION_WARNINGS -DDCHECK_ALWAYS_ON=1 -DUSE_AURA=1 -DNO_TCMALLOC -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DCHROMIUM_BUILD -DFIELDTRIAL_TESTING_ENABLED "-DCR_CLANG_REVISION=\"346388-1\"" -D_HAS_NODISCARD -D_HAS_EXCEPTIONS=0 -D__STD_C -D_CRT_RAND_S -D_CRT_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_DEPRECATE -D_ATL_NO_OPENGL -D_WINDOWS -DCERT_CHAIN_PARA_HAS_EXTRA_FIELDS -DPSAPI_VERSION=1 -DWIN32 -D_SECURE_ATL -D_USING_V110_SDK71_ -DWINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP -DWIN32_LEAN_AND_MEAN -DNOMINMAX -D_UNICODE -DUNICODE -DNTDDI_VERSION=0x0A000002 -D_WIN32_WINNT=0x0A00 -DWINVER=0x0A00 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DGTEST_API_= -DGTEST_HAS_POSIX_RE=0 -DGTEST_LANG_CXX11=1 -DGTEST_HAS_TR1_TUPLE=0 -DENABLE_IPC_FUZZER -DWEBP_EXTERN=extern -DUSE_EGL -DANGLE_ENABLE_RELEASE_ASSERTS -DTOOLKIT_VIEWS=1 -DSYNC_PASSWORD_REUSE_DETECTION_ENABLED -DEXPAT_RELATIVE_PATH -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DUSE_CHROMIUM_ICU=1 -DU_STATIC_IMPLEMENTATION -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -DUCHAR_TYPE=wchar_t -DGOOGLE_PROTOBUF_NO_RTTI -DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER -DV8_USE_EXTERNAL_STARTUP_DATA -DWEBRTC_NON_STATIC_TRACE_EVENT_HANDLERS=0 -DWEBRTC_CHROMIUM_BUILD -DWEBRTC_WIN -DABSL_ALLOCATOR_NOTHROW=1 -DNO_MAIN_THREAD_WRAPPING -DSK_HAS_PNG_LIBRARY -DSK_HAS_WEBP_LIBRARY -DSK_HAS_JPEG_LIBRARY -DSK_SUPPORT_GPU=1 "-DSK_GPU_WORKAROUNDS_HEADER=\"gpu/config/gpu_driver_bug_workaround_autogen.h\"" -DGR_GL_FUNCTION_TYPE=__stdcall -DLEVELDB_PLATFORM_CHROMIUM=1 -DDeleteFile=DeleteFileW -DLEVELDB_PLATFORM_CHROMIUM=1 -DV8_DEPRECATION_WARNINGS "-DI18N_ADDRESS_VALIDATION_DATA_URL=\"https://chromium-i18n.appspot.com/ssl-aggregate-address/\"" -DUNIT_TEST -DWTF_USE_WEBAUDIO_FFMPEG=1 -DSUPPORT_WEBGL2_COMPUTE_CONTEXT=1 -DWTF_USE_DEFAULT_RENDER_THEME=1 -D__STD_C -D_CRT_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_DEPRECATE -DUSE_LIBJPEG_TURBO=1 -DV8_DEPRECATION_WARNINGS -DI18N_PHONENUMBERS_USE_ICU_REGEXP=1 -DI18N_PHONENUMBERS_USE_ALTERNATE_FORMATS=1 -DI18N_PHONENUMBERS_NO_THREAD_SAFETY=1 -DHUNSPELL_STATIC -DHUNSPELL_CHROME_CLIENT -DUSE_HUNSPELL -I../.. -Igen -I../../third_party/googletest/custom -I../../third_party/googletest/src/googletest/include -I../../third_party/libwebp/src -I../../third_party/wtl/include -I../../third_party/libyuv/include -I../../third_party/khronos -I../../gpu -I../../third_party/jsoncpp/overrides/include -I../../third_party/jsoncpp/source/include -I../../third_party/ced/src -I../../third_party/icu/source/common -I../../third_party/icu/source/i18n -I../../third_party/protobuf/src -Igen/protoc_out -I../../third_party/protobuf/src -I../../third_party/boringssl/src/include -I../../third_party/webrtc_overrides -I../../third_party/webrtc -I../../third_party/abseil-cpp -I../../skia/config -I../../skia/ext -I../../third_party/skia/include/c -I../../third_party/skia/include/config -I../../third_party/skia/include/core -I../../third_party/skia/include/docs -I../../third_party/skia/include/effects -I../../third_party/skia/include/encode -I../../third_party/skia/include/gpu -I../../third_party/skia/include/pathops -I../../third_party/skia/include/ports -I../../third_party/skia/include/utils -I../../third_party/skia/include/codec -I../../third_party/skia/src/gpu -I../../third_party/skia/src/sksl -I../../third_party/skia/modules/skottie/include -I../../third_party/leveldatabase -I../../third_party/leveldatabase/src -I../../third_party/leveldatabase/src/include -I../../third_party/libwebm/source -I../../v8/include -Igen/v8/include -Igen/third_party/metrics_proto -I../../third_party/re2/src -I../../third_party/mesa_headers -Igen -Igen -Igen -Igen -I../../third_party/libaddressinput/src/cpp/include -I../../third_party/perfetto/include -Igen/third_party/perfetto/protos -I../../testing/gtest/include -Igen/third_party/perfetto/protos -Igen/third_party/perfetto/protos -Igen -Igen -Igen -Igen -I../../third_party/googletest/custom -I../../third_party/googletest/src/googlemock/include -I../../third_party/cacheinvalidation/overrides -I../../third_party/cacheinvalidation/src -I../../third_party/flatbuffers/src/include -I../../third_party/blink/renderer/platform/wtf/os-win32 -I../../third_party/libjpeg_turbo -I../../third_party/iccjpeg -I../../third_party/libpng -I../../third_party/zlib -I../../third_party/ots/include -I../../v8/include -Igen/v8/include -Igen -I../../third_party/libphonenumber/dist/cpp/src -Igen/third_party/libphonenumber -I../../third_party/libxml/src/include -I../../third_party/libxml/win32/include /utf-8 /X -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -fcolor-diagnostics -fmerge-all-constants -Xclang -mllvm -Xclang -instcombine-lower-dbg-declare=0 -Xclang -fdebug-compilation-dir -Xclang . -no-canonical-prefixes -fcomplete-member-pointers /Gy /FS /bigobj /d2FastFail /Zc:sizedDealloc- -fmsc-version=1911 -m32 /Brepro /W4 -Wimplicit-fallthrough -Wthread-safety /WX /wd4091 /wd4127 /wd4251 /wd4275 /wd4312 /wd4324 /wd4351 /wd4355 /wd4503 /wd4589 /wd4611 /wd4100 /wd4121 /wd4244 /wd4505 /wd4510 /wd4512 /wd4610 /wd4838 /wd4995 /wd4996 /wd4456 /wd4457 /wd4458 /wd4459 /wd4200 /wd4201 /wd4204 /wd4221 /wd4245 /wd4267 /wd4305 /wd4389 /wd4702 /wd4701 /wd4703 /wd4661 /wd4706 /wd4715 /wd4267 -Wno-missing-field-initializers -Wno-unused-parameter -Wno-c++11-narrowing -Wno-unneeded-internal-declaration -Wno-undefined-var-template -Wno-null-pointer-arithmetic -Wno-nonportable-include-path -Wno-ignored-pragma-optimize -Wno-defaulted-function-deleted /O1 /Ob2 /Oy- /Zc:inline /Gw /Oi /MT -Xclang -add-plugin -Xclang find-bad-constructs -Xclang -plugin-arg-find-bad-constructs -Xclang enforce-in-thirdparty-webkit -Xclang -plugin-arg-find-bad-constructs -Xclang check-enum-max-value -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare /wd4800 -Wno-inconsistent-missing-override -Wno-inconsistent-missing-override -Wno-exit-time-destructors /wd4305 /wd4324 /wd4714 /wd4800 /wd4996 -Xclang -add-plugin -Xclang blink-gc-plugin /wd4344 /wd4706 -DLIBXML_STATIC= /TP /wd4577 /GR- /c ../../chrome/browser/about_flags_unittest.cc /Foobj/chrome/test/unit_tests/about_flags_unittest.obj /Fd"obj/chrome/test/unit_tests_cc.pdb" Assertion failed: !isInAllocaArgument(CGM.getCXXABI(), type) && "cannot emit delegate call arguments for inalloca arguments!", file C:\b\rr\tmpkcv7ut\w\src\third_party\llvm\tools\clang\lib\CodeGen\CGCall.cpp, line 3072 LLVMSymbolizer: error reading file: 'C:\b\rr\tmpkcv7ut\w\src\third_party\llvm-build\Release+Asserts\bin\clang.pdb': no such file or directory LLVMSymbolizer: error reading file: 'kernel32.pdb': no such file or directory LLVMSymbolizer: error reading file: 'ntdll.pdb': no such file or directory #0 0x00007ff7e50a71d6 (C:\b\s\w\ir\cache\builder\src\third_party\llvm-build\Release+Asserts\bin\clang-cl.exe+0x1b571d6) #1 0x00007ff7e7175dfb (C:\b\s\w\ir\cache\builder\src\third_party\llvm-build\Release+Asserts\bin\clang-cl.exe+0x3c25dfb) #2 0x00007ff7e716d1b4 (C:\b\s\w\ir\cache\builder\src\third_party\llvm-build\Release+Asserts\bin\clang-cl.exe+0x3c1d1b4) #3 0x00007ff7e7161dce (C:\b\s\w\ir\cache\builder\src\third_party\llvm-build\Release+Asserts\bin\clang-cl.exe+0x3c11dce) #4 0x00007ff7e7161e6a (C:\b\s\w\ir\cache\builder\src\third_party\llvm-build\Release+Asserts\bin\clang-cl.exe+0x3c11e6a) #5 0x00007ff7e54cf9b6 (C:\b\s\w\ir\cache\builder\src\third_party\llvm-build\Release+Asserts\bin\clang-cl.exe+0x1f7f9b6) #6 0x00007ff7e557f403 (C:\b\s\w\ir\cache\builder\src\third_party\llvm-build\Release+Asserts\bin\clang-cl.exe+0x202f403) #7 0x00007ff7e545dd29 (C:\b\s\w\ir\cache\builder\src\third_party\llvm-build\Release+Asserts\bin\clang-cl.exe+0x1f0dd29) #8 0x00007ff7e52bbd38 (C:\b\s\w\ir\cache\builder\src\third_party\llvm-build\Release+Asserts\bin\clang-cl.exe+0x1d6bd38) #9 0x00007ff7e52b51b9 (C:\b\s\w\ir\cache\builder\src\third_party\llvm-build\Release+Asserts\bin\clang-cl.exe+0x1d651b9) #10 0x00007ff7e52ac79c (C:\b\s\w\ir\cache\builder\src\third_party\llvm-build\Release+Asserts\bin\clang-cl.exe+0x1d5c79c) #11 0x00007ff7e52ac7c4 (C:\b\s\w\ir\cache\builder\src\third_party\llvm-build\Release+Asserts\bin\clang-cl.exe+0x1d5c7c4) #12 0x00007ff7e52ab81f (C:\b\s\w\ir\cache\builder\src\third_party\llvm-build\Release+Asserts\bin\clang-cl.exe+0x1d5b81f) #13 0x00007ff7e714f265 (C:\b\s\w\ir\cache\builder\src\third_party\llvm-build\Release+Asserts\bin\clang-cl.exe+0x3bff265) #14 0x00007ff7e714d4c9 (C:\b\s\w\ir\cache\builder\src\third_party\llvm-build\Release+Asserts\bin\clang-cl.exe+0x3bfd4c9) #15 0x00007ff7e57ed08c (C:\b\s\w\ir\cache\builder\src\third_party\llvm-build\Release+Asserts\bin\clang-cl.exe+0x229d08c) #16 0x00007ff7e621a223 (C:\b\s\w\ir\cache\builder\src\third_party\llvm-build\Release+Asserts\bin\clang-cl.exe+0x2cca223) #17 0x00007ff7e57983c0 (C:\b\s\w\ir\cache\builder\src\third_party\llvm-build\Release+Asserts\bin\clang-cl.exe+0x22483c0) #18 0x00007ff7e5782611 (C:\b\s\w\ir\cache\builder\src\third_party\llvm-build\Release+Asserts\bin\clang-cl.exe+0x2232611) #19 0x00007ff7e581ed2d (C:\b\s\w\ir\cache\builder\src\third_party\llvm-build\Release+Asserts\bin\clang-cl.exe+0x22ced2d) #20 0x00007ff7e3557efe (C:\b\s\w\ir\cache\builder\src\third_party\llvm-build\Release+Asserts\bin\clang-cl.exe+0x7efe) #21 0x00007ff7e35547c2 (C:\b\s\w\ir\cache\builder\src\third_party\llvm-build\Release+Asserts\bin\clang-cl.exe+0x47c2) #22 0x00007ff7e7159968 (C:\b\s\w\ir\cache\builder\src\third_party\llvm-build\Release+Asserts\bin\clang-cl.exe+0x3c09968) #23 0x00007fffadd32774 (C:\Windows\System32\KERNEL32.DLL+0x12774) #24 0x00007fffae0b0d51 (C:\Windows\SYSTEM32\ntdll.dll+0x70d51) clang-cl: error: clang frontend command failed due to signal (use -v to see invocation) clang version 8.0.0 (trunk 346388) Target: i386-pc-windows-msvc Thread model: posix InstalledDir: ..\..\third_party\llvm-build\Release+Asserts\bin clang-cl: note: diagnostic msg: PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace, preprocessed source, and associated run script. clang-cl: note: diagnostic msg: ******************** PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT: Preprocessed source(s) and associated run script(s) are located at: clang-cl: note: diagnostic msg: C:\b\s\w\ir\tmp\t\goma\goma_temp.7592\about_flags_unittest-80d2a0.sh clang-cl: note: diagnostic msg: ********************
,
Nov 15
It reproduces locally. Attaching the files.
,
Nov 15
ellyjones: The following change will avoid the compiler error until we can update Clang with a fix. (Maybe it's the right thing to do in any case?):
diff --git a/chrome/browser/about_flags_unittest.cc b/chrome/browser/about_flags_unittest.cc
index 2496b0ec1212..84b633c22e84 100644
--- a/chrome/browser/about_flags_unittest.cc
+++ b/chrome/browser/about_flags_unittest.cc
@@ -74,7 +74,7 @@ struct FlagMetadataEntry {
};
using FlagMetadataMap = std::map<std::string, FlagMetadataEntry>;
-using FlagPredicate = bool (*)(const std::string&, FlagMetadataEntry);
+using FlagPredicate = bool (*)(const std::string&, const FlagMetadataEntry&);
FlagMetadataMap LoadFlagMetadata() {
FlagMetadataMap metadata;
@@ -150,7 +150,7 @@ TEST(AboutFlagsTest, EveryFlagHasMetadata) {
TEST(AboutFlagsTest, DISABLED_EveryFlagHasNonEmptyOwners) {
std::vector<std::string> sad_flags = FlagsMatchingPredicate(
LoadFlagMetadata(),
- [](const std::string& name, FlagMetadataEntry entry) -> bool {
+ [](const std::string& name, const FlagMetadataEntry& entry) -> bool {
return entry.owners.empty();
});
,
Nov 15
Here's a reduced reproducer for Clang:
struct S {
~S();
};
void bar(bool (*)(S));
void foo() {
bar([](S s) -> bool { return true; });
}
$ clang -cc1 -triple i686-pc-win32 -emit-obj a.cc
,
Nov 15
#3: Yup, thanks - I ended up rewriting the CL to not use a lambda at all, but you are right that using a const FlagMetadataEntry& for the argument would have been better :)
,
Nov 16
Looks like PR28299.
,
Dec 12
|
|||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||
Comment 1 by thakis@chromium.org
, Nov 15