#
b1d51aa1 |
| 03-Jun-2009 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Use "()" instead of "(void)" when pretty-printing a parameter-less function type for C++.
llvm-svn: 72747
|
#
15af3ee6 |
| 16-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.
llvm-svn: 71967
|
#
6bba2adc |
| 28-Apr-2009 |
Eli Friedman <eli.friedman@gmail.com> |
Emit keyword extension warning in all modes, not just C99 mode.
llvm-svn: 70283
|
#
a45cf5b6 |
| 24-Mar-2009 |
Daniel Dunbar <daniel@zuster.org> |
Rename clang to clang-cc.
Tests and drivers updated, still need to shuffle dirs.
llvm-svn: 67602
|
Revision tags: llvmorg-2.5.0 |
|
#
e254f90d |
| 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 no
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.
llvm-svn: 63692
show more ...
|
#
ec8806e8 |
| 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 t
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.
llvm-svn: 61137
show more ...
|
#
0369c57a |
| 23-Nov-2008 |
Chris Lattner <sabre@nondot.org> |
Make all the 'redefinition' diagnostics more consistent, and make the "previously defined here" diagnostics all notes.
llvm-svn: 59920
|
#
74112917 |
| 18-Nov-2008 |
Chris Lattner <sabre@nondot.org> |
implement a fixme by making warnings for ++/-- on non-modifiable-lvalues better.
llvm-svn: 59484
|
Revision tags: llvmorg-2.4.0 |
|
#
9a657934 |
| 21-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::CheckSingleAssig
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).
llvm-svn: 57935
show more ...
|
#
09a5cf89 |
| 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++.
llvm-svn: 57901
|
#
84a4df8c |
| 15-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/101
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
llvm-svn: 57609
show more ...
|
#
279d9814 |
| 05-Oct-2008 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Add some text from the C++ standard and additional ambiguity resolution tests. No funcitonality change.
llvm-svn: 57136
|
#
2b1ef227 |
| 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.
llvm-svn: 57131
|
#
df788f4e |
| 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
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).
llvm-svn: 57125
show more ...
|
#
bc28fefc |
| 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.
llvm-svn: 57112
|
#
2534620b |
| 05-Oct-2008 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Fix Parser::isCXXConditionDeclaration to properly resolve declarations.
llvm-svn: 57111
|
#
71f3e19d |
| 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.
llvm-svn: 57109
|
#
7b87f274 |
| 05-Oct-2008 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Consider GNU attributes when doing ambiguity resolution.
llvm-svn: 57108
|
#
2c7137d8 |
| 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 p
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.
llvm-svn: 57084
show more ...
|