r246534 - [modules] When emitting line tables, only emit filenames that are actually referenced by the entries that we emit.

Yaron Keren via cfe-commits cfe-commits at lists.llvm.org
Tue Sep 1 01:08:21 PDT 2015


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 at 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 at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20150901/86dc3a02/attachment-0001.html>


More information about the cfe-commits mailing list