[llvm-bugs] [Bug 44436] New: Crash related to templates and unqualified lookup into dependent bases

via llvm-bugs llvm-bugs at lists.llvm.org
Wed Jan 1 23:12:08 PST 2020


https://bugs.llvm.org/show_bug.cgi?id=44436

            Bug ID: 44436
           Summary: Crash related to templates and unqualified lookup into
                    dependent bases
           Product: clang
           Version: 9.0
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: normal
          Priority: P
         Component: C++
          Assignee: unassignedclangbugs at nondot.org
          Reporter: cneumair at gnome.org
                CC: blitzrakete at gmail.com, dgregor at apple.com,
                    erik.pilkington at gmail.com, llvm-bugs at lists.llvm.org,
                    richard-llvm at metafoo.co.uk

The attached source file "clangcrash.cpp" crashes Clang 9.0 on Windows 10:

clang -o clangcrash.exe clangcrash.cpp

clang version 9.0.0 (tags/RELEASE_900/final)
Target: x86_64-pc-windows-msvc
Thread model: posix
InstalledDir: C:\Program Files\LLVM\bin
 "C:\\Program Files\\LLVM\\bin\\clang.exe" -cc1 -triple
x86_64-pc-windows-msvc19.22.27905 -emit-obj -mrelax-all
-mincremental-linker-compatible -disable-free -disable-llvm-verifier
-discard-value-names -main-file-name clangcrash.cpp -mrelocation-model pic
-pic-level 2 -mthread-model posix -fmath-errno -masm-verbose
-mconstructor-aliases -munwind-tables -target-cpu x86-64 -dwarf-column-info
-momit-leaf-frame-pointer -v -resource-dir "C:\\Program
Files\\LLVM\\lib\\clang\\9.0.0" -internal-isystem "C:\\Program
Files\\LLVM\\lib\\clang\\9.0.0\\include" -internal-isystem "C:\\Program Files
(x86)\\Microsoft Visual
Studio\\2019\\Professional\\VC\\Tools\\MSVC\\14.22.27905\\include"
-internal-isystem "C:\\Program Files (x86)\\Windows
Kits\\10\\Include\\10.0.18362.0\\ucrt" -internal-isystem "C:\\Program Files
(x86)\\Windows Kits\\10\\include\\10.0.18362.0\\shared" -internal-isystem
"C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.18362.0\\um"
-internal-isystem "C:\\Program Files (x86)\\Windows
Kits\\10\\include\\10.0.18362.0\\winrt" -fdeprecated-macro
-fdebug-compilation-dir "c:\\Users\\neumair\\Desktop\\clang crash"
-ferror-limit 19 -fmessage-length 0 -fno-use-cxa-atexit -fms-extensions
-fms-compatibility -fms-compatibility-version=19.22.27905 -std=c++14
-fdelayed-template-parsing -fobjc-runtime=gcc -fcxx-exceptions -fexceptions
-fdiagnostics-show-option -faddrsig -o
"C:\\Users\\neumair\\AppData\\Local\\Temp\\clangcrash-41b20c.o" -x c++
clangcrash.cpp
clang -cc1 version 9.0.0 based upon LLVM 9.0.0 default target
x86_64-pc-windows-msvc
#include "..." search starts here:
#include <...> search starts here:
 C:\Program Files\LLVM\lib\clang\9.0.0\include
 C:\Program Files (x86)\Microsoft Visual
Studio\2019\Professional\VC\Tools\MSVC\14.22.27905\include
 C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt
 C:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared
 C:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\um
 C:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt
End of search list.
clangcrash.cpp:17:40: warning: use of undeclared identifier 'CTestBase';
unqualified lookup into dependent bases of class template 'CTest' is a
Microsoft extension [-Wmicrosoft-template]
      return (this->*static_cast<bool
(CTestBase::*)()const>(&CTestBase::CheckValid))();
                                       ^
clangcrash.cpp:17:63: warning: use of undeclared identifier 'CTestBase';
unqualified lookup into dependent bases of class template 'CTest' is a
Microsoft extension [-Wmicrosoft-template]
      return (this->*static_cast<bool
(CTestBase::*)()const>(&CTestBase::CheckValid))();
                                                              ^
