2651b7a44d1db7c2a9fe70689e0708394c343a7e |
|
31-Jul-2013 |
Fariborz Jahanian <fjahanian@apple.com> |
ObjectiveC arc: Introduce a new initialization kind for parameters passed to CF audited functions to be used for better diagnostics. Current set but unused. // rdar://14569171 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187508 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
4c7736ec76fb35fe83eb4144137cf14df1c6d056 |
|
24-Jul-2013 |
Benjamin Kramer <benny.kra@googlemail.com> |
Sema: Minor const fixups and control flow tidying. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187047 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
f92a509d870f05a0e26babd8072171957770649e |
|
11-Jul-2013 |
Fariborz Jahanian <fjahanian@apple.com> |
ObjectiveC arc[qoi]: When due to change of certain methods' result type, a diagnostic being issued, issue a 'note' mentioning reason behind the unexpected warning. // rdar://14121570. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186105 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
1686069c03495a3619cc921e3ddeb3417ea6ec25 |
|
04-Jul-2013 |
Craig Topper <craig.topper@gmail.com> |
Use SmallVectorImpl::const_iterator instead of SmallVector to avoid specifying the vector size. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@185623 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
f8421a3e44e9ef78372cc50b212a482e51c2c41c |
|
18-Jun-2013 |
Eli Friedman <eli.friedman@gmail.com> |
Delete dead code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184154 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
211c8ddb5b500ed84833751363d0cfe1115f4dd3 |
|
05-Jun-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Model temporary lifetime-extension explicitly in the AST. Use this model to handle temporaries which have been lifetime-extended to static storage duration within constant expressions. This correctly handles nested lifetime extension (through reference members of aggregates in aggregate initializers) but non-constant-expression emission hasn't yet been updated to do the same. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@183283 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
0ff5074f37a66bca244a9d5d0da050ff68693ce2 |
|
15-May-2013 |
Hans Wennborg <hans@hanshq.net> |
Better diagnostics for string initialization. This commit improves Clang's diagnostics for string initialization. Where it would previously say: /tmp/a.c:3:9: error: array initializer must be an initializer list wchar_t s[] = "Hi"; ^ /tmp/a.c:4:6: error: array initializer must be an initializer list or string literal char t[] = L"Hi"; ^ It will now say /tmp/a.c:3:9: error: initializing wide char array with non-wide string literal wchar_t s[] = "Hi"; ^ /tmp/a.c:4:6: error: initializing char array with wide string literal char t[] = L"Hi"; ^ As a bonus, it also fixes the fact that Clang would previously reject this valid C11 code: char16_t s[] = u"hi"; char32_t t[] = U"hi"; because it would only recognize the built-in types for char16_t and char32_t, which do not exist in C. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@181880 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
7247c88d1e41514a41085f83ebf03dd5220e054a |
|
15-May-2013 |
David Blaikie <dblaikie@gmail.com> |
Use only explicit bool conversion operator The most common (non-buggy) case are where such objects are used as return expressions in bool-returning functions or as boolean function arguments. In those cases I've used (& added if necessary) a named function to provide the equivalent (or sometimes negative, depending on convenient wording) test. DiagnosticBuilder kept its implicit conversion operator owing to the prevalent use of it in return statements. One bug was found in ExprConstant.cpp involving a comparison of two PointerUnions (PointerUnion did not previously have an operator==, so instead both operands were converted to bool & then compared). A test is included in test/SemaCXX/constant-expression-cxx1y.cpp for the fix (adding operator== to PointerUnion in LLVM). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@181869 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
2624b8157660902303bfce5551cfdd38272d01e5 |
|
06-May-2013 |
Jordan Rose <jordan_rose@apple.com> |
Fix representation of compound literals for C++ objects with destructors. Previously, this compound literal expression (a GNU extension in C++): (AggregateWithDtor){1, 2} resulted in this AST: `-CXXBindTemporaryExpr [...] 'struct Point' (CXXTemporary [...]) `-CompoundLiteralExpr [...] 'struct AggregateWithDtor' `-CXXBindTemporaryExpr [...] 'struct AggregateWithDtor' (CXXTemporary [...]) `-InitListExpr [...] 'struct AggregateWithDtor' |-IntegerLiteral [...] 'int' 1 `-IntegerLiteral [...] 'int' 2 Note the two CXXBindTemporaryExprs. The InitListExpr is really part of the CompoundLiteralExpr, not an object in its own right. By introducing a new entity initialization kind in Sema specifically for compound literals, we avoid the treatment of the inner InitListExpr as a temporary. `-CXXBindTemporaryExpr [...] 'struct Point' (CXXTemporary [...]) `-CompoundLiteralExpr [...] 'struct AggregateWithDtor' `-InitListExpr [...] 'struct AggregateWithDtor' |-IntegerLiteral [...] 'int' 1 `-IntegerLiteral [...] 'int' 2 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@181212 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
1f78a50f8aee58f8e07f6307f4b8d0b1742e9a2b |
|
03-May-2013 |
Dmitri Gribenko <gribozavr@gmail.com> |
ArrayRef'ize InitializationSequence constructor and InitializationSequence::Diagnose() Patch by Robert Wilhelm. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@181022 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
1fd1e288d0f45b86d191d8f53f569e5143f3a18a |
|
11-Apr-2013 |
Jordan Rose <jordan_rose@apple.com> |
Force a load when creating a reference to a temporary copied from a bitfield. For this source: const int &ref = someStruct.bitfield; We used to generate this AST: DeclStmt [...] `-VarDecl [...] ref 'const int &' `-MaterializeTemporaryExpr [...] 'const int' lvalue `-ImplicitCastExpr [...] 'const int' lvalue <NoOp> `-MemberExpr [...] 'int' lvalue bitfield .bitfield [...] `-DeclRefExpr [...] 'struct X' lvalue ParmVar [...] 'someStruct' 'struct X' Notice the lvalue inside the MaterializeTemporaryExpr, which is very confusing (and caused an assertion to fire in the analyzer - PR15694). We now generate this: DeclStmt [...] `-VarDecl [...] ref 'const int &' `-MaterializeTemporaryExpr [...] 'const int' lvalue `-ImplicitCastExpr [...] 'int' <LValueToRValue> `-MemberExpr [...] 'int' lvalue bitfield .bitfield [...] `-DeclRefExpr [...] 'struct X' lvalue ParmVar [...] 'someStruct' 'struct X' Which makes a lot more sense. This allows us to remove code in both CodeGen and AST that hacked around this special case. The commit also makes Clang accept this (legal) C++11 code: int &&ref = std::move(someStruct).bitfield PR15694 / <rdar://problem/13600396> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179250 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
e462c60ac3365d3302b7d0a566c5cb7dbe0e5ae3 |
|
15-Mar-2013 |
Eric Christopher <echristo@gmail.com> |
Silence anonymous type in anonymous union warnings. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177133 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
21f18c4fda167dc5f72feddbd6a7ac1b63200a0d |
|
07-Feb-2013 |
Guy Benyei <guy.benyei@intel.com> |
Add OpenCL samplers as Clang builtin types and check sampler related restrictions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174601 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
e6b9d802fb7b16d93474c4f1c179ab36202e8a8b |
|
20-Jan-2013 |
Guy Benyei <guy.benyei@intel.com> |
Implement OpenCL event_t as Clang builtin type, including event_t related OpenCL restrictions (OpenCL 1.2 spec 6.9) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172973 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
c792d6d0b39cd6926be28ccb925992204d1af0e1 |
|
04-Jan-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Unqualify the parameter type. This fixes a regression from 168895. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171519 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
30a2e16f6c27f888dd11eba6bbbae1e980078fcb |
|
04-Dec-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Sort #include lines for all files under include/... This is a simpler sort, entirely automatic with the help of llvm/utils/sort_includes.py -- no manual edits here. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169238 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
2fa67efeaf66a9332c30a026dc1c21bef6c33a6c |
|
01-Dec-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Pull the Attr iteration parts out of Attr.h, so including DeclBase.h doesn't pull in all the generated Attr code. Required to pull some functions out of line, but this shouldn't have a perf impact. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169092 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
8b8a09e496fbed361d4c8e9e8cc259454a094258 |
|
29-Nov-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
Merge function types in C. Among other differences, GCC accepts typedef int IA[]; typedef int A10[10]; static A10 *f(void); static IA *f(void); void g(void) { (void)sizeof(*f()); } but clang used to reject it with: invalid application of 'sizeof' to an incomplete type 'IA' (aka 'int []') The intention of c99's 6.2.7 seems to be that we should use the composite type and accept as gcc does. Doing the type merging required some extra fixes: * Use the type from the function type in initializations, even if an parameter is available. * Fix the merging of the noreturn attribute in function types. * Make CodeGen handle the fact that an parameter type can be different from the corresponding type in the function type. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@168895 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
1824d54df85a462ada812dadda18130f951d40f3 |
|
13-Sep-2012 |
Dmitri Gribenko <gribozavr@gmail.com> |
Fix Doxygen misuse: refer to parameter names in paragraphs correctly (\arg is not what most people want -- it starts a new paragraph). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163793 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
471c8b49982d1132f30b0b0da27fef94fd6e4f67 |
|
04-Jul-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Drop the ASTContext.h include from DeclFriend.h and DeclTemplate.h. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159723 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
efce31f51d6e7e31e125f96c20f6cdab3ead0a47 |
|
22-Jun-2012 |
James Dennett <jdennett@google.com> |
Documentation cleanup: * Primarily fixed \param commands with names not matching any actual parameters of the documented functions. In many cases this consists just of fixing up the parameter name in the \param to match the code, in some it means deleting obsolete documentation and occasionally it means documenting the parameter that has replaced the older one that was documented, which sometimes means some simple reverse-engineering of the docs from the implementation; * Fixed \param ParamName [out] to the correct format with [out] before the parameter name; * Fixed some \brief summaries. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158980 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
6e4a0af697eec5b0c47ccf96dff170af56df826d |
|
26-Apr-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
PR12660: Don't crash when initializing a const reference from a braced init list which creates a temporary by calling a constructor. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155608 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
69a30b838c723cb1850de55cfa48a402cfeeb6e0 |
|
10-Apr-2012 |
Douglas Gregor <dgregor@apple.com> |
When we determine that an initialization sequence failed due to an incomplete type, keep track of the actual type that was incomplete. Otherwise, we might fail to produce a diagnostic. Fixes PR12498. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154432 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
eb52f86a62db523e3c993686b3ed92c55d59d53c |
|
09-Apr-2012 |
David Blaikie <dblaikie@gmail.com> |
Fix bugs found by -Wconstant-conversion improvements currently under review. Specifically, using a an integer outside [0, 1] as a boolean constant seems to be an easy mistake to make with things like "x == a || b" where the author intended "x == a || x == b". The bug caused by calling SkipUntil with three token kinds was also identified by a VC diagnostic & reported by Francois Pichet as review feedback for my commit r154163. I've included test cases to verify the error recovery that was broken/poorly implemented due to this bug. The other fix (lib/Sema/SemaExpr.cpp) seems like that code was never actually reached in any of Clang's tests & is related to Objective C features I'm not familiar with, so I've not been able to construct a test case for it. Perhaps someone else can. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154325 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
70e24fccc8ef4aa8be03a778e9655bfcfa79dd14 |
|
01-Apr-2012 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
Properly handle explicit constructors in list-initialization. Fixes PR12120. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153849 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
4e4d08403ca5cfd4d558fa2936215d3a4e5a528d |
|
11-Mar-2012 |
David Blaikie <dblaikie@gmail.com> |
Unify naming of LangOptions variable/get function across the Clang stack (Lex to AST). The member variable is always "LangOpts" and the member function is always "getLangOpts". Reviewed by Chris Lattner git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152536 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
ed878af7914df535b32d64f555fa118413186672 |
|
25-Feb-2012 |
Douglas Gregor <dgregor@apple.com> |
Implement C++11 [over.match.copy]p1b2, which allows the use of explicit conversion functions to initialize the argument to a copy/move constructor that itself is the subject of direct initialization. Since we don't have that much context in overload resolution, we end up threading more flags :(. Fixes <rdar://problem/10903741> / PR10456. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151409 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
0f163e964289bc18e9bc1ec37a6a01018ba62640 |
|
15-Feb-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Support GCC's bug^Wextension allowing class array members to be initalized by a parenthesized braced-init-list in the base/member initialization list. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150625 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
4773654f2700d6fbb20612fbb6763b35860fa74d |
|
15-Feb-2012 |
Douglas Gregor <dgregor@apple.com> |
Introduce a new initialization entity for lambda captures, and specialize location information and diagnostics for this entity. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150588 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
3a45c0e61dfc19f27b8ebcb15dd70159a36f1f9a |
|
12-Feb-2012 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
Change the way we store initialization kinds so that all direct inits can distinguish between list and parens form. This allows us to correctly diagnose the last test cases from litb. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150343 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
168319c81b8f4e7addf36ad15ef24919faf23504 |
|
12-Feb-2012 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
Employ DirectList initialized entities to properly sort through some initialization edge cases. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150342 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
5b9cc5df25c2198f270dd1d5c438fdce70d4051d |
|
12-Feb-2012 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
Represent C++ direct initializers as ParenListExprs before semantic analysis instead of having a special-purpose function. - ActOnCXXDirectInitializer, which was mostly duplication of AddInitializerToDecl (leading e.g. to PR10620, which Eli fixed a few days ago), is dropped completely. - MultiInitializer, which was an ugly hack I added, is dropped again. - We now have the infrastructure in place to distinguish between int x = {1}; int x({1}); int x{1}; -- VarDecl now has getInitStyle(), which indicates which of the above was used. -- CXXConstructExpr now has a flag to indicate that it represents list- initialization, although this is not yet used. - InstantiateInitializer was renamed to SubstInitializer and simplified. - ActOnParenOrParenListExpr has been replaced by ActOnParenListExpr, which always produces a ParenListExpr. Placed that so far failed to convert that back to a ParenExpr containing comma operators have been fixed. I'm pretty sure I could have made a crashing test case before this. The end result is a (I hope) considerably cleaner design of initializers. More importantly, the fact that I can now distinguish between the various initialization kinds means that I can get the tricky generalized initializer test cases Johannes Schaub supplied to work. (This is not yet done.) This commit passed self-host, with the resulting compiler passing the tests. I hope it doesn't break more complicated code. It's a pretty big change, but one that I feel is necessary. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150318 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
ecfcd5655758955d8958dc2a7a7b2c8eff2395b7 |
|
12-Feb-2012 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
Drive-by fix of incorrect diagnostic, and a test case for said diagnostic. The double error is unfortunate, but I really don't see an alternative whose effort is worth it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150317 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
6cd03dbb310f472b14b8d6d69d8c9b5b7f1200e2 |
|
04-Feb-2012 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
A useful approximation of initializer list constructors. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149792 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
2b916b8b55aaf0152ab9ad630c8454bf6373b085 |
|
17-Jan-2012 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
Sema support for initialization of std::initializer_list from initializer lists. This does not yet support CodeGen. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148349 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
73076431605556fdbf28d287d084a73a24a8b8d4 |
|
05-Jan-2012 |
John McCall <rjmccall@apple.com> |
The value of a const weak variable is not an integer constant. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147575 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
cf15cef8447e8b3ae08e81ad25ae9eb443038acf |
|
22-Dec-2011 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
Overloading for initializer list construction. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147156 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
10f04a6267eb07d3be00db1fd0369e1398f5d0a8 |
|
22-Dec-2011 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
List-initialization via constructor part 1. Still needs: pretty-printing, overloading, initializer_list. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147145 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
c8d7f586180995ba33d03c0f6115b6a7bdefe326 |
|
29-Nov-2011 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Revert r145244. It causes us to create broken ASTs with missing type information for some cast expressions. Original commit message: Removed useless ImplicitCast nodes in explicit cstyle and static casts git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145447 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
56f5d36fd13c5e271ebd05192c25c88d28e77f8d |
|
28-Nov-2011 |
Nicola Gigante <nicola.gigante@gmail.com> |
Removed useless ImplicitCast nodes in explicit cstyle and static casts git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145244 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
13dc8f98f6108dca8aaa9721567ed5a2d9911e0f |
|
27-Nov-2011 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
Reference initialization with initializer lists. This supports single-element initializer lists for references according to DR1288, as well as creating temporaries and binding to them for other initializer lists. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145186 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
22c107b2b99887b5aec6d1fd38210031e944e31f |
|
19-Nov-2011 |
Abramo Bagnara <abramo.bagnara@gmail.com> |
Fixed HadMultipleCandidates loading. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144995 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
5acb0c98b363400f6ade0ae7250f0102224e806b |
|
17-Oct-2011 |
John McCall <rjmccall@apple.com> |
Teach the ARC compiler to not require __bridge casts when passing/receiving CF objects at +0 to/from Objective-C methods or audited C functions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142219 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
7cc58b4c927fca539d43eaa58e00dca95946eb7c |
|
05-Oct-2011 |
Abramo Bagnara <abramo.bagnara@gmail.com> |
Added a flag to identify resolved overloaded function references. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141171 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
14b0c194b356a1204d081765b3e6699687bed97c |
|
24-Sep-2011 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
Give InitListChecker a verification-only mode, where it neither emits diagnostics nor builds a semantic (structured) initializer list, just reports on whether it can match the given list to the target type. Use this mode for doing init list checking in the initial step of initialization, which will eventually allow us to do overload resolution based on the outcome. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140457 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
8713d4e874f2adc2928ebfb86c845574a14e3b3e |
|
24-Sep-2011 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
In Initialization, add step kind SK_ListConstructorCall (list-initialization resolves to a constructor call in C++11) and failure kind FK_ListInitializationFailed (early InitListChecker run failed). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140456 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
5d3d41d0873d51b405972baf38e1f3a7ef5b49e0 |
|
24-Sep-2011 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
Fix typos and non-doxygen-ness in a few comments. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140454 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
0c706c29f20b6fa36759fa41333b9c3ec0bd2969 |
|
20-Sep-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Add list initialization for complex numbers in C. Essentially, this allows "_Complex float x = {1.0f, 2.0f};". See changes to docs/LanguageExtensions.html for a longer description. <rdar://problem/9397672>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140090 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
191591336f639dad1504e863733fb831645c1644 |
|
27-Jul-2011 |
Jeffrey Yasskin <jyasskin@google.com> |
This patch implements as much of the narrowing conversion error specified by [dcl.init.list] as is possible without generalized initializer lists or full constant expression support, and adds a c++0x-compat warning in C++98 mode. The FixIt currently uses a typedef's basename without qualification, which is likely to be incorrect on some code. If it's incorrect on too much code, we should write a function to get the string that refers to a type from a particular context. The warning is currently off by default. I'll fix LLVM and clang before turning it on. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136181 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
db999aad8a1b9dc265b2e627be334be6580a86a3 |
|
20-Jul-2011 |
Chris Lattner <sabre@nondot.org> |
remove some now-redundant forward declarations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135578 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
8cc488fefb2fb04bc8d5398da29f0182f97934cf |
|
20-Jul-2011 |
Chris Lattner <sabre@nondot.org> |
add raw_ostream and Twine to LLVM.h, eliminating a ton of llvm:: qualifications. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135577 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
686775deca8b8685eb90801495880e3abdd844c2 |
|
20-Jul-2011 |
Chris Lattner <sabre@nondot.org> |
now that we have a centralized place to do so, add some using declarations for some common llvm types: stringref and smallvector. This cleans up the codebase quite a bit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135576 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
3b80232b50c29b245e674f5aa02047b408e41018 |
|
14-Jul-2011 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
Remove InitializationSequence::ReferenceBinding, the last redundant sequence kind. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135175 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
82d1cc06ea533267e24ffe8b5885062ca062b479 |
|
16-Jun-2011 |
John McCall <rjmccall@apple.com> |
Suppress an over-zealous MSVC warning. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133109 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
f85e193739c953358c865005855253af4f68a497 |
|
16-Jun-2011 |
John McCall <rjmccall@apple.com> |
Automatic Reference Counting. Language-design credit goes to a lot of people, but I particularly want to single out Blaine Garst and Patrick Beard for their contributions. Compiler implementation credit goes to Argyrios, Doug, Fariborz, and myself, in no particular order. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133103 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
7491c499e826682e128a400038361ebcbde30eec |
|
05-Jun-2011 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
Drop most of InitializationSequence::SequenceKind's values. They didn't really contain any information that the step array didn't contain too. This makes debugging dumps a bit less informative, but probably not significantly so. The advantage is that the redundancy is gone, so the code is easier to understand. ReferenceBinding is still there, because it is used in some unclear code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132667 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
d695d6bb7323672e29dbb1556a3dafde3d3b2732 |
|
05-Jun-2011 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
Remove more references to FailedSequence. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132666 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
383616cd2e61131a534afd9364ef53f643e1f834 |
|
05-Jun-2011 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
Remove all references to InitializationSequence::FailedSequence from outside SemaInit.cpp. Replace them with the boolean conversion or the new Failed() function. This is a first step towards removing InitializationSequence::SequenceKind. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132664 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
4926d832aa2f0af9d7c00633727d49e7967eb978 |
|
20-May-2011 |
Douglas Gregor <dgregor@apple.com> |
Clean up two comments git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131727 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
059ce0d92eb5a7da900ae735dc0a2ea3d64f4b0b |
|
01-May-2011 |
Sean Hunt <scshunt@csclub.uwaterloo.ca> |
Fully implement delegating constructors! As far as I know, this implementation is complete but might be missing a few optimizations. Exceptions and virtual bases are handled correctly. Because I'm an optimist, the web page has appropriately been updated. If I'm wrong, feel free to downgrade its support categories. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130642 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
fc8f0e14ad142ed811e90fbd9a30e419e301c717 |
|
15-Apr-2011 |
Chris Lattner <sabre@nondot.org> |
fix a bunch of comment typos found by codespell. Patch by Luis Felipe Strano Moraes! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129559 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
429bb276991ff2dbc7c5b438828b9b7737cb15eb |
|
08-Apr-2011 |
John Wiegley <johnw@boostpro.com> |
Use ExprResult& instead of Expr *& in Sema This patch authored by Eric Niebler. Many methods on the Sema class (e.g. ConvertPropertyForRValue) take Expr pointers as in/out parameters (Expr *&). This is especially true for the routines that apply implicit conversions to nodes in-place. This design is workable only as long as those conversions cannot fail. If they are allowed to fail, they need a way to report their failures. The typical way of doing this in clang is to use an ExprResult, which has an extra bit to signal a valid/invalid state. Returning ExprResult is de riguour elsewhere in the Sema interface. We suggest changing the Expr *& parameters in the Sema interface to ExprResult &. This increases interface consistency and maintainability. This interface change is important for work supporting MS-style C++ properties. For reasons explained here <http://lists.cs.uiuc.edu/pipermail/cfe-dev/2011-February/013180.html>, seemingly trivial operations like rvalue/lvalue conversions that formerly could not fail now can. (The reason is that given the semantics of the feature, getter/setter method lookup cannot happen until the point of use, at which point it may be found that the method does not exist, or it may have the wrong type, or overload resolution may fail, or it may be inaccessible.) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129143 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
4171766318a2564fbc9a739be0a2851f441c0d29 |
|
26-Feb-2011 |
Sean Hunt <scshunt@csclub.uwaterloo.ca> |
Implement delegating constructors partially. This successfully performs constructor lookup and verifies that a delegating initializer is the only initializer present. This does not perform loop detection in the initialization, but it also doesn't codegen delegating constructors at all, so this won't cause runtime infinite loops yet. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126552 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
cd9ec3b4fb3d042f89aa5b572de7df3ef9ee4a80 |
|
22-Feb-2011 |
Douglas Gregor <dgregor@apple.com> |
Implement the GNU C extension which permits the initialization of an array from a constant array compound literal. Fixes PR9261. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126230 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
79ab2c8104ef5df233d271560ccc734836738e56 |
|
14-Feb-2011 |
John McCall <rjmccall@apple.com> |
Provide overload diagnostics when explicit casts involving class types fail. PR8626. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125506 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
00eb3f9c5b33e3d99aee1f8b75dd9c9678fdd66b |
|
04-Dec-2010 |
Francois Pichet <pichet2000@gmail.com> |
More anonymous struct/union redesign. This one deals with anonymous field used in a constructor initializer list: struct X { X() : au_i1(123) {} union { int au_i1; float au_f1; }; }; clang will now deal with au_i1 explicitly as an IndirectFieldDecl. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120900 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
606f65665421d594458e1409b4413005fb521c25 |
|
11-Nov-2010 |
Francois Pichet <pichet2000@gmail.com> |
Remove some unnecessary reinterpret_cast. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118775 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
745da3a5bb4ea35f93f50301e7fbbb7d78d3b6bb |
|
24-Sep-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Patch implements passing arrays to functions expecting vla. Implements pr7827. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114737 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
ab6677ec401cfd2c82b34e4cdfebd55a9dc25778 |
|
08-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Provide proper type-source location information for CXXTemporaryObjectExpr, CXXScalarValueInitExpr, and CXXUnresolvedConstructExpr, getting rid of a bunch of FIXMEs in the process. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113319 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
5baba9d98364a3525d6afa15a04cdad82fd6dd30 |
|
25-Aug-2010 |
John McCall <rjmccall@apple.com> |
More incremental progress towards not including Expr.h in Sema.h. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112044 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
120d63cd4465230c2cd56508c7cd8e0ad00848e7 |
|
24-Aug-2010 |
John McCall <rjmccall@apple.com> |
Move some of SemaOverload's API to various places in Overload.h, and kill some of it off completely. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111957 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
60d7b3a319d84d688752be3870615ac0f111fb16 |
|
24-Aug-2010 |
John McCall <rjmccall@apple.com> |
OwningExprResult -> ExprResult. This patch brought to you by M-x query-replace-regexp \(Sema::\|Action::\|Parser::\|\)Owning\(Expr\|Stmt\)Result -> \2Result git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111903 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
19510856727e0e14a3696b2a72c35163bff2a71f |
|
20-Aug-2010 |
John McCall <rjmccall@apple.com> |
Another step in the process of making the parser depend on Sema: - move DeclSpec &c into the Sema library - move ParseAST into the Parse library Reflect this change in a thousand different includes. Reflect this change in the link orders. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111667 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|
e737f5041a36d0befb39ffeed8d50ba15916d3da |
|
12-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
Move Sema's headers into include/clang/Sema, renaming a few along the way. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110945 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Sema/Initialization.h
|