Hi Richard, Since yesterday I see several clang test failures which *may* be related to the series of patches of modules you comitted. These are: Clang :: Modules/cxx-templates.cpp Clang :: Modules/submodules-merge-defs.cpp Clang :: PCH/cxx-key-functions.cpp Clang :: PCH/cxx-templates.cpp
(failing as of r246534) You can see these failing on clang-x64-ninja-win7 bot but you did not get e-mail since it was masked by other test failing before them: http://lab.llvm.org:8011/builders/clang-x64-ninja-win7/builds/4522 or on Takumi bot: http://bb.pgr.jp/builders/ninja-clang-i686-msc18-R/builds/2923 The bots do not seem to printout details, so here is debug stack dump with symbols for the three tests failing. The fourth one prints huge AST. Could you have a look? FAIL: Clang :: Modules/cxx-templates.cpp (4128 of 23311) ******************** TEST 'Clang :: Modules/cxx-templates.cpp' FAILED ******************** Script: -- rm -rf C:\llvm-clean\msvc\tools\clang\test\Modules\Output\cxx-templates.cpp.tmp not C:/llvm-clean/msvc/RELWITHDEBINFO/bin/clang.EXE -cc1 -internal-isystem C:\llvm-clean\msvc\RELWITHDEB INFO\bin\..\lib\clang\3.8.0\include -nostdsysteminc -x objective-c++ -fmodules -fimplicit-module-maps -fno-modules-error-recov ery -fmodules-cache-path=C:\llvm-clean\msvc\tools\clang\test\Modules\Output\cxx-templates.cpp.tmp -I C:\ llvm-clean\tools\clang\test\Modules/Inputs C:\llvm-clean\tools\clang\test\Modules\cxx-templates.cpp -std=c++11 -ast -dump-lookups | C:/llvm-clean/msvc/RELWITHDEBINFO/bin\FileCheck.EXE C:\llvm-clean\tools\clang\test\Modul es\cxx-templates.cpp --check-prefix=CHECK-GLOBAL not C:/llvm-clean/msvc/RELWITHDEBINFO/bin/clang.EXE -cc1 -internal-isystem C:\llvm-clean\msvc\RELWITHDEB INFO\bin\..\lib\clang\3.8.0\include -nostdsysteminc -x objective-c++ -fmodules -fimplicit-module-maps -fno-modules-error-recov ery -fmodules-cache-path=C:\llvm-clean\msvc\tools\clang\test\Modules\Output\cxx-templates.cpp.tmp -I C:\ llvm-clean\tools\clang\test\Modules/Inputs C:\llvm-clean\tools\clang\test\Modules\cxx-templates.cpp -std=c++11 -ast -dump-lookups -ast-dump-filter N | C:/llvm-clean/msvc/RELWITHDEBINFO/bin\FileCheck.EXE C:\llvm-clean\too ls\clang\test\Modules\cxx-templates.cpp --check-prefix=CHECK-NAMESPACE-N not C:/llvm-clean/msvc/RELWITHDEBINFO/bin/clang.EXE -cc1 -internal-isystem C:\llvm-clean\msvc\RELWITHDEB INFO\bin\..\lib\clang\3.8.0\include -nostdsysteminc -x objective-c++ -fmodules -fimplicit-module-maps -fno-modules-error-recov ery -fmodules-cache-path=C:\llvm-clean\msvc\tools\clang\test\Modules\Output\cxx-templates.cpp.tmp -I C:\ llvm-clean\tools\clang\test\Modules/Inputs C:\llvm-clean\tools\clang\test\Modules\cxx-templates.cpp -std=c++11 -ast -dump -ast-dump-filter SomeTemplate | C:/llvm-clean/msvc/RELWITHDEBINFO/bin\FileCheck.EXE C:\llvm-clean\ tools\clang\test\Modules\cxx-templates.cpp --check-prefix=CHECK-DUMP C:/llvm-clean/msvc/RELWITHDEBINFO/bin/clang.EXE -cc1 -internal-isystem C:\llvm-clean\msvc\RELWITHDEBINFO \bin\..\lib\clang\3.8.0\include -nostdsysteminc -x objective-c++ -fmodules -fimplicit-module-maps -fno-modules-error-recovery -fmodules-cache-path=C:\llvm-clean\msvc\tools\clang\test\Modules\Output\cxx-templates.cpp.tmp -I C:\llvm -clean\tools\clang\test\Modules/Inputs C:\llvm-clean\tools\clang\test\Modules\cxx-templates.cpp -verify -std=c++11 C:/llvm-clean/msvc/RELWITHDEBINFO/bin/clang.EXE -cc1 -internal-isystem C:\llvm-clean\msvc\RELWITHDEBINFO \bin\..\lib\clang\3.8.0\include -nostdsysteminc -x objective-c++ -fmodules -fimplicit-module-maps -fno-modules-error-recovery -fmodules-cache-path=C:\llvm-clean\msvc\tools\clang\test\Modules\Output\cxx-templates.cpp.tmp -I C:\llvm -clean\tools\clang\test\Modules/Inputs C:\llvm-clean\tools\clang\test\Modules\cxx-templates.cpp -verify -std=c++11 -DEARLY_IMPORT -- Exit Code: 2 Command Output (stdout): -- Command 0: "rm" "-rf" "C:\llvm-clean\msvc\tools\clang\test\Modules\Output\cxx-templates.cpp.tmp" Command 0 Result: 0 Command 0 Output: Command 0 Stderr: Command 1: "not" "C:/llvm-clean/msvc/RELWITHDEBINFO/bin/clang.EXE" "-cc1" "-internal-isystem" "C:\llvm-c lean\msvc\RELWITHDEBINFO\bin\..\lib\clang\3.8.0\include" "-nostdsysteminc" "-x" "objective-c++" "-fmodules" "-fimplicit-module -maps" "-fno-modules-error-recovery" "-fmodules-cache-path=C:\llvm-clean\msvc\tools\clang\test\Modules\Output\cxx-t emplates.cpp.tmp" "-I" "C:\llvm-clean\tools\clang\test\Modules/Inputs" "C:\llvm-clean\tools\clang\test\M odules\cxx-templates.cpp" "-std=c++11" "-ast-dump-lookups" Command 1 Result: 1 Command 1 Output: Command 1 Stderr: 0x0000000140F97571 (0x000000000358BCC0 0x000000000358B969 0x000000000358B920 0x0000000005F6E52F), llvm::OnDiskChainedHashTable <clang::serialization::reader::ASTDeclContextNameLookupTrait>::find_hashed() + 0x41 bytes(s), c:\llvm-clean\include \llvm\support\ondiskhashtable.h, line 330 + 0x4 byte(s) 0x0000000140F96C42 (0x0000000005F6E52F 0x00000000027FB198 0x00000000027C3D08 0x00000000027C4B20), clang::serialization::MultiO nDiskHashTable<clang::serialization::reader::ASTDeclContextNameLookupTrait>::find() + 0x272 bytes(s), c:\llvm-clean \tools\clang\lib\serialization\multiondiskhashtable.h, line 228 0x0000000140F6A104 (0x000000000358BD90 0x0000000004188190 0x0000000002512773 0x000000000358BD90), clang::ASTReader::FindExtern alVisibleDeclsByName() + 0x1D4 bytes(s), c:\llvm-clean\tools\clang\lib\serialization\astreader.cpp, line 6379 + 0x3 3 byte(s) 0x000000014180D523 (0x00000000027C3D08 0x000000000358BDE9 0x0000000002512773 0x0000000000000000), clang::DeclContext::lookup() + 0x213 bytes(s), c:\llvm-clean\tools\clang\lib\ast\declbase.cpp, line 1395 + 0x19 byte(s) 0x0000000140F68C12 (0x000000000358C130 0x0000000000AF9BB8 0x0000000004198CE8 0x0000000004197FA0), clang::ASTReader::CompleteRe declChain() + 0x312 bytes(s), c:\llvm-clean\tools\clang\lib\serialization\astreader.cpp, line 5989 0x00000001404D55E5 (0x0000000000000000 0x0000000004198CE8 0x0000000000000000 0x000000000358C180), clang::Redeclarable<clang::F unctionDecl>::DeclLink::getNext() + 0xC5 bytes(s), c:\llvm-clean\tools\clang\include\clang\ast\redeclarable.h, line 74 + 0x4D byte(s) 0x0000000141043943 (0x0000000004198750 0x0000000140FC8849 0x0000000000000003 0x000000000358C1C8), clang::ASTDeclWriter::VisitR edeclarable<clang::FunctionDecl>() + 0x43 bytes(s), c:\llvm-clean\tools\clang\lib\serialization\astwriterdecl.cpp, line 1555 0x0000000141048BCC (0x00004F6B0F91720A 0x0000000004198CE8 0x00000000041A2BD0 0x000000000358C218), clang::ASTDeclWriter::VisitF unctionDecl() + 0x2C bytes(s), c:\llvm-clean\tools\clang\lib\serialization\astwriterdecl.cpp, line 477 0x0000000141047116 (0x0000000140FE1B38 0x000000000358C2D0 0x000000000358C218 0x0000000004198CE8), clang::ASTDeclWriter::VisitC XXMethodDecl() + 0x26 bytes(s), c:\llvm-clean\tools\clang\lib\serialization\astwriterdecl.cpp, line 1154 0x0000000141046B45 (0x00000000041A2BD0 0x000000000358C2D0 0x0000000004198D28 0x0000000000000000), clang::ASTDeclWriter::Visit( ) + 0x15 bytes(s), c:\llvm-clean\tools\clang\lib\serialization\astwriterdecl.cpp, line 263 0x000000014104D750 (0x0000000000000003 0x000000000270EAC0 0x000000000270E420 0x000000000270EAC0), clang::ASTWriter::WriteDecl( ) + 0x1E0 bytes(s), c:\llvm-clean\tools\clang\lib\serialization\astwriterdecl.cpp, line 2134 0x0000000140FD81D7 (0x000000000270E338 0x000000000280B920 0x000000000280B920 0x0000000000000000), clang::ASTWriter::WriteASTCo re() + 0x2A57 bytes(s), c:\llvm-clean\tools\clang\lib\serialization\astwriter.cpp, line 4422 0x0000000140FD5735 (0x000000000270E320 0x000000000358F740 0x0000000142872250 0x0000000141AADE2A), clang::ASTWriter::WriteAST() + 0xB5 bytes(s), c:\llvm-clean\tools\clang\lib\serialization\astwriter.cpp, line 4079 0x0000000140FB26BA (0x00000001428732F0 0x0000000000000003 0x0000000000000000 0x0000000140EDD970), clang::PCHGenerator::HandleT ranslationUnit() + 0xAA bytes(s), c:\llvm-clean\tools\clang\lib\serialization\generatepch.cpp, line 53 0x000000014084447F (0x0000000000000003 0x000000000275B920 0x00000000027CD9C0 0x0000000000000000), clang::MultiplexConsumer::Ha ndleTranslationUnit() + 0x2AF bytes(s), c:\llvm-clean\tools\clang\lib\frontend\multiplexconsumer.cpp, line 295 0x0000000140ED7995 (0x0000000000ABCD00 0x0000000000000000 0x0000000000ABCDB0 0x0000000000000000), clang::ParseAST() + 0x255 by tes(s), c:\llvm-clean\tools\clang\lib\parse\parseast.cpp, line 171 0x0000000140807A63 (0x0000000000ABCDB0 0x0000000000000000 0x0000000000000000 0x0000000143A0E150), clang::ASTFrontendAction::Ex ecuteAction() + 0xE3 bytes(s), c:\llvm-clean\tools\clang\lib\frontend\frontendaction.cpp, line 540 0x00000001408078D8 (0x0000000000000000 0x0000000000ABD070 0x0000000000ABD070 0x0000000000000000), clang::FrontendAction::Execu te() + 0x68 bytes(s), c:\llvm-clean\tools\clang\lib\frontend\frontendaction.cpp, line 444 0x00000001407CF750 (0x0000000000000000 0x0000000141B251F2 0x0000000000000000 0x0000000000000000), clang::CompilerInstance::Exe cuteAction() + 0x2F0 bytes(s), c:\llvm-clean\tools\clang\lib\frontend\compilerinstance.cpp, line 831 0x0000000141C3E645 (0x0000000000000000 0x000000000358F940 0x0000000000000000 0x00000000027CBAB0), llvm::CrashRecoveryContext:: RunSafely() + 0x75 bytes(s), c:\llvm-clean\lib\support\crashrecoverycontext.cpp, line 329 0x0000000141C3E6BF (0x0000000000000000 0x0000000000000000 0x00000000027CBAB0 0x0000000000000000), RunSafelyOnThread_Dispatch() + 0x1F bytes(s), c:\llvm-clean\lib\support\crashrecoverycontext.cpp, line 376 + 0x19 byte(s) 0x000000014031C1CD (0x0000000000000000 0x0000000141B17255 0x0000000000000000 0x0000000000000000), ThreadCallback() + 0xD bytes (s), c:\llvm-clean\lib\support\threading.cpp, line 83 0x0000000141B0F675 (0x0000000000000003 0x00000000027CBAB0 0x0000000000000000 0x0000000000000000), _callthreadstartex() + 0x25 bytes(s), f:\dd\vctools\crt\crtw32\startup\threadex.c, line 376 + 0x17 byte(s) 0x0000000141B0F8C7 (0x00000000027CBAB0 0x0000000000000000 0x0000000000000000 0x0000000000000000), _threadstartex() + 0xE7 byte s(s), f:\dd\vctools\crt\crtw32\startup\threadex.c, line 359 0x0000000077A15A4D (0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000), BaseThreadInitThunk() + 0xD bytes(s) 0x0000000077B4B831 (0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000), RtlUserThreadStart() + 0x21 bytes(s) 1>CUSTOMBUILD : error : [C:\llvm-clean\msvc\check-all.vcxproj] Command 2: "C:/llvm-clean/msvc/RELWITHDEBINFO/bin\FileCheck.EXE" "C:\llvm-clean\tools\clang\test\Modules \cxx-templates.cpp" "--check-prefix=CHECK-GLOBAL" Command 2 Result: 2 Command 2 Output: Command 2 Stderr: 1>CUSTOMBUILD : FileCheck error : '-' is empty. [C:\llvm-clean\msvc\check-all.vcxproj] -- ******************** FAIL: Clang :: Modules/submodules-merge-defs.cpp (4278 of 23311) ******************** TEST 'Clang :: Modules/submodules-merge-defs.cpp' FAILED ******************** Script: -- rm -rf C:\llvm-clean\msvc\tools\clang\test\Modules\Output\submodules-merge-defs.cpp.tmp C:/llvm-clean/msvc/RELWITHDEBINFO/bin/clang.EXE -cc1 -internal-isystem C:\llvm-clean\msvc\RELWITHDEBINFO \bin\..\lib\clang\3.8.0\include -nostdsysteminc -x c++ -std=c++11 -fmodules-cache-path=C:\llvm-clean\msvc\tools\cla ng\test\Modules\Output\submodules-merge-defs.cpp.tmp -fmodules -fimplicit-module-maps -I C:\llvm-clean\tools\clang\ test\Modules/Inputs/submodules-merge-defs C:\llvm-clean\tools\clang\test\Modules\submodules-merge-defs.cpp -verify -fno-modules-error-recovery -DTEXTUAL C:/llvm-clean/msvc/RELWITHDEBINFO/bin/clang.EXE -cc1 -internal-isystem C:\llvm-clean\msvc\RELWITHDEBINFO \bin\..\lib\clang\3.8.0\include -nostdsysteminc -x c++ -std=c++11 -fmodules-cache-path=C:\llvm-clean\msvc\tools\cla ng\test\Modules\Output\submodules-merge-defs.cpp.tmp -fmodules -fimplicit-module-maps -I C:\llvm-clean\tools\clang\ test\Modules/Inputs/submodules-merge-defs C:\llvm-clean\tools\clang\test\Modules\submodules-merge-defs.cpp -verify -fno-modules-error-recovery C:/llvm-clean/msvc/RELWITHDEBINFO/bin/clang.EXE -cc1 -internal-isystem C:\llvm-clean\msvc\RELWITHDEBINFO \bin\..\lib\clang\3.8.0\include -nostdsysteminc -x c++ -std=c++11 -fmodules-cache-path=C:\llvm-clean\msvc\tools\cla ng\test\Modules\Output\submodules-merge-defs.cpp.tmp -fmodules -fimplicit-module-maps -I C:\llvm-clean\tools\clang\ test\Modules/Inputs/submodules-merge-defs C:\llvm-clean\tools\clang\test\Modules\submodules-merge-defs.cpp -verify -fno-modules-error-recovery -fmodules-local-submodule-visibility -DTEXTUAL C:/llvm-clean/msvc/RELWITHDEBINFO/bin/clang.EXE -cc1 -internal-isystem C:\llvm-clean\msvc\RELWITHDEBINFO \bin\..\lib\clang\3.8.0\include -nostdsysteminc -x c++ -std=c++11 -fmodules-cache-path=C:\llvm-clean\msvc\tools\cla ng\test\Modules\Output\submodules-merge-defs.cpp.tmp -fmodules -fimplicit-module-maps -I C:\llvm-clean\tools\clang\ test\Modules/Inputs/submodules-merge-defs C:\llvm-clean\tools\clang\test\Modules\submodules-merge-defs.cpp -verify -fno-modules-error-recovery -fmodules-local-submodule-visibility C:/llvm-clean/msvc/RELWITHDEBINFO/bin/clang.EXE -cc1 -internal-isystem C:\llvm-clean\msvc\RELWITHDEBINFO \bin\..\lib\clang\3.8.0\include -nostdsysteminc -x c++ -std=c++11 -fmodules-cache-path=C:\llvm-clean\msvc\tools\cla ng\test\Modules\Output\submodules-merge-defs.cpp.tmp -fimplicit-module-maps -I C:\llvm-clean\tools\clang\test\Modul es/Inputs/submodules-merge-defs C:\llvm-clean\tools\clang\test\Modules\submodules-merge-defs.cpp -verify -fno-modul es-error-recovery -fmodules-local-submodule-visibility -DTEXTUAL -DEARLY_INDIRECT_INCLUDE -fno-modules-hide-internal-linkage C:/llvm-clean/msvc/RELWITHDEBINFO/bin/clang.EXE -cc1 -internal-isystem C:\llvm-clean\msvc\RELWITHDEBINFO \bin\..\lib\clang\3.8.0\include -nostdsysteminc -x c++ -std=c++11 -fmodules-cache-path=C:\llvm-clean\msvc\tools\cla ng\test\Modules\Output\submodules-merge-defs.cpp.tmp -fmodules -fimplicit-module-maps -I C:\llvm-clean\tools\clang\ test\Modules/Inputs/submodules-merge-defs C:\llvm-clean\tools\clang\test\Modules\submodules-merge-defs.cpp -verify -fno-modules-error-recovery -fmodules-local-submodule-visibility -fmodule-feature use_defs_twice -DIMPORT_USE_2 -- Exit Code: 3221225477 Command Output (stdout): -- Command 0: "rm" "-rf" "C:\llvm-clean\msvc\tools\clang\test\Modules\Output\submodules-merge-defs.cpp.tmp" Command 0 Result: 0 Command 0 Output: Command 0 Stderr: Command 1: "C:/llvm-clean/msvc/RELWITHDEBINFO/bin/clang.EXE" "-cc1" "-internal-isystem" "C:\llvm-clean\m svc\RELWITHDEBINFO\bin\..\lib\clang\3.8.0\include" "-nostdsysteminc" "-x" "c++" "-std=c++11" "-fmodules-cache-path=C:\my\ceemp le\llvm-clean\msvc\tools\clang\test\Modules\Output\submodules-merge-defs.cpp.tmp" "-fmodules" "-fimplicit-module-maps" "-I" "C :\llvm-clean\tools\clang\test\Modules/Inputs/submodules-merge-defs" "C:\llvm-clean\tools\clang\test\Modu les\submodules-merge-defs.cpp" "-verify" "-fno-modules-error-recovery" "-DTEXTUAL" Command 1 Result: 3221225477 Command 1 Output: Command 1 Stderr: 0x00000001419D7571 (0x00000000033EF3C0 0x00000000033EF069 0x00000000033EF020 0x00000000B2269F88), llvm::OnDiskChainedHashTable <clang::serialization::reader::ASTDeclContextNameLookupTrait>::find_hashed() + 0x41 bytes(s), c:\llvm-clean\include \llvm\support\ondiskhashtable.h, line 330 + 0x4 byte(s) 0x00000001419D6C42 (0x00000000B2269F88 0x0000000003560510 0x0000000003538EC8 0x0000000003539CE0), clang::serialization::MultiO nDiskHashTable<clang::serialization::reader::ASTDeclContextNameLookupTrait>::find() + 0x272 bytes(s), c:\llvm-clean \tools\clang\lib\serialization\multiondiskhashtable.h, line 228 0x00000001419AA104 (0x00000000033EF4B0 0x0000000002660750 0x0000000003505100 0x00000000033EF4B0), clang::ASTReader::FindExtern alVisibleDeclsByName() + 0x1D4 bytes(s), c:\llvm-clean\tools\clang\lib\serialization\astreader.cpp, line 6379 + 0x3 3 byte(s) 0x000000014224D523 (0x0000000003538EC8 0x00000000033EF4D1 0x0000000003505100 0x0000000142481310), clang::DeclContext::lookup() + 0x213 bytes(s), c:\llvm-clean\tools\clang\lib\ast\declbase.cpp, line 1395 + 0x19 byte(s) 0x0000000141B96CD0 (0x00000000026BA400 0x00000000026ADDD0 0x0000000000000000 0x00000000000039A0), clang::Sema::ActOnStartNames paceDef() + 0xB0 bytes(s), c:\llvm-clean\tools\clang\lib\sema\semadeclcxx.cpp, line 7215 0x000000014198B873 (0x00000000026BA3F0 0x00000000026BA8A0 0x0000000000000000 0x0000000000000000), clang::Parser::ParseNamespac e() + 0x1473 bytes(s), c:\llvm-clean\tools\clang\lib\parse\parsedeclcxx.cpp, line 189 0x000000014193293C (0x00000000026BA700 0x00000000026BA7B0 0x00000000033EFA70 0x00000000026BA3F0), clang::Parser::ParseDeclarat ion() + 0x1FC bytes(s), c:\llvm-clean\tools\clang\lib\parse\parsedecl.cpp, line 1479 0x000000014191B358 (0x0000000000000000 0x00000000033EFB00 0x00000000033EFAC0 0x0000000000000000), clang::Parser::ParseExternal Declaration() + 0x488 bytes(s), c:\llvm-clean\tools\clang\lib\parse\parser.cpp, line 742 + 0x13 byte(s) 0x000000014191D738 (0x0000000000000003 0x000000000351FA60 0x0000000000000000 0x00000000026BA3F0), clang::Parser::ParseTopLevel Decl() + 0xF8 bytes(s), c:\llvm-clean\tools\clang\lib\parse\parser.cpp, line 593 0x000000014191793E (0x0000000000B6B300 0x0000000000000000 0x0000000000B6B310 0x0000000000000000), clang::ParseAST() + 0x1FE by tes(s), c:\llvm-clean\tools\clang\lib\parse\parseast.cpp, line 161 + 0x10 byte(s) 0x0000000141247A63 (0x0000000000B6B310 0x0000000000000000 0x0000000000000000 0x000000014444E150), clang::ASTFrontendAction::Ex ecuteAction() + 0xE3 bytes(s), c:\llvm-clean\tools\clang\lib\frontend\frontendaction.cpp, line 540 0x00000001412478D8 (0x0000000000000000 0x0000000000B6B5D0 0x0000000000B6B5D0 0x0000000000000000), clang::FrontendAction::Execu te() + 0x68 bytes(s), c:\llvm-clean\tools\clang\lib\frontend\frontendaction.cpp, line 444 0x000000014120F750 (0x0000000000000000 0x00000001425651F2 0x0000000000000000 0x0000000000000000), clang::CompilerInstance::Exe cuteAction() + 0x2F0 bytes(s), c:\llvm-clean\tools\clang\lib\frontend\compilerinstance.cpp, line 831 0x000000014267E645 (0x0000000000000000 0x00000000033EFCE0 0x0000000000000000 0x00000000026AB580), llvm::CrashRecoveryContext:: RunSafely() + 0x75 bytes(s), c:\llvm-clean\lib\support\crashrecoverycontext.cpp, line 329 0x000000014267E6BF (0x0000000000000000 0x0000000000000000 0x00000000026AB580 0x0000000000000000), RunSafelyOnThread_Dispatch() + 0x1F bytes(s), c:\llvm-clean\lib\support\crashrecoverycontext.cpp, line 376 + 0x19 byte(s) 0x0000000140D5C1CD (0x0000000000000000 0x0000000142557255 0x0000000000000000 0x0000000000000000), ThreadCallback() + 0xD bytes (s), c:\llvm-clean\lib\support\threading.cpp, line 83 0x000000014254F675 (0x0000000000000003 0x00000000026AB580 0x0000000000000000 0x0000000000000000), _callthreadstartex() + 0x25 bytes(s), f:\dd\vctools\crt\crtw32\startup\threadex.c, line 376 + 0x17 byte(s) 0x000000014254F8C7 (0x00000000026AB580 0x0000000000000000 0x0000000000000000 0x0000000000000000), _threadstartex() + 0xE7 byte s(s), f:\dd\vctools\crt\crtw32\startup\threadex.c, line 359 0x0000000077A15A4D (0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000), BaseThreadInitThunk() + 0xD bytes(s) 0x0000000077B4B831 (0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000), RtlUserThreadStart() + 0x21 bytes(s) -- ******************** FAIL: Clang :: PCH/cxx-key-functions.cpp (4553 of 23311) ******************** TEST 'Clang :: PCH/cxx-key-functions.cpp' FAILED ******************** Script: -- C:/llvm-clean/msvc/RELWITHDEBINFO/bin/clang.EXE -cc1 -internal-isystem C:\llvm-clean\msvc\RELWITHDEBINFO \bin\..\lib\clang\3.8.0\include -nostdsysteminc -x c++ -include C:\llvm-clean\tools\clang\test\PCH\cxx-key-function s.cpp -emit-llvm-only C:\llvm-clean\tools\clang\test\PCH\cxx-key-functions.cpp C:/llvm-clean/msvc/RELWITHDEBINFO/bin/clang.EXE -cc1 -internal-isystem C:\llvm-clean\msvc\RELWITHDEBINFO \bin\..\lib\clang\3.8.0\include -nostdsysteminc -x c++ -emit-pch C:\llvm-clean\tools\clang\test\PCH\cxx-key-functio ns.cpp -o C:\llvm-clean\msvc\tools\clang\test\PCH\Output\cxx-key-functions.cpp.tmp C:/llvm-clean/msvc/RELWITHDEBINFO/bin/clang.EXE -cc1 -internal-isystem C:\llvm-clean\msvc\RELWITHDEBINFO \bin\..\lib\clang\3.8.0\include -nostdsysteminc -include-pch C:\llvm-clean\msvc\tools\clang\test\PCH\Output\cxx-key -functions.cpp.tmp -emit-llvm-only C:\llvm-clean\tools\clang\test\PCH\cxx-key-functions.cpp -- Exit Code: 2147483651 Command Output (stdout): -- Command 0: "C:/llvm-clean/msvc/RELWITHDEBINFO/bin/clang.EXE" "-cc1" "-internal-isystem" "C:\llvm-clean\m svc\RELWITHDEBINFO\bin\..\lib\clang\3.8.0\include" "-nostdsysteminc" "-x" "c++" "-include" "C:\llvm-clean\tools\cla ng\test\PCH\cxx-key-functions.cpp" "-emit-llvm-only" "C:\llvm-clean\tools\clang\test\PCH\cxx-key-functions.cpp" Command 0 Result: 0 Command 0 Output: Command 0 Stderr: Command 1: "C:/llvm-clean/msvc/RELWITHDEBINFO/bin/clang.EXE" "-cc1" "-internal-isystem" "C:\llvm-clean\m svc\RELWITHDEBINFO\bin\..\lib\clang\3.8.0\include" "-nostdsysteminc" "-x" "c++" "-emit-pch" "C:\llvm-clean\tools\cl ang\test\PCH\cxx-key-functions.cpp" "-o" "C:\llvm-clean\msvc\tools\clang\test\PCH\Output\cxx-key-functions.cpp.tmp" Command 1 Result: 0 Command 1 Output: Command 1 Stderr: Command 2: "C:/llvm-clean/msvc/RELWITHDEBINFO/bin/clang.EXE" "-cc1" "-internal-isystem" "C:\llvm-clean\m svc\RELWITHDEBINFO\bin\..\lib\clang\3.8.0\include" "-nostdsysteminc" "-include-pch" "C:\llvm-clean\msvc\tools\clang \test\PCH\Output\cxx-key-functions.cpp.tmp" "-emit-llvm-only" "C:\llvm-clean\tools\clang\test\PCH\cxx-key-functions .cpp" Command 2 Result: 2147483651 Command 2 Output: Command 2 Stderr: 0x00000001426DFB40 (0x0000000000D4BC30 0x0000000000D35D00 0x000000000250AE48 0x0000000000000001), operator delete() + 0xA0 byt es(s), f:\dd\vctools\crt\crtw32\misc\dbgdel.cpp, line 52 + 0x71 byte(s) 0x0000000141B82BC1 (0x000000000250AE40 0x000000000250B9E0 0x000000000252CC00 0x0000000000000001), clang::serialization::MultiO nDiskHashTable<clang::serialization::reader::ASTDeclContextNameLookupTrait>::clear() + 0xA1 bytes(s), c:\llvm-clean \tools\clang\lib\serialization\multiondiskhashtable.h, line 107 0x0000000141B53C62 (0x000000000250AE40 0x0000000000D94B98 0x0000000002502C70 0x0000000142703132), clang::serialization::MultiO nDiskHashTable<clang::serialization::reader::ASTDeclContextNameLookupTrait>::~MultiOnDiskHashTable<clang::serialization::reade r::ASTDeclContextNameLookupTrait>() + 0x12 bytes(s), c:\llvm-clean\tools\clang\lib\serialization\multiondiskhashtab le.h, line 172 + 0x12 byte(s) 0x0000000141B53B78 (0x0000000000D96540 0x0000000000D52030 0x0000000000D93BA0 0x00000001426EDD11), llvm::DenseMap<clang::DeclCo ntext const * __ptr64,clang::serialization::reader::DeclContextLookupTable,llvm::DenseMapInfo<clang::DeclContext const * __ptr 64>,llvm::detail::DenseMapPair<clang::DeclContext const * __ptr64,clang::serialization::reader::DeclContextLookupTable> >::~De nseMap<clang::DeclContext const * __ptr64,clang::serialization::reader::DeclContextLookupTable,llvm::DenseMapInfo<clang::DeclC ontext const * __ptr64>,llvm::detail::DenseMapPair<clang::DeclContext cons?() + 0x48 bytes(s), c:\llvm-clean\includ e\llvm\adt\densemap.h, line 574 + 0x3C byte(s) 0x0000000141B5473A (0x0000000000D35E60 0x0000000000000001 0x0000000000D35D00 0x0000000000000001), clang::ASTReader::~ASTReader () + 0x60A bytes(s), c:\llvm-clean\tools\clang\lib\serialization\astreader.cpp, line 8408 + 0x597 byte(s) 0x0000000141B58704 (0x0000000000D93BA0 0x0000000000D35D00 0x0000000000D35D00 0x0000000000D52030), clang::ASTReader::`scalar de leting destructor'() + 0x14 bytes(s) 0x00000001413BE06F (0x0000000000000001 0x0000000000D52030 0x0000000000D52000 0x0000000000D93390), clang::CompilerInstance::~Co mpilerInstance() + 0x12F bytes(s), c:\llvm-clean\tools\clang\lib\frontend\compilerinstance.cpp, line 64 + 0xF0 byte (s) 0x00000001413BEFC4 (0x0000000000D35D00 0x0000000000D35E60 0x0000000000D53C10 0x0000000000000001), clang::CompilerInstance::`sc alar deleting destructor'() + 0x14 bytes(s) 0x000000013FCAD2E1 (0x0000000000AFE8F0 0x0000000000AFE888 0x0000000000000000 0x0000000000AFE8F0), cc1_main() + 0x471 bytes(s), c:\llvm-clean\tools\clang\tools\driver\cc1_main.cpp, line 139 + 0x99 byte(s) 0x000000013FCA4894 (0x0000000000000009 0x0000000000D4FF3B 0x0000000000AFE900 0x0000000000000000), ExecuteCC1Tool() + 0x94 byte s(s), c:\llvm-clean\tools\clang\tools\driver\driver.cpp, line 387 0x000000013FCA90BB (0x0000000000000001 0x0000000000000000 0x0000000000000000 0x0000000000000000), main() + 0x59B bytes(s), c:\ llvm-clean\tools\clang\tools\driver\driver.cpp, line 443 + 0x7F byte(s) 0x00000001426E508C (0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000), __tmainCRTStartup() + 0xEC b ytes(s), f:\dd\vctools\crt\crtw32\startup\crt0.c, line 255 + 0x19 byte(s) 0x00000001426E51CE (0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000), mainCRTStartup() + 0xE bytes (s), f:\dd\vctools\crt\crtw32\startup\crt0.c, line 165 0x0000000077A15A4D (0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000), BaseThreadInitThunk() + 0xD bytes(s) 0x0000000077B4B831 (0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000), RtlUserThreadStart() + 0x21 bytes(s) 2015-09-01 10:41 GMT+03:00 Richard Smith via cfe-commits < cfe-commits@lists.llvm.org>: > Author: rsmith > Date: Tue Sep 1 02:41:55 2015 > New Revision: 246534 > > URL: http://llvm.org/viewvc/llvm-project?rev=246534&view=rev > Log: > [modules] When emitting line tables, only emit filenames that are actually > referenced by the entries that we emit. > > Modified: > cfe/trunk/lib/Serialization/ASTReader.cpp > cfe/trunk/lib/Serialization/ASTWriter.cpp > > Modified: cfe/trunk/lib/Serialization/ASTReader.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Serialization/ASTReader.cpp?rev=246534&r1=246533&r2=246534&view=diff > > ============================================================================== > --- cfe/trunk/lib/Serialization/ASTReader.cpp (original) > +++ cfe/trunk/lib/Serialization/ASTReader.cpp Tue Sep 1 02:41:55 2015 > @@ -1058,11 +1058,12 @@ bool ASTReader::ParseLineTable(ModuleFil > > // Parse the file names > std::map<int, int> FileIDs; > - for (int I = 0, N = Record[Idx++]; I != N; ++I) { > + for (unsigned I = 0; Record[Idx]; ++I) { > // Extract the file name > auto Filename = ReadPath(F, Record, Idx); > FileIDs[I] = LineTable.getLineTableFilenameID(Filename); > } > + ++Idx; > > // Parse the line entries > std::vector<LineEntry> Entries; > @@ -1074,7 +1075,7 @@ bool ASTReader::ParseLineTable(ModuleFil > > // Extract the line entries > unsigned NumEntries = Record[Idx++]; > - assert(NumEntries && "Numentries is 00000"); > + assert(NumEntries && "no line entries for file ID"); > Entries.clear(); > Entries.reserve(NumEntries); > for (unsigned I = 0; I != NumEntries; ++I) { > > Modified: cfe/trunk/lib/Serialization/ASTWriter.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Serialization/ASTWriter.cpp?rev=246534&r1=246533&r2=246534&view=diff > > ============================================================================== > --- cfe/trunk/lib/Serialization/ASTWriter.cpp (original) > +++ cfe/trunk/lib/Serialization/ASTWriter.cpp Tue Sep 1 02:41:55 2015 > @@ -1981,10 +1981,19 @@ void ASTWriter::WriteSourceManagerBlock( > LineTableInfo &LineTable = SourceMgr.getLineTable(); > > Record.clear(); > - // Emit the file names. > - Record.push_back(LineTable.getNumFilenames()); > - for (unsigned I = 0, N = LineTable.getNumFilenames(); I != N; ++I) > - AddPath(LineTable.getFilename(I), Record); > + > + // Emit the needed file names. > + llvm::DenseMap<int, int> FilenameMap; > + for (const auto &L : LineTable) { > + if (L.first.ID < 0) > + continue; > + for (auto &LE : L.second) { > + if (FilenameMap.insert(std::make_pair(LE.FilenameID, > + FilenameMap.size())).second) > + AddPath(LineTable.getFilename(LE.FilenameID), Record); > + } > + } > + Record.push_back(0); > > // Emit the line entries > for (LineTableInfo::iterator L = LineTable.begin(), LEnd = > LineTable.end(); > @@ -2003,11 +2012,12 @@ void ASTWriter::WriteSourceManagerBlock( > LE != LEEnd; ++LE) { > Record.push_back(LE->FileOffset); > Record.push_back(LE->LineNo); > - Record.push_back(LE->FilenameID); > + Record.push_back(FilenameMap[LE->FilenameID]); > Record.push_back((unsigned)LE->FileKind); > Record.push_back(LE->IncludeOffset); > } > } > + > Stream.EmitRecord(SOURCE_MANAGER_LINE_TABLE, Record); > } > } > > > _______________________________________________ > cfe-commits mailing list > cfe-commits@lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits >
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits