| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
template parameter.
llvm-svn: 184884
|
| |
|
|
|
|
| |
namespaces to try for potential typo corrections.
llvm-svn: 184762
|
| |
|
|
|
|
| |
showing "(null)".
llvm-svn: 184377
|
| |
|
|
|
|
| |
Differential Revision: http://llvm-reviews.chandlerc.com/D586
llvm-svn: 183609
|
| |
|
|
| |
llvm-svn: 183223
|
| |
|
|
|
|
|
|
|
|
| |
pointer type qualifiers. This patch also fixes the correlated __ptr32 and __ptr64 pointer qualifiers so that they are truly type attributes instead of declaration attributes.
For more information about __sptr and __uptr, see MSDN: http://msdn.microsoft.com/en-us/library/aa983399.aspx
Patch reviewed by Richard Smith.
llvm-svn: 182535
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*that* easy...
Try a bit harder to disambiguate. This is mostly straightforward, but for
=-style initializers, we actually need to know where an expression ends:
[foo = bar baz]
is a message send, whereas
[foo = bar + baz]
is a lambda-introducer. Handle this by parsing the expression eagerly, and
replacing it with an annotation token. By chance, we use the *exact same*
parsing rules in both cases (except that we need to assume we're inside a
message send for the parse, to turn off various forms of inapplicable
error recovery).
llvm-svn: 182432
|
| |
|
|
|
|
| |
declaration is illegally protocol qualified. // rdar://13920026
llvm-svn: 182136
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
a FieldDecl from it, and propagate both into the closure type and the
LambdaExpr.
You can't do much useful with them yet -- you can't use them within the body
of the lambda, because we don't have a representation for "the this of the
lambda, not the this of the enclosing context". We also don't have support or a
representation for a nested capture of an init-capture yet, which was intended
to work despite not being allowed by the current standard wording.
llvm-svn: 181985
|
| |
|
|
| |
llvm-svn: 181553
|
| |
|
|
|
|
| |
hookup. For more information about safebuffers, see MSDN: http://msdn.microsoft.com/en-us/library/dd778695(v=vs.110).aspx
llvm-svn: 181123
|
| |
|
|
|
|
|
| |
when class implementation declaration adds protocol qualifier
list. // rdar://12233858
llvm-svn: 180228
|
| |
|
|
|
|
|
|
|
| |
C++1y, so stop adding the 'const' there. Provide a compatibility warning for
code relying on this in C++11, with a fix-it hint. Update our lazily-written
tests to add the const, except for those ones which were testing our
implementation of this rule.
llvm-svn: 179969
|
| |
|
|
|
|
|
| |
initialized temporaries to objc++ methods.
// rdar://12788429
llvm-svn: 179818
|
| |
|
|
|
|
|
| |
Objective-C dictionary literals has bad syntax for the
separator. // rdar://10679157
llvm-svn: 179784
|
| |
|
|
|
|
| |
Fixes PR13580. Patch by Serge Pavlov!
llvm-svn: 179743
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch implements parsing ‘#pragma clang __debug’ as a first step for
implementing captured statements. Captured statements are a mechanism for
doing outlining in the AST.
see http://lists.cs.uiuc.edu/pipermail/cfe-dev/2013-January/027540.html.
Currently returns StmtEmpty
Author: Andy Zhang <andy.zhang@intel.com>
Differential Revision: http://llvm-reviews.chandlerc.com/D369
llvm-svn: 179614
|
| |
|
|
|
|
|
|
| |
references thereto.
Patch by Tong Shen!
llvm-svn: 179585
|
| |
|
|
|
|
| |
on the MSVC bot.
llvm-svn: 179432
|
| |
|
|
|
|
| |
semantics as __thread for now.
llvm-svn: 179424
|
| |
|
|
| |
llvm-svn: 178720
|
| |
|
|
| |
llvm-svn: 178670
|
| |
|
|
|
|
| |
sugar for the _Atomic type specifier.
llvm-svn: 178210
|
| |
|
|
|
|
|
|
|
|
| |
behavioural
difference is that we no longer clean the token before emitting it. This fixes a bug where
clang hangs in the middle of crashing because the crash handler calls malloc from inside
a crash that happened inside of free.
llvm-svn: 177919
|
| |
|
|
|
|
|
|
| |
I am not sure how much we can improve for
when a randon ObjC keyword is thrown into the
ivar decl. block. // rdar://6854840
llvm-svn: 177553
|
| |
|
|
|
|
|
| |
'}' is missing for the ivar declarations.
// rdar://6854840
llvm-svn: 177549
|
| |
|
|
|
|
| |
initializers.
llvm-svn: 177480
|
| |
|
|
|
|
|
|
|
| |
closing rbrace is missing in an ObjC class declaration.
Can do beter than this, but it involves addition of
overhead which will be present in correct code.
// rdar://6854840
llvm-svn: 177435
|
| |
|
|
|
|
| |
definition. Bump some related diagnostics from warning to extension in C++, since they're errors there. Add some missing checks for function specifiers on non-function declarations.
llvm-svn: 177335
|
| |
|
|
| |
llvm-svn: 176474
|
| |
|
|
|
|
| |
// rdar://13158394
llvm-svn: 176308
|
| |
|
|
|
|
|
|
| |
use of stand-alone protocol as type and uses
id<proto>. Modify warning to say what compiler
is doing. // rdar//13158394
llvm-svn: 176303
|
| |
|
|
|
|
|
|
| |
Introduce a new AST Decl node "EmptyDecl" to model empty-declaration. Have attributes from attribute-declaration appertain
to the EmptyDecl node by creating the AST representations of these attributes and attach them to the EmptyDecl node so these
attributes can be sema checked just as attributes attached to "normal" declarations.
llvm-svn: 175900
|
| |
|
|
|
|
| |
in C++98.
llvm-svn: 175879
|
| |
|
|
|
|
| |
if it has declarators. We were missing the check for this in a couple of places.
llvm-svn: 175876
|
| |
|
|
|
|
| |
and we used to assert if it did.
llvm-svn: 175866
|
| |
|
|
|
|
|
|
|
|
|
| |
to control the check for the C 5.2.4.1 / C++ [implimits] restriction on nesting
levels for parentheses, brackets and braces.
Some code with heavy macro use exceeds the default limit of 256, but we don't
want to increase it generally to avoid stack overflow on stack-constrained
systems.
llvm-svn: 175855
|
| |
|
|
|
|
|
|
| |
which allows grouping parens in an abstract-pack-declarator. This was already
mostly implemented, but missed some cases. Add an ExtWarn for use of this
extension until CWG ratifies it.
llvm-svn: 175660
|
| |
|
|
|
|
|
| |
diagnose attributes on alias declarations, using directives, and attribute
declarations.
llvm-svn: 175649
|
| |
|
|
|
|
|
|
| |
attributes yet, so just issue the appropriate diagnostics. Also generalize the
fixit for attributes-in-the-wrong-place code and reuse it here, if attributes
are placed after the access-specifier or 'virtual' in a base specifier.
llvm-svn: 175575
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
designator" diagnostic with more correct and more human-friendly "cannot take
address of rvalue of type 'T'".
For the case of & &T::f, provide a custom diagnostic, rather than unhelpfully
saying "cannot take address of rvalue of type '<overloaded function type>'".
For the case of &array_temporary, treat it just like a class temporary
(including allowing it as an extension); the existing diagnostic wording
for the class temporary case works fine.
llvm-svn: 174262
|
| |
|
|
|
|
|
|
|
| |
the diagnostic's warn_ name. Switch some places (notably C++11 attributes)
which really wanted an error over to a different diagnostic. Finally, suppress
the diagnostic entirely for __ptr32, __ptr64 and __w64, to avoid producing
diagnostics in important system headers.
llvm-svn: 173788
|
| |
|
|
| |
llvm-svn: 173779
|
| |
|
|
|
|
|
| |
It turns out that there's no correctness bug here (because we can't have a type
definition in this location), but there was a diagnostic bug.
llvm-svn: 173766
|
| |
|
|
|
|
|
| |
pretty-print them properly (modulo the more general badness in alignment
attribute printing).
llvm-svn: 173752
|
| |
|
|
|
|
|
| |
on a type. Currently, it gives a generic "expected unqualified-id" error.
The new error message is "cannot use (dot|arrow) operator on a type".
llvm-svn: 173556
|
| |
|
|
| |
llvm-svn: 173510
|
| |
|
|
|
|
| |
suggestion.
llvm-svn: 173367
|
| |
|
|
| |
llvm-svn: 173198
|
| |
|
|
| |
llvm-svn: 173193
|