[LLVMbugs] [Bug 21800] New: MSABI Record Layout is broken with external sources

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Tue Dec 9 16:18:31 PST 2014


http://llvm.org/bugs/show_bug.cgi?id=21800

            Bug ID: 21800
           Summary: MSABI Record Layout is broken with external sources
           Product: clang
           Version: unspecified
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: normal
          Priority: P
         Component: LLVM Codegen
          Assignee: david.majnemer at gmail.com
          Reporter: zturner at google.com
                CC: llvmbugs at cs.uiuc.edu, zturner at google.com
    Classification: Unclassified

To reproduce this, one can run the following LLDB test:

D:\python_src\Python-2.7.8\PCbuild\python_d.exe 
D:\src\llvm\tools\lldb\test/dotest.py -q --arch=i686 --executable
D:/src/llvm/build/ninja/bin/lldb.exe -s
D:/src/llvm/build/ninja/lldb-test-traces -u CXXFLAGS -u CFLAGS -C
D:\src\llvm\build\ninja\bin\clang.exe -p TestDataFormatterLibcxxVBool.py
D:\src\llvm\tools\lldb\test\functionalities\data-formatter\data-formatter-stl\libcxx\vbool

You will get the following assertion failure:

Assertion failed: Allowed && "Externally-placed field cannot be placed here",
file ..\..\tools\clang\lib\AST\RecordLayoutBuilder.cpp, line 1738

This is happening because in RecordLayoutBuilder.cpp, the following check in
ASTContext::getASTRecordLayout():

  if (isMsLayout(D) && !D->getASTContext().getExternalSource()) {
    NewEntry = BuildMicrosoftASTRecordLayout(D);
  }

is failing since getExternalSource() is returning true, so it is trying to use
non-MSABI record layout.

Data formatter tests need to be disabled on Windows until this is fixed, so
please re-enable them, or file a bug to re-enable them, once this is fixed.

-- 
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/20141210/0a347f8f/attachment.html>


More information about the llvm-bugs mailing list