[llvm-bugs] [Bug 35560] New: Clang 5.0 crashes during constexpr evaluation

via llvm-bugs llvm-bugs at lists.llvm.org
Thu Dec 7 06:11:33 PST 2017


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

            Bug ID: 35560
           Summary: Clang 5.0 crashes during constexpr evaluation
           Product: clang
           Version: 5.0
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: normal
          Priority: P
         Component: -New Bugs
          Assignee: unassignedclangbugs at nondot.org
          Reporter: littlesnorrboy at gmail.com
                CC: llvm-bugs at lists.llvm.org

Created attachment 19525
  --> https://bugs.llvm.org/attachment.cgi?id=19525&action=edit
Files dumped by clang

Hi

I attempted to do https://adventofcode.com/2017/day/3 part 2 using only
constexpr.


Compiling and running the code without compile time evaluation 
aka. 
...
    auto result = solve(11);
...

works as expected.
However when I force compile time evaluation
...
    constexpr auto result = solve(11);
...
The compiler crashes.

On GCC 7.2 it compiles as expected.

Link to the source code (see day3.cpp)
https://github.com/snorrwe/advent-2017/tree/master/day3

Link to compiler explorer: https://godbolt.org/g/MqnpCA

See the attachments for the dumped files.

////////////////////////////////////////////////////

Full error message:


