| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
in debugger mode) to accept @import declarations
and pass them to the debugger.
In the preprocessor, accept import declarations
if the debugger is enabled, but don't actually
load the module, just pass the import path on to
the preprocessor callbacks.
In the Objective-C parser, if it sees an import
declaration in statement context (usual for LLDB),
ignore it and return a NullStmt.
llvm-svn: 223855
|
| |
|
|
|
|
| |
when calling DiagnoseEmptyLookup.
llvm-svn: 222551
|
| |
|
|
|
|
|
|
|
| |
Sema::ActOnIdExpression to use the new functionality.
Among other things, this allows recovery in several cases where it
wasn't possible before (e.g. correcting a mistyped static_cast<>).
llvm-svn: 222464
|
| |
|
|
| |
llvm-svn: 220897
|
| |
|
|
|
|
| |
No change in functionality.
llvm-svn: 217025
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
than one method with mismatched type of same selector name.
clang issues a warning to point this out since it may cause
undefined behavior. There are cases though that some APIs
don't care about user methods and such warnings are perceived as
noise. This patch allows users to add paren delimiters around
selector name to turn off such warnings. So, @selector((save:)) will
turn off the warning. It also provides 'fixit' so user knows
what to do. // rdar://16458579
llvm-svn: 211611
|
| |
|
|
|
|
| |
takeAs to getAs.
llvm-svn: 209800
|
| |
|
|
| |
llvm-svn: 209275
|
| |
|
|
|
|
| |
when modules are disabled. // rdar://15505492
llvm-svn: 204862
|
| |
|
|
| |
llvm-svn: 204569
|
| |
|
|
|
|
| |
class.
llvm-svn: 203641
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
1) Teach ExpectAndConsume() to emit expected and expected-after diagnostics
using the generic diagnostic descriptions added in r197972, eliminating another
set of trivial err_expected_* variations while maintaining existing behaviour.
2) Lift SkipUntil() recovery out of ExpectAndConsume(). The Expect/Consume
family of functions are primitive parser operations that now have the
well-defined property of operating on single tokens. Factoring out recovery
exposes opportunities for more consistent and tailored error recover at the
call sites instead of just relying on a bottled SkipUntil formula.
llvm-svn: 198270
|
| |
|
|
|
|
|
| |
Includes a fix for a missing highlight range caused by a ',' typo in the PP
diagnostics.
llvm-svn: 198252
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Introduce proper facilities to render token spellings using the diagnostic
formatter.
Replaces most of the hard-coded diagnostic messages related to expected tokens,
which all shared the same semantics but had to be multiply defined due to
variations in token order or quote marks.
The associated parser changes are largely mechanical but they expose
commonality in whole chunks of the parser that can now be factored away.
This commit uses C++11 typed enums along with a speculative legacy fallback
until the transition is complete.
Requires corresponding changes in LLVM r197895.
llvm-svn: 197972
|
| |
|
|
| |
llvm-svn: 196510
|
| |
|
|
|
|
|
|
|
| |
module. Use the marker to diagnose cases where we try to transition between
submodules when not at the top level (most likely because a closing brace was
missing at the end of a header file, but is also possible if submodule headers
attempt to do something fundamentally non-modular, like our .def files).
llvm-svn: 195543
|
| |
|
|
| |
llvm-svn: 194994
|
| |
|
|
|
|
|
|
|
| |
declared in a typedef declaraton used as super
class of an ObjC class. Curretnly, these protocols
are dropped from the class hierarchy. Test shows that
it is now included. // rdar://15051465
llvm-svn: 191395
|
| |
|
|
|
|
|
| |
parameters in ArrayRef'ize Sema::ActOnAtEnd to ArrayRef.
Patch by Robert Wilhelm.
llvm-svn: 186421
|
| |
|
|
|
|
| |
Patch by Robert Wilhelm.
llvm-svn: 184052
|
| |
|
|
|
|
|
|
|
|
| |
- factor the name construction part out from constructSetterName
- rename constructSetterName to the more appropriate constructSetterSelector
no functionality change intended.
rdar://problem/14035789
llvm-svn: 183582
|
| |
|
|
|
|
| |
declaration is illegally protocol qualified. // rdar://13920026
llvm-svn: 182136
|
| |
|
|
|
|
| |
Patch by Alex Denisov.
llvm-svn: 180712
|
| |
|
|
|
|
|
| |
when class implementation declaration adds protocol qualifier
list. // rdar://12233858
llvm-svn: 180228
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 178720
|
| |
|
|
| |
llvm-svn: 178670
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When we are consuming the current token just to enter a new token stream, we push
the current token in the back of the stream so that we get it again.
Unfortunately this had the effect where if the current token is a code-completion one,
we would code-complete once during consuming it and another time after the stream ended.
Fix this by making sure that, in this case, ConsumeAnyToken() will consume a code-completion
token without invoking code-completion.
rdar://12842503
llvm-svn: 178199
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 175705
|
| |
|
|
|
|
| |
Post-commit CR feedback from Jordan Rose regarding r175594.
llvm-svn: 175679
|
| |
|
|
|
|
|
| |
Nearly all of these changes are one-to-one replacements; the few that
aren't have to do with custom identifier validation.
llvm-svn: 174768
|
| |
|
|
|
|
|
|
|
|
| |
This required plumbing through a new flag to determine whether a ParmVarDecl is
actually a parameter of a function declaration (as opposed to a function
typedef etc, where the attribute is prohibited). Weirdly, this attribute (just
like [[noreturn]]) cannot be applied to a function type, just to a function
declaration (and its parameters).
llvm-svn: 173726
|
| |
|
|
|
|
|
| |
an unimplemented selector is consumed by
"respondsToSelector:". // rdar://12938616
llvm-svn: 173179
|
| |
|
|
|
|
|
| |
an unimplemented selector is consumed by
"respondsToSelector:". // rdar://12938616
llvm-svn: 173097
|
| |
|
|
|
|
|
|
| |
ActOnFinishFullExpr that some of its checks only apply to discarded-value
expressions. This adds missing checks for unexpanded variadic template
parameter packs to a handful of constructs.
llvm-svn: 172485
|
| |
|
|
|
|
| |
nearby 'C++0x' comments.
llvm-svn: 171372
|
| |
|
|
|
|
|
| |
These got deleted late 2010 during the Actions/Sema unification.
No functionality change.
llvm-svn: 171269
|
| |
|
|
|
|
|
|
| |
C++11 allowed writing "vector<vector<int>>" without a space between the two ">".
This change allows this for protocols in template lists too in -std=c++11 mode,
and improves the diagnostic in c++98 mode.
llvm-svn: 170223
|
| |
|
|
|
|
| |
latter is rather a mess to type.
llvm-svn: 169919
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
uncovered.
This required manually correcting all of the incorrect main-module
headers I could find, and running the new llvm/utils/sort_includes.py
script over the files.
I also manually added quite a few missing headers that were uncovered by
shuffling the order or moving headers up to be main-module-headers.
llvm-svn: 169237
|
| |
|
|
|
|
| |
argument names. // rdar://12263549
llvm-svn: 164077
|
| |
|
|
|
|
|
| |
between objc method parameter name and colon.
// rdar://12263549
llvm-svn: 164047
|
| |
|
|
| |
llvm-svn: 163722
|
| |
|
|
|
|
|
| |
We plan on discussing this more, but we shouldn't have it in the compiler
in an incomplete state.
llvm-svn: 163720
|
| |
|
|
|
|
| |
We plan on discussing this more.
llvm-svn: 163719
|
| |
|
|
|
|
| |
':' in its name. // rdar://8366823
llvm-svn: 163650
|