Stack dump:
0.      Program arguments: C:\Program Files\LLVM\bin\clang.exe -cc1 -triple
x86_64-pc-windows-msvc19.22.27905 -emit-obj -mrelax-all
-mincremental-linker-compatible -disable-free -disable-llvm-verifier
-discard-value-names -main-file-name clangcrash.cpp -mrelocation-model pic
-pic-level 2 -mthread-model posix -fmath-errno -masm-verbose
-mconstructor-aliases -munwind-tables -target-cpu x86-64 -dwarf-column-info
-momit-leaf-frame-pointer -v -resource-dir C:\Program
Files\LLVM\lib\clang\9.0.0 -internal-isystem C:\Program
Files\LLVM\lib\clang\9.0.0\include -internal-isystem C:\Program Files
(x86)\Microsoft Visual
Studio\2019\Professional\VC\Tools\MSVC\14.22.27905\include -internal-isystem
C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt
-internal-isystem C:\Program Files (x86)\Windows
Kits\10\include\10.0.18362.0\shared -internal-isystem C:\Program Files
(x86)\Windows Kits\10\include\10.0.18362.0\um -internal-isystem C:\Program
Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt -fdeprecated-macro
-fdebug-compilation-dir c:\Users\neumair\Desktop\clang crash -ferror-limit 19
-fmessage-length 0 -fno-use-cxa-atexit -fms-extensions -fms-compatibility
-fms-compatibility-version=19.22.27905 -std=c++14 -fdelayed-template-parsing
-fobjc-runtime=gcc -fcxx-exceptions -fexceptions -fdiagnostics-show-option
-faddrsig -o C:\Users\neumair\AppData\Local\Temp\clangcrash-41b20c.o -x c++
clangcrash.cpp 
1.      clangcrash.cpp:17:85: current parser token ')'
2.      clangcrash.cpp:14:4: parsing function body 'CTest::CheckValid'
3.      clangcrash.cpp:14:4: in compound statement ('{}')
 #0 0x00007ff60923be80 C:\Program Files\LLVM\bin\clang.exe 0x2f9be80 C:\Program
Files\LLVM\bin\clang.exe 0x2f5a99b
 #1 0x00007ff60923be80 C:\Program Files\LLVM\bin\clang.exe 0x2c240df C:\Program
Files\LLVM\bin\clang.exe 0x2c2b399
 #2 0x00007ff60923be80 C:\Program Files\LLVM\bin\clang.exe 0x2d1adc9 C:\Program
Files\LLVM\bin\clang.exe 0x280184b
 #3 0x00007ff60923be80 C:\Program Files\LLVM\bin\clang.exe 0x27ea4c9 C:\Program
Files\LLVM\bin\clang.exe 0x27e7410
 #4 0x00007ff60923be80 C:\Program Files\LLVM\bin\clang.exe 0x27e6886 C:\Program
Files\LLVM\bin\clang.exe 0x27f1400
 #5 0x00007ff60923be80 C:\Program Files\LLVM\bin\clang.exe 0x27eb742 C:\Program
Files\LLVM\bin\clang.exe 0x27e6823
 #6 0x00007ff60923be80 C:\Program Files\LLVM\bin\clang.exe 0x27e6725 C:\Program
Files\LLVM\bin\clang.exe 0x27dd9bd
 #7 0x00007ff60923be80 C:\Program Files\LLVM\bin\clang.exe 0x27d6ef0 C:\Program
Files\LLVM\bin\clang.exe 0x27d670c
 #8 0x00007ff60923be80 C:\Program Files\LLVM\bin\clang.exe 0x27df559 C:\Program
Files\LLVM\bin\clang.exe 0x27e01f6
 #9 0x00007ff60923be80 C:\Program Files\LLVM\bin\clang.exe 0x277b946 C:\Program