clang version 5.0.0 (tags/RELEASE_500/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.11.25547 -emit-obj -mincremental-linker-compatible
-disable-free -disable-llvm-verifier -discard-value-names -main-file-name
day3.cpp -mrelocation-model pic -pic-level 2 -mthread-model posix -fmath-errno
-masm-verbose -mconstructor-aliases -munwind-tables -target-cpu x86-64
-momit-leaf-frame-pointer -v -dwarf-column-info -debugger-tuning=gdb
-resource-dir "C:\\Program Files\\LLVM\\lib\\clang\\5.0.0" -internal-isystem
"C:\\Program Files\\LLVM\\lib\\clang\\5.0.0\\include" -internal-isystem
"C:\\Program Files (x86)\\Microsoft Visual
Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.11.25503\\include"
-internal-isystem "C:\\Program Files (x86)\\Windows
Kits\\10\\Include\\10.0.16299.0\\ucrt" -internal-isystem "C:\\Program Files
(x86)\\Windows Kits\\10\\include\\10.0.16299.0\\shared" -internal-isystem
"C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.16299.0\\um"
-internal-isystem "C:\\Program Files (x86)\\Windows
Kits\\10\\include\\10.0.16299.0\\winrt" -O3 -std=c++1z -fdeprecated-macro
-fdebug-compilation-dir "C:\\Users\\Frenetiq\\Documents\\GitHub\\advent\\day3"
-ferror-limit 19 -fmessage-length 230 -fms-extensions -fms-compatibility
-fms-compatibility-version=19.11.25547 -fdelayed-template-parsing
-fobjc-runtime=gcc -fcxx-exceptions -fexceptions -fdiagnostics-show-option
-fcolor-diagnostics -vectorize-loops -vectorize-slp -o
"C:\\Users\\Frenetiq\\AppData\\Local\\Temp\\day3-eadc82.o" -x c++ day3.cpp
clang -cc1 version 5.0.0 based upon LLVM 5.0.0 default target
x86_64-pc-windows-msvc
#include "..." search starts here:
#include <...> search starts here:
 C:\Program Files\LLVM\lib\clang\5.0.0\include
 C:\Program Files (x86)\Microsoft Visual
Studio\2017\Community\VC\Tools\MSVC\14.11.25503\include
 C:\Program Files (x86)\Windows Kits\10\Include\10.0.16299.0\ucrt
 C:\Program Files (x86)\Windows Kits\10\include\10.0.16299.0\shared
 C:\Program Files (x86)\Windows Kits\10\include\10.0.16299.0\um
 C:\Program Files (x86)\Windows Kits\10\include\10.0.16299.0\winrt
End of search list.
Wrote crash dump file
"C:\Users\Frenetiq\AppData\Local\Temp\clang++.exe-174568.dmp"
0x00007FF6BFA64A20 (0x00000062BB984868 0x000002381A1F3E10 0x0000000000000000
0x00007FF6BF22790C)
0x00007FF6BFA63C25 (0x00000062BB984868 0x000090EDB39AF83C 0x0000000000000080
0x000090EC00000040)
0x00007FF6BFA909AD (0x0000000000000000 0x0000000000000000 0x00000062BB984BA0
0x00000062BB984BE0)
0x00007FF6BFA609DF (0x000002381A21EE21 0x00007FF6BFAA72B2 0x000002381A222878
0x00000062BB985530)
0x00007FF6BFA7A109 (0x00000062BB989498 0x00007FF6BFA73E5A 0x0000000000000000
0x0000000000000000)
0x00007FF6BFA609DF (0x0000000000000000 0x0000000000000000 0x0000000000000000
0x000090EDB39AF83C)
0x00007FF6BFA763A6 (0x0000023800000004 0x0000023800000030 0x0000000000000000
0x000002381A21DD50)
0x00007FF6BFA75302 (0x00000000FFFFFFFF 0x000002381A203CB0 0x00000062BB985C70
0x00000062BB985F80)
0x00007FF6BFA6237F (0x0000000000000000 0x0000000000000000 0x0000000000000000
0x00000062BB986900)
0x00007FF6BFA88A63 (0x0000023800000010 0x0000006200000010 0x0000000000000000
0x00000238174E98C0)
0x00007FF6BFA7791B (0x0000000000000000 0x00000062BB9863E0 0x0000023817450000
0x00007FFAD9CFAF7E)
0x00007FF6BFA609DF (0x000002381A21EA58 0x0000000000000000 0x0000023800000014
0x0000006200000000)
0x00007FF6BFA74D18 (0x00000062BB986501 0x00000062BB9866B0 0x000002381A230E18
0x000002381A230350)
0x00007FF6BFA75302 (0x0000000000000001 0x00007FF6BF316E7A 0x0000006200000000
0x000090EDB39AF83C)
0x00007FF6BFA75DD6 (0x0000023800000010 0x0000006200000000 0x0000000000000000
0x000002381A201291)
0x00007FF6BFA75302 (0x0000023817450000 0x000002381A206B70 0x00000062BB986BA0
0x00000062BB986EC0)
0x00007FF6BFA6237F (0x0000000000000000 0x00007FF6BFA98E10 0x0000000000000070
0x0000023817550CC0)
0x00007FF6BFA9DF43 (0x00000062BB987138 0x00007FF6BFA7078B 0x0000000000000000
0x00007FF6BFA7759E)
0x00007FF6BFA5DEDA (0x0000000000000000 0x0000000000000000 0x0000000000000000
0x00000000FFFFFFFF)
0x00007FF6BFA76F48 (0x0000023817450000 0x00007FFAD9CFAF7E 0x0000000000000000
0x00007FF600000000)
0x00007FF6BFA760D7 (0x000002381A1A4C80 0x00007FF6BFA7098B 0x000002381A230758
0x000002381A1A4C80)
0x00007FF6BFA75302 (0x000002381A230758 0x0000000000000000 0x000090ED00000010
0x0000023800000000)
0x00007FF6BFA76AEC (0x000002381A1A4C80 0x00007FF6BFA7098B 0x000002381A2305E8
0x000002381A1A4C80)
0x00007FF6BFA75302 (0x000002381A2305E8 0x0000000000000000 0x0000023800000010
0x0000006200000000)
0x00007FF6BFA75DD6 (0x000002381A230558 0x0000000000000000 0x0000023800000010
0x0000006200000000)
0x00007FF6BFA75302 (0x000090EDB39AF83C 0x00007FF6BFA76C68 0x00000062BB989401
0x000002381A22F1F0)
0x00007FF6BFA75DD6 (0x0000023800000004 0x0000023800000000 0x0000000000000000
0x000002381A201290)
0x00007FF6BFA75302 (0x0000023817459774 0x000002381A230310 0x00000062BB987D80
0x00000062BB9880A0)
0x00007FF6BFA6237F (0x0000000000000000 0x00007FF6BFA98E10 0x0000000000000070
0x0000023817550CC0)
0x00007FF6BFA9DF43 (0x00000062BB988318 0x00007FF6BFA7078B 0x00000238174E9801
0x00007FF6BFA7759E)
0x00007FF6BFA5DEDA (0x0000023800000000 0x0000000000000060 0x0000000000000000
0x0000000000000070)
0x00007FF6BFA76F48 (0x000002381A234A70 0x0000000000000002 0x0000023800000DCF
0x0000023800000DCF)
0x00007FF6BFA760D7 (0x000002381A234960 0x0000000000000000 0x000090ED00000004
0x0000006200000000)
0x00007FF6BFA75302 (0x00000062BB988780 0x00007FF6BFA43E27 0x00000062BB988788
0x00007FF6BFA39465)
0x00007FF6BFA75914 (0x0000023800000002 0x0000006200000000 0x0000000000000000
0x00000238174E98C1)
0x00007FF6BFA75302 (0x000002381A232840 0x000002381A2342F0 0x00000062BB988A60
0x00000062BB988D70)
0x00007FF6BFA6237F (0x0000023800000000 0x000002381A233AC0 0x00000062BB988CE0
0x00000062BB988D20)
0x00007FF6BFA88A63 (0x00000062BB988EF0 0x0000000000000000 0x00000062BB988F00
0x00000062BB989038)
0x00007FF6BFA7791B (0x0000000000000000 0x00000062BB9890D0 0x000002381A24A488
0x0000000000000000)
0x00007FF6BFA609DF (0x000002381A234000 0x00000238174DFEF0 0x000002381A24A510
0x00007FFAD66AF566)
0x00007FF6BFA5DE62 (0x0000000000000003 0x000002381749D900 0xFFFFFFFFFFFFFFF8
0x00007FF6BE6C2F2D)
0x00007FF6BFA5DD35 (0x0000000000000000 0x0000000000000000 0x0000000000000000
0x00000238175250C0)
0x00007FF6BF9C0800 (0x000002381A22E988 0x00000062BB98B5A0 0x0000000000000000
0x00000238175255FC)
0x00007FF6BF2B03EB (0x0000023819279FB0 0x0000000000000000 0x000002381752B758
0x0000000000000002)
0x00007FF6BF2AE8A2 (0x0000000000000002 0x0000023817529AE0 0x00000062BB98BA38
0x0000000000000005)
0x00007FF6BF077762 (0x00000238175250C0 0x000002381A233DB0 0x000002381A233DD8
0x0000000000000000)
0x00007FF6BF074BF9 (0x000090EDB39AF83C 0x000002381A233F48 0x000002381A233F48
0x00000238175250C0)
0x00007FF6BF06FE9B (0x00000062BB98CA10 0x0000000000000000 0x0000000000000000
0x00007FF6BF04EFCC)
0x00007FF6BF06F999 (0x000002381752B743 0x000002381752B820 0x000002381752B701
0x00007FF6C08BB9F0)
0x00007FF6BF09F623 (0x01000062BB98CB20 0x0000023800000001 0x000090EDB39AF83C
0x00007FF6BFBC1BDC)
0x00007FF6BF09F27D (0x000002381752ED98 0x00000238198659C0 0x0000000000000000
0x0000000000000000)
0x00007FF6BF0A6620 (0x0000000000000000 0x00000238175250C0 0x00000238198659C0
0x00007FF6BF35AECE)
0x00007FF6BF0A700F (0x00000062BB98CCE8 0x00000062BB98DCF8 0x00007FF6BFBB4868
0x00007FF6BFBB4852)
0x00007FF6BF033D08 (0x0000000000000000 0x00000238198656A0 0x00007FF60000099B
0x000002381A224D60)
0x00007FF6BF074AE0 (0x000006CE00000000 0x00000062BB98DC70 0x0000023817529DE8
0x0000000000000000)
0x00007FF6BF03307D (0x000002381749D900 0x0000000000000000 0x0000000000000000
0x0000000000000A95)
0x00007FF6BF0329B4 (0x00000238174EF680 0x0000000000000000 0x000090EDB39AF83C
0x000002381A224FA0)
0x00007FF6BF031976 (0x00000238174EC730 0x00007FF6BFD1EA77 0x0000000000000000
0x00000062BB98DDA0)
0x00007FF6BF0305E4 (0x0000000000000000 0x00007FFAD9D00F20 0x0000000000000000
0x0000000000000000)
0x00007FF6BF02D496 (0x0000000000000000 0x0000000000000000 0x000002381745DA10
0x000002381745DA10)
0x00007FF6BEA9AD2A (0x00007FFA00000012 0x00007FF600000000 0x0000000000000009
0x0000023800000013)
0x00007FF6BEA66AD0 (0x00000062BB98E088 0x00007FF6BEA6168B 0x000002381745FAE0
0x000000000000002E)
0x00007FF6BEADAF9C (0x0000000000000000 0x0000000017450101 0x0000000000000081
0x0000000000000008)
0x00007FF6BD3C5EAB (0x0000000000000042 0x0000000000000016 0x00000238174735D0
0x00000238174735C0)
0x00007FF6BD3C4293 (0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000)
0x00007FF6BFD405E9 (0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000)
0x00007FFAD7482774 (0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000), BaseThreadInitThunk() + 0x14 bytes(s)
0x00007FFAD9D40D51 (0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000), RtlUserThreadStart() + 0x21 bytes(s)
clang++.exe: error: clang frontend command failed due to signal (use -v to see
invocation)
clang version 5.0.0 (tags/RELEASE_500/final)
Target: x86_64-pc-windows-msvc
Thread model: posix
InstalledDir: C:\Program Files\LLVM\bin
clang++.exe: note: diagnostic msg: PLEASE submit a bug report to
http://llvm.org/bugs/ and include the crash backtrace, preprocessed source, and
associated run script.
clang++.exe: 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/20171207/df090d06/attachment-0001.html>


More information about the llvm-bugs mailing list