81359b0a88510087a873de771f9a2f5ee7ed97d9 |
|
12-Jun-2013 |
Eli Friedman <eli.friedman@gmail.com> |
Tweak r183791 so we don't print a note without a source location. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@183803 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Sema/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/Sema/designated-initializers.c
|
d6d37dee48cfc5bbcc998bd9d151e4fb3a9437e8 |
|
22-Dec-2009 |
Douglas Gregor <dgregor@apple.com> |
When filling in value initializations within an initializer list, be sure to fill in the initialized member of a union when a member was explicitly designated. Fixes PR5843. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91858 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Sema/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/Sema/designated-initializers.c
|
c219a1579c200c62d925653336e72d9d2f6c4cb7 |
|
19-May-2009 |
Eli Friedman <eli.friedman@gmail.com> |
Remove the -arch option from clang-cc: for all practical purposes, it's redundant with -triple. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72108 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Sema/designated-initializers.c
|
3bf6893b77c30cb774100e0fa7ae029331675ec1 |
|
25-Apr-2009 |
Chris Lattner <sabre@nondot.org> |
fix PR4073 by making designated initializer checking code use VerifyIntegerConstantExpression instead of isIntegerConstantExpr. This makes it ext-warn but tolerate things that fold to a constant but that are not valid i-c-e's. There must be a bug in the i-c-e computation though, because it doesn't catch this case even with pedantic. This also switches the later code to use EvaluateAsInt which is simpler and handles everything that evaluate does. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70081 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Sema/designated-initializers.c
|
ffb4b6e299069139908540ce97be4462e16b53a4 |
|
15-Apr-2009 |
Douglas Gregor <dgregor@apple.com> |
Implement support for designated initializers that refer to members of anonymous structs or unions. Fixes PR3778. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69153 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Sema/designated-initializers.c
|
eeae8f072748affce25ab4064982626361293390 |
|
28-Mar-2009 |
Douglas Gregor <dgregor@apple.com> |
Make our diagnostics about the obsolete GNU designated-initializer syntax into extension warnings, and provide code-modification hints showing how to fix the problem. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67885 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Sema/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/Sema/designated-initializers.c
|
7c53ca6e03833adab4465462b7d5c888741b715d |
|
18-Feb-2009 |
Douglas Gregor <dgregor@apple.com> |
Downgrade the "excess elements in initializer" errors to warnings *in C*. They're required errors in C++. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64964 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Sema/designated-initializers.c
|
dfb5e597e033c8fa09c0e178bd93cfcdf060862e |
|
12-Feb-2009 |
Douglas Gregor <dgregor@apple.com> |
Fix a bug with designated initializers where we were stepping out of a union subobject initialization before checking whether the next initiailizer was actually a designated initializer. This led to spurious "excess elements in union initializer" errors. Thanks to rdivacky for reporting the bug! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64392 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Sema/designated-initializers.c
|
fdf556936f94344d5482747403f27822cf0ae37f |
|
09-Feb-2009 |
Douglas Gregor <dgregor@apple.com> |
When handling "the rest" of a designated array subobject, maybe sure to tell it that it wasn't (directly) designated. This way, we unwind back to the explicit initializer list properly rather than getting stuck in the wrong subobject. Fixes llvm.org/PR3519 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64155 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Sema/designated-initializers.c
|
a9c878086036de36482cc21e35a33cabe9699b0a |
|
29-Jan-2009 |
Douglas Gregor <dgregor@apple.com> |
Make CodeGen produce an error if we come across a non-constant initializer list that involves the GNU array-range designator extension git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63327 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Sema/designated-initializers.c
|
58e22b19add744ff2094fbdc366a39709680c35d |
|
29-Jan-2009 |
Douglas Gregor <dgregor@apple.com> |
Add another devilish testcase for designated initializers git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63262 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Sema/designated-initializers.c
|
6fbdc6bd38cc51232223ae3539c32f23c45ea852 |
|
29-Jan-2009 |
Douglas Gregor <dgregor@apple.com> |
Eliminate infinite looping in a wacky case with designated initializers. Simplifies (somewhat) the actually checking of the initializer expression following the designators git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63257 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Sema/designated-initializers.c
|
34e7946831a63f96d3ba3478c74ca8e25ee52d7e |
|
29-Jan-2009 |
Douglas Gregor <dgregor@apple.com> |
Improvements to code-generation and semantic analysis of designated initializers. - We now initialize unions properly when a member other than the first is named by a designated initializer. - We now provide proper semantic analysis and code generation for GNU array-range designators *except* that side effects will occur more than once. We warn about this. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63253 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Sema/designated-initializers.c
|
4c67834407ca6ab344dcf44fc599ad4938cfa96d |
|
28-Jan-2009 |
Douglas Gregor <dgregor@apple.com> |
Code generation support for C99 designated initializers. The approach I've taken in this patch is relatively straightforward, although the code itself is non-trivial. Essentially, as we process an initializer list we build up a fully-explicit representation of the initializer list, where each of the subobject initializations occurs in order. Designators serve to "fill in" subobject initializations in a non-linear way. The fully-explicit representation makes initializer lists (both with and without designators) easy to grok for codegen and later semantic analyses. We keep the syntactic form of the initializer list linked into the AST for those clients interested in exactly what the user wrote. Known limitations: - Designating a member of a union that isn't the first member may result in bogus initialization (we warn about this) - GNU array-range designators are not supported (we warn about this) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63242 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Sema/designated-initializers.c
|
d6f584ff262f51b40f4c9e317b13f1f21db29755 |
|
23-Jan-2009 |
Douglas Gregor <dgregor@apple.com> |
More APSInt appeasement git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62884 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Sema/designated-initializers.c
|
53d3d8e0662197f7245d8f5ff697a72a2b4b3f54 |
|
23-Jan-2009 |
Douglas Gregor <dgregor@apple.com> |
Hopefully the last of the APSInt signedness issues with initializers. Fixes PR clang/3378 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62876 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Sema/designated-initializers.c
|
e3fa2de90ea1666bf4504b8fd557b09a57aac222 |
|
23-Jan-2009 |
Douglas Gregor <dgregor@apple.com> |
Make sure all of the isUnsigned flags line up when comparing initializer values, to really really fix PR clang/3377 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62858 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Sema/designated-initializers.c
|
f6c717c3dca839dcd189b4a6fa46c8fe7a8bec1d |
|
23-Jan-2009 |
Douglas Gregor <dgregor@apple.com> |
Properly manage the bit-widths of APInts/APSInts in array initialization. Fixes PR clang/3377 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62851 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Sema/designated-initializers.c
|
87f55cf59e82f246d8605733e9300d0c5f6830a6 |
|
23-Jan-2009 |
Douglas Gregor <dgregor@apple.com> |
Reimplement the handling of the "current object" in designator initializers, so that we are within the appropriate subobject after we've processed a multi-designator designation. We're matching GCC and EDG's behavior on all examples I've found thus far. *Huge* thanks to Eli Friedman for pointing out my fundamental misunderstanding of "current object" in the C99 spec. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62812 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Sema/designated-initializers.c
|
05c13a3411782108d65aab3c77b1a231a4963bc0 |
|
22-Jan-2009 |
Douglas Gregor <dgregor@apple.com> |
Initial implementation of semantic analysis and ASTs for C99 designated initializers. This implementation should cover all of the constraints in C99 6.7.8, including long, complex designations and computing the size of incomplete array types initialized with a designated initializer. Please see the new test-case and holler if you find cases where this doesn't work. There are still some wrinkles with GNU's anonymous structs and anonymous unions (it isn't clear how these should work; we'll just follow GCC's lead) and with designated initializers for the members of a union. I'll tackle those very soon. CodeGen is still nonexistent, and there's some leftover code in the parser's representation of designators that I'll also need to clean up. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62737 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Sema/designated-initializers.c
|