[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


            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:\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

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

  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