[llvm-bugs] [Bug 47002] New: Assert/crash (Destructor->isDefaulted() && !Destructor->doesThisDeclarationHaveABody() && !Destructor->isDeleted()) && "DefineImplicitDestructor - call it for implicit default dtor"

via llvm-bugs llvm-bugs at lists.llvm.org
Wed Aug 5 00:38:54 PDT 2020


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

            Bug ID: 47002
           Summary: Assert/crash (Destructor->isDefaulted() &&
                    !Destructor->doesThisDeclarationHaveABody() &&
                    !Destructor->isDeleted()) && "DefineImplicitDestructor
                    - call it for implicit default dtor"
           Product: clang
           Version: 11.0
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: release blocker
          Priority: P
         Component: -New Bugs
          Assignee: unassignedclangbugs at nondot.org
          Reporter: jvapen at gmail.com
                CC: htmldeveloper at gmail.com, llvm-bugs at lists.llvm.org,
                    neeilans at live.com, richard-llvm at metafoo.co.uk

This doesn't have issues with LLVM 10.0.0

// E:\LLVM_11_0_0-RC1\bin\clang-cl.exe /nologo /c /GR /EHsc /std:c++17 
-fms-compatibility-version=19.22 t.cpp
struct A  
{
   __declspec(dllexport) explicit A() noexcept {}
   __declspec(dllexport) virtual ~A() noexcept  = default;
};

Result:

Assertion failed: (Destructor->isDefaulted() &&
!Destructor->doesThisDeclarationHaveABody() && !Destructor->isDeleted()) &&
"DefineImplicitDestructor - call it for implicit default dtor", file
C:\src\llvm_package_1100-rc1\llvm-project\clang\lib\Sema\SemaDeclCXX.cpp, line
13262
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash
backtrace, preprocessed source, and associated run script.
Stack dump:
0.      Program arguments:
E:\Development\JVA\Other\Software\LLVM_11_0_0-RC1\bin\clang-cl.exe /nologo /c
/GR /EHsc /std:c++17 -fms-compatibility-version=19.22 t.cpp
1.      t.cpp:5:2: current parser token ';'
2.      t.cpp:1:1: parsing struct/union/class body 'A'
// Stack trace without names
clang-cl: error: clang frontend command failed due to signal (use -v to see
invocation)
clang version 11.0.0
Target: x86_64-pc-windows-msvc
Thread model: posix
InstalledDir: E:\LLVM_11_0_0-RC1\bin
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: E:\Temp\t-f0c36e.cpp
clang-cl: note: diagnostic msg: E:\Temp\t-f0c36e.sh
clang-cl: note: diagnostic msg:

//t-f0c36e.cpp
# 1 "<built-in>"
# 1 "t.cpp"
struct A  
{
   __declspec(dllexport) explicit A() noexcept {}
   __declspec(dllexport) virtual ~A() noexcept  = default;
};

//t-f0c36e.sh
 "E:\\Development\\JVA\\Other\\Software\\LLVM_11_0_0-RC1\\bin\\clang-cl.exe"
"-cc1" "-triple" "x86_64-pc-windows-msvc19.22.0" "-emit-obj" "-mrelax-all"
"-mincremental-linker-compatible" "-disable-free" "-main-file-name" "t.cpp"
"-mrelocation-model" "pic" "-pic-level" "2" "-mframe-pointer=none"
"-relaxed-aliasing" "-fmath-errno" "-fno-rounding-math" "-mconstructor-aliases"
"-munwind-tables" "-target-cpu" "x86-64" "-mllvm" "-x86-asm-syntax=intel"
"-D_MT" "-flto-visibility-public-std" "--dependent-lib=libcmt"
"--dependent-lib=oldnames" "-stack-protector" "2" "-fcxx-exceptions"
"-fexceptions" "-fexternc-nounwind" "-fms-volatile" "-fdiagnostics-format"
"msvc" "-fdeprecated-macro" "-ferror-limit" "19" "-fmessage-length=172"
"-fno-use-cxa-atexit" "-fms-extensions" "-fms-compatibility"
"-fms-compatibility-version=19.22" "-std=c++17" "-fdelayed-template-parsing"
"-fcolor-diagnostics" "-faddrsig" "-x" "c++" "t-f0c36e.cpp"

-- 
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/20200805/f76f13af/attachment-0001.html>


More information about the llvm-bugs mailing list