aboutsummaryrefslogtreecommitdiff
path: root/test/CodeGenCXX/class-layout.cpp
AgeCommit message (Collapse)Author
2012-04-27Add a missing check in CodeGen of packed classes with vtables. ↵Eli Friedman
<rdar://problem/11324125>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155689 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-07Record layout requires not just a definition, but a completeJohn McCall
definition. Assert this. Change IR generation to not try to aggressively emit the IR translation of a record during its own definition. Fixes PR10912. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141350 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-09clang side to match the LLVM IR type system rewrite patch.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134831 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-17Use the right type name.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129674 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-17When laying out bases in, always try the "base subobject" LLVM type. If itAnders Carlsson
turns out that a field or base needs to be laid out in the tail padding of the base, CGRecordLayoutBuilder::ResizeLastBaseFieldIfNecessary will convert it to an array of i8. I've audited the new test results to make sure that they are still valid. I've also verified that we pass a self-host with this change. This (finally) fixes PR5589! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129673 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-05Put each test in class-layout.cpp into a separate namespace.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120925 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-05Use a more appropriate LLVM type for the vtable pointer.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103078 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-16Baby steps towards fixing PR5589. If a class needs a vtable pointer, add one.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91545 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-15Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'.Daniel Dunbar
- This is designed to make it obvious that %clang_cc1 is a "test variable" which is substituted. It is '%clang_cc1' instead of '%clang -cc1' because it can be useful to redefine what gets run as 'clang -cc1' (for example, to set a default target). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91446 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-08No need to add tail padding if the resulting LLVM struct type will have the ↵Anders Carlsson
same size as the final record size. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90820 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-08Eliminate &&s in tests.Daniel Dunbar
- 'for i in $(find . -type f); do sed -e 's#\(RUN:.*[^ ]\) *&& *$#\1#g' $i | FileUpdate $i; done', for the curious. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86430 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-27Use the CGRecordLayoutBuilder even if there are no fields, because in C++ an ↵Anders Carlsson
empty class will have a padding byte. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77205 91177308-0d34-0410-b5e6-96231b3b80d8