[LLVMbugs] [Bug 23137] New: Assertion: SymbolMap.find(&A_SD.getSymbol()) != SymbolMap.end() && "Symbol must already have been defined in ExecutePostLayoutBinding!", file lib\MC\WinCOFFObjectWriter.cpp, line 690

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Mon Apr 6 15:36:03 PDT 2015


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

            Bug ID: 23137
           Summary: Assertion: SymbolMap.find(&A_SD.getSymbol()) !=
                    SymbolMap.end() && "Symbol must already have been
                    defined in ExecutePostLayoutBinding!", file
                    lib\MC\WinCOFFObjectWriter.cpp, line 690
           Product: clang
           Version: trunk
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: normal
          Priority: P
         Component: -New Bugs
          Assignee: unassignedclangbugs at nondot.org
          Reporter: douglas_yung at playstation.sony.com
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified

The following code when compiled targeting Windows causes an assertion failure
in the compiler:

//=================
//
// Compile command: clang -cc1 -triple x86_64-pc-windows-msvc -emit-obj
-fcxx-exceptions -fexceptions
//
namespace std {
  inline void A( int* C) {}
  inline void B(int* C ) { A( C); }
  class D {
    public:
    int *E;
    void F(int G) { try { B(this->E ); } catch (...) {} }
  };
}
void foo()
{
    std::D v01;
    v01.F(1024);
}
//=================

When using clang (r234143) built using Visual Studio 2013 Update 4 on my
Windows 7 x64 machine, it produces the following assertion failure:

Assertion failed: SymbolMap.find(&A_SD.getSymbol()) != SymbolMap.end() &&
"Symbol must already have been defined in ExecutePostLayoutBinding!", file
C:\src\llvm\llvm\lib\MC\WinCOFFObjectWriter.cpp, line 690
0x000000013FC8FF55 (0x0000000000000016 0x000007FE23B46E8B 0x0000000000000000
0x0000000077929CAA)
0x000007FEE5A3EE1D (0x000007FE00000001 0x0000000000000000 0x0000000142529C30
0x0000000000000194), raise() + 0x1E9 bytes(s)
0x000007FEE5A44A14 (0x000007FEE5AAC4D0 0x0000000142529C30 0x000000014252A1D0
0x0000000142529C30), abort() + 0x18 bytes(s)
0x000007FEE5A45D5F (0x0000000000E96808 0x0000000000A7D0D0 0x0000000000ED3C10
0x0000000000E96808), _wassert() + 0x94F bytes(s)
0x000000013FAE249A (0x0000000000CC3250 0x0000000000E95C00 0x0000000000EFBE00
0x0000000000EAF9F0)
0x000000013FAC19D3 (0x0000000000000000 0x0000000000CC3250 0x0000000000E95C00
0x0000000000EAFA50)
0x000000013FABC1ED (0x0000000000CC24C0 0x0000000000E94960 0x0000000000A7D450
0x0000000000000016)
0x000000013FFC0D20 (0x0000000000000000 0x0000000000CC24B0 0x0000000000E68AA0
0x0000000000CC2588)
0x000000013F7DB91A (0x0000000000E68AA0 0x0000000000000002 0x0000000000A7D679
0x0000000000000002)
0x000000013F7E4079 (0x0000000000E51D60 0x0000000000E9B6A0 0x0000000000000000
0x0000000000000000)
0x000000013F7E29B9 (0x0000000000CC2478 0x0000000000A7D7B9 0x0000000000A7D880
0x00000001425C91B8)
0x0000000140218AE6 (0x0000000000C890B0 0x0000000000C890B0 0x0000000000A7D910
0x0000000077801A4A)
0x0000000140218CB2 (0x0000000000CC5E40 0x0000000000CC5E40 0x0000000000C8DFD0
0x0000000000CEB300)
0x0000000140200503 (0x0000000000CEB300 0x0000000000E294B0 0x0000000000000000
0x0000000000000000)
0x0000000140A227D5 (0x0000000000000000 0x0000000000A7DB00 0x0000000000C84670
0xFFFFFFFF00000002)
0x000000013FEF152D (0x0000000000C84670 0x0000000000000000 0x000000000000006A
0x0000000000000005)
0x00000001401FFE93 (0x0000000142BDF568 0x0000000000000000 0x0000000000000001
0x0000000000000000)
0x000000013FEF13D9 (0x0000000000000000 0x0000000000C82300 0x0000000000C85A90
0x0000000000000000)
0x000000013FEBA19D (0x000000013FC98B60 0x0000000000C84670 0x0000000000A7DE69
0x000000013FC98C50)
0x000000013FFB832D (0x0000000000A7DF18 0x0000000000C82180 0x0000000000C82220
0x0000000000C8DB48)
0x000000013F22337E (0x0000000000000040 0x0000000000000000 0x0000000142BC5020
0x0000000000A7E5E0)
0x000000013F2197FA (0x0000000000000008 0x0000000000C8CB22 0x0000000000A7E640
0x0000000000000000)
0x000000013F21F9DE (0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000)
0x000000014174A927 (0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000)
0x00000000777F59ED (0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000), BaseThreadInitThunk() + 0xD bytes(s)
0x000000007792C541 (0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000), RtlUserThreadStart() + 0x21 bytes(s)

-- 
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/20150406/1be0a616/attachment.html>


More information about the llvm-bugs mailing list