Files\LLVM\bin\clang.exe 0x2d89e2c
#10 0x00007ff60923be80 C:\Program Files\LLVM\bin\clang.exe 0x2d8cda1 C:\Program
Files\LLVM\bin\clang.exe 0x2846be9
#11 0x00007ff60923be80 C:\Program Files\LLVM\bin\clang.exe 0x284721c C:\Program
Files\LLVM\bin\clang.exe 0x275f380
#12 0x00007ff60923be80 C:\Program Files\LLVM\bin\clang.exe 0x275b44e C:\Program
Files\LLVM\bin\clang.exe 0x1cb3492
#13 0x00007ff60923be80 C:\Program Files\LLVM\bin\clang.exe 0x1c771cf C:\Program
Files\LLVM\bin\clang.exe 0x1d09c87
#14 0x00007ff60923be80 C:\Program Files\LLVM\bin\clang.exe 0x6e87 C:\Program
Files\LLVM\bin\clang.exe 0x4564
#15 0x00007ff60923be80 C:\Program Files\LLVM\bin\clang.exe 0x33dda20
(C:\Program Files\LLVM\bin\clang.exe+0x2f9be80)
#16 0x00007ff60923be80 
#17 0x00007ff60923be80 (C:\Program Files\LLVM\bin\clang.exe+0x2f9be80)
0x00007FF60923BE80 (0x000002490275C0B0 0x00007FF6091F52DB 0x0000000000000000
0x0000000000000100)
0x00007FF6091FA99B (0x000000C132F89310 0x000000C132F89408 0x0000000000000000
0x0100291B000001FB)
0x00007FF608EC40DF (0x0000000000000000 0x0000291BF61AC2D3 0x00007FF609481724
0x00007FF60A817E8C)
0x00007FF608ECB399 (0x00007FF60A817E8C 0x000002490449A820 0x000000C132F89B88
0x000000000800008E)
0x00007FF608FBADC9 (0x00000249026E48E0 0x000000C132F89B38 0x0000000100000000
0x000000C132F89CB0)
0x00007FF608AA184B (0x0000000008000090 0x00000249044A3560 0x00000249044A5A18
0x0100000000000000)
0x00007FF608A8A4C9 (0x0000000000000272 0x0000000000000000 0x0000291BF61AEA00
0x000002490449A830)
0x00007FF608A87410 (0x0000000000000000 0x0000000000000000 0x000000C100000000
0x0000000000000000)
0x00007FF608A86886 (0x0000000000000000 0x00007FF608EBFD7B 0x000000C132F8B3A0
0x0000000C00000000)
0x00007FF608A91400 (0x0000291BF61AE6E3 0x0000000000000001 0x00000249044A57F8
0x0000000000000000)
0x00007FF608A8B742 (0x000000C132F8D768 0x000002490449A820 0x000000C132F8CD80
0x00007FF608A03556)
0x00007FF608A86823 (0x0000400000280020 0x00007FF6094814EF 0x0000000000000000
0x000002490276EE20)
0x00007FF608A86725 (0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000)
0x00007FF608A7D9BD (0x0000024902748C50 0x000000000000000B 0x00000000000000B7
0x000000C132F8D4B8)
0x00007FF608A76EF0 (0x000000C1C10000C1 0x00007FF608E62FD7 0x0000000040010041
0x0000291BF61A96E3)
0x00007FF608A7670C (0x0000024902670000 0x0000000000000558 0x00000249044A0000
0x00007FFBCE47267D)
0x00007FF608A7F559 (0x00000249044A39F8 0x0000000000000048 0x000000C132F8D240
0x00000249026FA7D0)
0x00007FF608A801F6 (0x0000000000000002 0x00007FFBCE46D997 0x000000C132F8D500
0x000000C132F8D360)
0x00007FF608A1B946 (0x0000024902670000 0x000000C132F8D389 0x0000000000000003
0x00007FFBCE46D997)
0x00007FF609029E2C (0x0000000000000000 0x00007FF608BB0DAC 0x0000000000000000
0x0000000000000000)
0x00007FF60902CDA1 (0x0000000000000003 0x0000000000007000 0x00000249027426A0
0x0000000000000000)
0x00007FF608AE6BE9 (0x0000000000000000 0x000000C132F8DB60 0x0000000000000000
0x00007FF608A14FB9)
0x00007FF608AE721C (0x000002490276ADE0 0x00007FF60966974E 0x000000C132F8FB60
0x000000C132F8DC30)
0x00007FF6089FF380 (0x000000C132F8DD38 0x000000C132F8DD48 0x000000C132F8DD78
0x00007FF607F142AA)
0x00007FF6089FB44E (0x0000000000000001 0x0000291BF61A82F3 0x0000000000000000
0x000000000000000F)
0x00007FF607F53492 (0x0000024902701D50 0x00007FF600000000 0x00000000000000C0
0x000000C132F8DD68)
0x00007FF607F171CF (0x000002490272E701 0x000000C132F8E060 0x000000C132F8EC01
0x0000000000000000)
0x00007FF607FA9C87 (0x0000000000000001 0x0000000000000201 0x00000249026C43D0
0x000002490267B068)
0x00007FF6062A6E87 (0x000000C132F8E798 0x00007FFB00000002 0xFFFFFFFFFFFFFFFE
0x0000000000000000)
0x00007FF6062A4564 (0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000)
0x00007FF60967DA20 (0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000)
0x00007FFBCDFE7974 (0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000), BaseThreadInitThunk() + 0x14 bytes(s)
0x00007FFBCE4CA271 (0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000), RtlUserThreadStart() + 0x21 bytes(s)
clang: error: clang frontend command failed due to signal (use -v to see
invocation)
clang version 9.0.0 (tags/RELEASE_900/final)
Target: x86_64-pc-windows-msvc
Thread model: posix
InstalledDir: C:\Program Files\LLVM\bin
clang: 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: note: diagnostic msg: 
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang: note: diagnostic msg:
C:\Users\neumair\AppData\Local\Temp\clangcrash-7fd37a.cpp
clang: note: diagnostic msg:
C:\Users\neumair\AppData\Local\Temp\clangcrash-7fd37a.sh
clang: note: diagnostic msg: 

********************

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20200102/4d58af57/attachment-0001.html>


More information about the llvm-bugs mailing list