6bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89 |
|
29-May-2014 |
Stephen Hines <srhines@google.com> |
Update Clang for 3.5 rebase (r209713). Change-Id: I8c9133b0f8f776dc915f270b60f94962e771bc83
/external/clang/test/SemaCXX/decl-expr-ambiguity.cpp
|
99e9fe08bbba3d71db41cfd7585b9658ee85ef55 |
|
07-May-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Try to recognise hidden tag type names in potential declarations, in ObjC code as well. rdar://13829073 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@181345 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/decl-expr-ambiguity.cpp
|
9b29f4fe3d0600edf6ba00d48f2d4f2b1984f247 |
|
16-Oct-2012 |
David Blaikie <dblaikie@gmail.com> |
Implement GCC's -Wint-to-pointer-cast. This implementation doesn't warn on anything that GCC doesn't warn on with the exception of templates specializations (GCC doesn't warn, Clang does). The specific skipped cases (boolean, constant expressions, enums) are open for debate/adjustment if anyone wants to demonstrate that GCC is being overly conservative here. The only really obvious false positive I found was in the Clang regression suite's MPI test - apparently MPI uses specific flag values in pointer constants. (eg: #define FOO (void*)~0) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166039 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/decl-expr-ambiguity.cpp
|
d64effc4e31044c05d6e4400150edb26e914983a |
|
30-Jul-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Extend the ',' versus ';' diagnostic for -Wvexing-parse to cover the with-arguments case as well as the no-arguments case. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160999 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/decl-expr-ambiguity.cpp
|
b9c6261d02f688d0a9a36b736ad5956fbc737854 |
|
30-Jul-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Improvements to vexing-parse warnings. Make the no-parameters case more accurate by asking the parser whether there was an ambiguity rather than trying to reverse-engineer it from the DeclSpec. Make the with-parameters case have better diagnostics by using semantic information to drive the warning, improving the diagnostics and adding a fixit. Patch by Nikola Smiljanic. Some minor changes by me to suppress diagnostics for declarations of the form 'T (*x)(...)', which seem to have a very high false positive rate, and to reduce indentation in 'warnAboutAmbiguousFunction'. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160998 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/decl-expr-ambiguity.cpp
|
12f3297fbef1673b32c8987da9933687996c65b3 |
|
02-May-2012 |
Kaelyn Uhrain <rikka@google.com> |
Try harder to recognize hidden tag type names in potential declarations instead of giving unhelpful errors about undeclared identifers and missing semicolons. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155965 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/decl-expr-ambiguity.cpp
|
f037541d5c7dcf3553cf26e4b047be869980c23a |
|
13-Jan-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Don't crash while trying to diagnose a function declared at block scope with an incomplete return type. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148088 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/decl-expr-ambiguity.cpp
|
7984de35644701c0d94336da7f2215d4c26d9f5b |
|
13-Jan-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Improve 0-argument -Wvexing-parse diagnostic by adding notes with fix-its: - If the declarator is at the start of a line, and the previous line contained another declarator and ended with a comma, then that comma was probably a typo for a semicolon: int n = 0, m = 1, l = 2, // k = 5; myImportantFunctionCall(); // oops! - If removing the parentheses would correctly initialize the object, then produce a note suggesting that fix. - Otherwise, if there is a simple initializer we can suggest which performs value-initialization, then provide a note suggesting a correction to that initializer. Sema::Declarator now tracks the location of the comma prior to the declarator in the declaration, if there is one, to facilitate providing the note. The code to determine an appropriate initializer from the -Wuninitialized warning has been factored out to allow use in both that and -Wvexing-parse. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148072 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/decl-expr-ambiguity.cpp
|
80a5b27fe4dfccef0c539ac5c4a7ea17a1649085 |
|
09-Jan-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Restore some parts of this test which were accidental reverted in r147649. Thanks to David Blaikie for pointing this out. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147783 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/decl-expr-ambiguity.cpp
|
2f0e88a87cea6d21429d9f5c0b1c53f24caf77cf |
|
06-Jan-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
David Blaikie and Chandler would like us to diagnose int f(); in function scopes under -Wvexing-parse, so now we do. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147649 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/decl-expr-ambiguity.cpp
|
1d7bcf4b35f8bc0a0a40f4ea7b06b55c63725108 |
|
06-Jan-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Tweak to r147599 for PR10828: Move the check from the parser into sema, and use the Semantic Powers to only warn on class types (or dependent types), where the constructor or destructor could do something interesting. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147642 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/decl-expr-ambiguity.cpp
|
cb7709c06027448c754dd03e2e521d82d04818bf |
|
05-Jan-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
PR10828: Produce a warning when a no-arguments function is declared in block scope, when no other indication is provided that the user intended to declare a function rather than a variable. Remove some false positives from the existing 'parentheses disambiguated as a function' warning by suppressing it when the declaration is marked as 'typedef' or 'extern'. Add a new warning group -Wvexing-parse containing both of these warnings. The new warning is enabled by default; despite a number of false positives (and one bug) in clang's test-suite, I have only found genuine bugs with it when running it over a significant quantity of real C++ code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147599 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/decl-expr-ambiguity.cpp
|
f6a1648197562e0b133440d612d9af297d0a86cc |
|
04-Dec-2010 |
John McCall <rjmccall@apple.com> |
Although we currently have explicit lvalue-to-rvalue conversions, they're not actually frequently used, because ImpCastExprToType only creates a node if the types differ. So explicitly create an ICE in the lvalue-to-rvalue conversion code in DefaultFunctionArrayLvalueConversion() as well as several other new places, and consistently deal with the consequences throughout the compiler. In addition, introduce a new cast kind for loading an ObjCProperty l-value, and make sure we emit those nodes whenever an ObjCProperty l-value appears that's not on the LHS of an assignment operator. This breaks a couple of rewriter tests, which I've x-failed until future development occurs on the rewriter. Ted Kremenek kindly contributed the analyzer workarounds in this patch. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120890 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/decl-expr-ambiguity.cpp
|
1b2ad2fd9e2d5352144481aa1fd995d333d9adc9 |
|
20-Sep-2010 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Revert r114316, -Wunused-value enabled by default was intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114318 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/decl-expr-ambiguity.cpp
|
6dff2288a8054bdbc97217568e5831bcce809db8 |
|
19-Sep-2010 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Make -Wunused-value off by default, matching GCC. Fixes rdar://7126194. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114316 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/decl-expr-ambiguity.cpp
|
19311e70edaa2d7bb0d709344aebea4fbbae2da4 |
|
08-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Use the new-initialization code for initializing scalars with a function-style cast. Previously, we had a (redundant, incorrect) semantic-checking path for non-class types, which allowed value-initialization of a reference type and then crashed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113415 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/decl-expr-ambiguity.cpp
|
0faede6f31b07bcec7b776f2b420c3ea9bb3e58c |
|
12-Mar-2010 |
John McCall <rjmccall@apple.com> |
Improve the unused-value check to look into comma expressions and filter out voids in sub-expressions. Patch by Mike M! Fixes PR4806. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98335 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/decl-expr-ambiguity.cpp
|
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/SemaCXX/decl-expr-ambiguity.cpp
|
4dabe96fc9c5333bbcb6e36114bca95160967e26 |
|
01-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
Ok, ok, I give in. Fix tests for unused result warning. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77780 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/decl-expr-ambiguity.cpp
|
9cc11e70031365972424b43f439021d88096b146 |
|
25-Jul-2009 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
Implement C++ semantics for C-style and functional-style casts. This regresses Clang extension conversions, like vectors, but allows conversions via constructors and conversion operators. Add custom conversions to static_cast. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77076 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/decl-expr-ambiguity.cpp
|
7c94c4bb7b875dc1a2b23f77f1ed8013cf94abdb |
|
03-Jun-2009 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Use "()" instead of "(void)" when pretty-printing a parameter-less function type for C++. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72747 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/decl-expr-ambiguity.cpp
|
bc6c848f3e0ec2dc44f6e3d59ef85e884cc9b7be |
|
17-May-2009 |
Eli Friedman <eli.friedman@gmail.com> |
Make the RAII extension warning silencing for __extension__ a bit narrower, so it doesn't catch expresions that aren't sub-expressions of __extension__ operator. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71967 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/decl-expr-ambiguity.cpp
|
2962f4d71d26817780e7441b23e0e91214fceb5e |
|
28-Apr-2009 |
Eli Friedman <eli.friedman@gmail.com> |
Emit keyword extension warning in all modes, not just C99 mode. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70283 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/decl-expr-ambiguity.cpp
|
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/SemaCXX/decl-expr-ambiguity.cpp
|
fa047648b2a5502d7eef117adb4777eb9a63baa6 |
|
04-Feb-2009 |
Douglas Gregor <dgregor@apple.com> |
Initial implementation of argument dependent lookup (a.k.a. ADL, a.k.a. Koenig lookup) in C++. Most of the pieces are in place, but for two: - In an unqualified call g(x), even if the name does not refer to anything in the current scope, we can still find functions named "g" based on ADL. We don't yet have this ability. - ADL will need updating for friend functions and templates. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63692 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/decl-expr-ambiguity.cpp
|
3eb1c546857087b5e1377d172f37868ade960664 |
|
17-Dec-2008 |
Douglas Gregor <dgregor@apple.com> |
Removed the warning warning: statement was disambiguated as declaration because it is currently firing in cases where the declaration would not actually parse as a statement. We'd love to bring this warning back if we can make it more accurate. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61137 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/decl-expr-ambiguity.cpp
|
5f4a6829dc58cab2f76e2b98492859aa3b91e3f2 |
|
24-Nov-2008 |
Chris Lattner <sabre@nondot.org> |
Make all the 'redefinition' diagnostics more consistent, and make the "previously defined here" diagnostics all notes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59920 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/decl-expr-ambiguity.cpp
|
858bb6f2d6790feeb03b3c2a24f01ef24b54301b |
|
18-Nov-2008 |
Chris Lattner <sabre@nondot.org> |
implement a fixme by making warnings for ++/-- on non-modifiable-lvalues better. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59484 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/decl-expr-ambiguity.cpp
|
98cd599ee8a9b259ed7388ee2921a20d97658864 |
|
22-Oct-2008 |
Douglas Gregor <dgregor@apple.com> |
Initial step toward supporting qualification conversions (C++ 4.4). Changes: - Sema::IsQualificationConversion determines whether we have a qualification conversion. - Sema::CheckSingleAssignment constraints now follows the C++ rules in C++, performing an implicit conversion from the right-hand side to the type of the left-hand side rather than checking based on the C notion of "compatibility". We now rely on the implicit-conversion code to determine whether the conversion can happen or not. Sema::TryCopyInitialization has an ugly reference-related hack to cope with the initialization of references, for now. - When building DeclRefExprs, strip away the reference type, since there are no expressions whose type is a reference. We'll need to do this throughout Sema. - Expr::isLvalue now permits functions to be lvalues in C++ (but not in C). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@57935 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/decl-expr-ambiguity.cpp
|
0fe706040795f24ad61c0ca436a0304fdce8fd6f |
|
21-Oct-2008 |
Gabor Greif <ggreif@gmail.com> |
Tweak an expected-error to match the output. IMHO it is better to diagnose 'int (void)' because it has the same meaning in C and C++. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@57901 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/decl-expr-ambiguity.cpp
|
259b0d91f2ff90d8daf39221fe133bf1596c5ffb |
|
16-Oct-2008 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Issue a warning when there's an ambiguous function declarator (that could be a direct initializer for a variable defition). Idea originated from here: http://thread.gmane.org/gmane.comp.gcc.devel/101524 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@57609 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/decl-expr-ambiguity.cpp
|
d3dbbb68b1050da2f58d4bea6b23016f451968c9 |
|
05-Oct-2008 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Add some text from the C++ standard and additional ambiguity resolution tests. No funcitonality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@57136 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/decl-expr-ambiguity.cpp
|
78c8d80f19cb0bccd4f3d590e71a230e727cfab5 |
|
05-Oct-2008 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Handle ambiguities between expressions and type-ids that occur inside parentheses, e.g.: sizeof(int()) -> "int()" is type-id sizeof(int()+1) -> "int()+1" is expression. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@57131 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/decl-expr-ambiguity.cpp
|
b9f341916e484ff6ba2c2d28c8b2dd5fa12b0015 |
|
05-Oct-2008 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Found a subtle bug caused by an implicit enum-to-bool conversion (of the TentativeParsingResult enum). This was the motivation of the following changes: -'TentativeParsingResult' enum is replaced by a 'TPResult' class that basically encapsulates the enum. -TPR_true, TPR_false, TPR_ambiguous, and TPR_error enum constants are replaced by TPResult::True(), TPResult::False(), etc. calls that return a TPResult object. -Also fixed the subtle bug in Parser::isCXXFunctionDeclarator (caught by the above changes as a compilation error). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@57125 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/decl-expr-ambiguity.cpp
|
bbc70c019f7b7f9a256ee29dab5287ecc82c6553 |
|
05-Oct-2008 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Disambiguate between a declaration or an expression, in the 'for-init-statement' part of a 'for' statement. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@57112 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/decl-expr-ambiguity.cpp
|
ca35baa788ccba7a213365b9d64d6b2f7bdb9afe |
|
05-Oct-2008 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Fix Parser::isCXXConditionDeclaration to properly resolve declarations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@57111 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/decl-expr-ambiguity.cpp
|
a8a4598b6f2a07339ab8a1248295a07d771a2b2a |
|
05-Oct-2008 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Disambiguate between a declaration or expression for the 'condition' part of a if/switch/while/for statement. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@57109 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/decl-expr-ambiguity.cpp
|
1ee2c43bc0c281b60b29f1883e1e206cae28aed6 |
|
05-Oct-2008 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Consider GNU attributes when doing ambiguity resolution. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@57108 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/decl-expr-ambiguity.cpp
|
5404a156be26de1c63ca9916187f970848bb4dbb |
|
05-Oct-2008 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Resolve ambiguous C++ statements (C++ 6.8p1). 'ParseTentative.cpp' implements the functionality needed to resolve ambiguous C++ statements, to either a declaration or an expression, by "tentatively parsing" them. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@57084 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/decl-expr-ambiguity.cpp
|