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

            Bug ID: 24020
           Summary: Assertion failure on packed derived class
           Product: clang
           Version: trunk
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: normal
          Priority: P
         Component: C++
          Assignee: [email protected]
          Reporter: [email protected]
                CC: [email protected], [email protected]
    Classification: Unclassified

Following example gives Assertion failure
---------------------------------------
struct Base
{
    char one;
    short two;
};

struct BasePacked {
    char one;
    short two;
} __attribute__((packed));
struct DerivedPacked : public BasePacked { int three; };
int FuncForDerivedPacked(DerivedPacked d)
{
    return d.three;
}
---------------------------------------------------

clang version 3.7.0 (trunk 241287)
Target: x86_64-unknown-linux-gnu


$clang++  -cc1 -emit-obj  -triple x86_64-unknown-linux-gnu ul.cpp
clang-3.7: /llvm/tools/clang/lib/CodeGen/TargetInfo.cpp:1821: static
{anonymous}::X86_64ABIInfo::Class
{anonymous}::X86_64ABIInfo::merge({anonymous}::X86_64ABIInfo::Class,
{anonymous}::X86_64ABIInfo::Class): Assertion `(Accum != Memory && Accum !=
ComplexX87) && "Invalid accumulated classification during merge."' failed

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs

Reply via email to