History log of /external/clang/test/CodeGen/designated-initializers.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
176edba5311f6eff0cad2631449885ddf4fbc9ea 01-Dec-2014 Stephen Hines <srhines@google.com> Update aosp/master Clang for rebase to r222490.

Change-Id: Ic557ac55e97fbf6ee08771c7b7c3594777b0aefd
/external/clang/test/CodeGen/designated-initializers.c
4e49952712ff9b1b1696cb07580b2b24a3ca99e1 03-Oct-2013 Matthew Curtis <mcurtis@codeaurora.org> Gracefully (and correctly) handle init of multiple union members

We now emit warnings when doing so and code generation is consistent
with GCC. Note that the C99 spec is unclear as to the precise
behavior.

See also ...
Bug:
http://llvm.org/bugs/show_bug.cgi?id=16644 and

cfe-dev discussion:
http://lists.cs.uiuc.edu/pipermail/cfe-dev/2013-September/031918.html



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191890 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/designated-initializers.c
188ddb14a82792f2d9405706ae38fccb79a066fd 11-Jun-2013 Eli Friedman <eli.friedman@gmail.com> Correctly handle designated initializers which modify an array initialized
with a string. This case is sort of tricky because we can't modify the
StringLiteral used to represent such initializers.
We are forced to decompose the string into individual characters.

Fixes <rdar://problem/10465114>.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@183791 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/designated-initializers.c
cd87d1e4d1b0097877b0f9c2065900717d2aacba 12-Jul-2011 Chris Lattner <sabre@nondot.org> fix an unintended behavior change in the type system rewrite, which caused us to compile
stuff like this:

typedef struct {
int x, y, z;
} foo_t;

foo_t g;

into:
%"struct.<anonymous>" = type { i32, i32, i32 }
we now get:
%struct.foo_t = type { i32, i32, i32 }

This doesn't change the behavior of the compiler, but makes the IR much easier to read.




git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134969 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/designated-initializers.c
9cbe4f0ba01ec304e1e3d071c071f7bca33631c0 09-Jul-2011 Chris Lattner <sabre@nondot.org> clang side to match the LLVM IR type system rewrite patch.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134831 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/designated-initializers.c
c5cbb909e8a27deb8f1a2b6b7bf56a96051af81a 20-Jun-2011 Chris Lattner <sabre@nondot.org> Update to match mainline ConstantStruct::get API change. Also, use
ConvertType on InitListExprs as they are being converted. This is
needed for a forthcoming patch, and improves the IR generated anyway
(see additional type names in testcases).

This patch also converts a bunch of std::vector's in CGObjCMac to use
C arrays. There are a ton more that should be converted as well.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133413 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/designated-initializers.c
022d13de47a5f02d1e4089fa3360fae8bcb17666 08-Oct-2010 Douglas Gregor <dgregor@apple.com> This patch fixes multiple issues in clang's designated init builder and
completes support for C1X anonymous struct/union init features:

* Indexed anonymous member initializers should not be expanded. Doing so makes
little sense and would cause unresolvable semantic ambiguity in valid code
(regression introduced by r69153).

* Subobject initialization of (possibly nested) anonymous members are now
referred to with paths relative to the naming record context, eliminating the
synthesis of incorrect implicit InitListExprs that caused CodeGen to assert.

* Field lookup was missing a null check in IdentifierInfo comparison which
caused lookup for a known (already resolved) field to match the first unnamed
data member it encountered leading to silent miscompilation.

* Subobject paths are no longer built using the general purpose
Sema::BuildAnonymousStructUnionMemberPath(). If any corner cases crop up, we
will now assert earlier in Sema instead of passing invalid InitListExprs
through to CodeGen.

Fixes PR6955, from Alp Toker!


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116098 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/designated-initializers.c
bd7de38eae1fc20ee88db63f469c54241bc240f8 06-Sep-2010 Chris Lattner <sabre@nondot.org> move the hackaround for PR6537 to catch unions as well,
fixing the ICE in PR7151


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113130 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/designated-initializers.c
69cf5de24740d25b8b63126911eb9ccb8672cb07 16-Apr-2010 Nuno Lopes <nunoplopes@sapo.pt> add another test for the undef patch just for to have peace of mind :)
this follows from C99 6.7.8p10: if it is a union, the first named member is initialized

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101539 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/designated-initializers.c
cdb30b41590bf9e20d1d46a866fce071ebadf21a 16-Apr-2010 Nuno Lopes <nunoplopes@sapo.pt> emit padding as undef values, take 2
merge also a few tests I had here for this feature, and FileCheck'ize one file

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101535 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/designated-initializers.c
a5728872c7702ddd09537c95bc3cbd20e1f2fb09 15-Dec-2009 Daniel Dunbar <daniel@zuster.org> Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'.
- 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
/external/clang/test/CodeGen/designated-initializers.c
4fcfde4d5c8f25e40720972a5543d538a0dcb220 08-Nov-2009 Daniel Dunbar <daniel@zuster.org> Eliminate &&s in tests.
- '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
/external/clang/test/CodeGen/designated-initializers.c
8dca3b3d09ff48b3ec528cd603f835f120c4d9ee 27-Jul-2009 Anders Carlsson <andersca@mac.com> Enable the new constant struct builder by default. The old code is still in place but will be removed shortly. The new struct builder works on big endian systems.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77185 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/designated-initializers.c
68c56dea080efd6db7a444de84c270bf4e2d4d2e 28-Mar-2009 Douglas Gregor <dgregor@apple.com> Fix <rdar://problem/6724396>, where we were silently dropping
GNU-style array designators, causing us to emit broken initializers.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67878 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/designated-initializers.c
d7d5f0223bd30dfd618762349c6209dd1d5ea3e6 24-Mar-2009 Daniel Dunbar <daniel@zuster.org> Rename clang to clang-cc.

Tests and drivers updated, still need to shuffle dirs.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67602 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/designated-initializers.c
0d7b091ffd100ca2cf51c686635a5d2bfbbad639 03-Feb-2009 Daniel Dunbar <daniel@zuster.org> Force triple for codegen tests which have expectations on output
types.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63669 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/designated-initializers.c
5b2c6d902a16ad3833c7a41b52832ee2397acc3d 30-Jan-2009 Nuno Lopes <nunoplopes@sapo.pt> enable test as it already works

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63390 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/designated-initializers.c
3498bdb9e9cb300de74c7b51c92608e2902b2348 29-Jan-2009 Douglas Gregor <dgregor@apple.com> Introduce a new expression node, ImplicitValueInitExpr, that
represents an implicit value-initialization of a subobject of a
particular type. This replaces the (ab)use of CXXZeroValueInitExpr
within initializer lists for the "holes" that occur due to the use of
C99 designated initializers.

The new test case is currently XFAIL'd, because CodeGen's
ConstExprEmitter (in lib/CodeGen/CGExprConstant.cpp) needs to be
taught to value-initialize when it sees ImplicitValueInitExprs.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63317 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/designated-initializers.c