Alp Toker
f6a24ce40f
Fix a tranche of comment, test and doc typos
...
llvm-svn: 196510
2013-12-05 16:25:25 +00:00
Richard Smith
34f30516aa
Generate a marker token when entering or leaving a submodule when building a
...
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
2013-11-23 04:06:09 +00:00
Alexey Bataev
ee6507dfdc
Replaced bool parameters in SkipUntil function with single bit-based parameter.
...
llvm-svn: 194994
2013-11-18 08:17:37 +00:00
Fariborz Jahanian
b7c5f74264
ObjectiveC: Handle the case of qualifying protocols
...
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
2013-09-25 19:36:32 +00:00
Fariborz Jahanian
0080fb5a18
This patch removes unused parameter allProperties and converts remaining
...
parameters in ArrayRef'ize Sema::ActOnAtEnd to ArrayRef.
Patch by Robert Wilhelm.
llvm-svn: 186421
2013-07-16 15:33:19 +00:00
Dmitri Gribenko
070a10e63a
ArrayRef'ize Sema::CodeComplete*
...
Patch by Robert Wilhelm.
llvm-svn: 184052
2013-06-16 03:47:57 +00:00
Adrian Prantl
a4ce906bc0
address some comments on r183474:
...
- 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
2013-06-07 22:29:12 +00:00
Fariborz Jahanian
858885578d
Objective-C parsing. Error recovery when category implementation
...
declaration is illegally protocol qualified. // rdar://13920026
llvm-svn: 182136
2013-05-17 17:58:11 +00:00
Fariborz Jahanian
d56a262200
Fix a typo in a parse assert.
...
Patch by Alex Denisov.
llvm-svn: 180712
2013-04-29 15:35:35 +00:00
Fariborz Jahanian
46ed4d978e
Objective-C parsing [qoi]: Recover gracefully with good diagnostic
...
when class implementation declaration adds protocol qualifier
list. // rdar://12233858
llvm-svn: 180228
2013-04-24 23:23:47 +00:00
Fariborz Jahanian
d5d6f3d5a2
Objective-C++: Enable passing of modern C++11 style
...
initialized temporaries to objc++ methods.
// rdar://12788429
llvm-svn: 179818
2013-04-18 23:43:21 +00:00
Fariborz Jahanian
507a5f8cb3
Objective-C parsing [qoi]: Provide good recovery when
...
Objective-C dictionary literals has bad syntax for the
separator. // rdar://10679157
llvm-svn: 179784
2013-04-18 19:37:43 +00:00
Nico Weber
69a7914fec
Make the ObjC attributes diagnostics a bit more informative.
...
llvm-svn: 178720
2013-04-04 00:15:10 +00:00
Nico Weber
04e213b6b6
Emit a nicer diagnostic for misplaced attributes on ObjC directives.
...
llvm-svn: 178670
2013-04-03 17:36:11 +00:00
Argyrios Kyrtzidis
c36633c47a
[Parser] Don't code-complete twice.
...
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
2013-03-27 23:58:17 +00:00
Fariborz Jahanian
0b171939dc
Do the error recovery for @end only.
...
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
2013-03-20 18:45:49 +00:00
Fariborz Jahanian
089f39ec06
Objective-C [qoi] more gracefull recovery when
...
'}' is missing for the ivar declarations.
// rdar://6854840
llvm-svn: 177549
2013-03-20 18:09:33 +00:00
Fariborz Jahanian
1c5d4c54a9
Objective-C [qoi]: Provide improved parse diagnostics when
...
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
2013-03-19 20:27:40 +00:00
David Blaikie
7a30dc53c5
Use None rather than Optional<T>() where possible.
...
llvm-svn: 175705
2013-02-21 01:47:18 +00:00
David Blaikie
05785d1622
Include llvm::Optional in clang/Basic/LLVM.h
...
Post-commit CR feedback from Jordan Rose regarding r175594.
llvm-svn: 175679
2013-02-20 22:23:23 +00:00
Jordan Rose
a7d03840e6
Excise <cctype> from Clang (except clang-tblgen) in favor of CharInfo.h.
...
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
2013-02-08 22:30:41 +00:00
Richard Smith
e233fbfc16
Finish semantic analysis for [[carries_dependency]] attribute.
...
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
2013-01-28 22:42:45 +00:00
Fariborz Jahanian
02447d80e4
objectiveC (take two): don't warn when in -Wselector mode and
...
an unimplemented selector is consumed by
"respondsToSelector:". // rdar://12938616
llvm-svn: 173179
2013-01-22 18:35:43 +00:00
Fariborz Jahanian
60ccb9b2a9
objectiveC: don't warn when in -Wselector mode and
...
an unimplemented selector is consumed by
"respondsToSelector:". // rdar://12938616
llvm-svn: 173097
2013-01-21 22:32:29 +00:00
Richard Smith
945f8d32fd
Refactor to call ActOnFinishFullExpr on every full expression. Teach
...
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
2013-01-14 22:39:08 +00:00
Richard Smith
89645bc888
s/CXX0X/CXX11/g, except for __GNU_EXPERIMENTAL_CXX0X__, and update a few nearby 'C++0x' comments.
...
llvm-svn: 171372
2013-01-02 12:01:23 +00:00
Nico Weber
a7c7e60764
Remove some remnants of OwningExprResult / OwningStmtResult.
...
These got deleted late 2010 during the Actions/Sema unification.
No functionality change.
llvm-svn: 171269
2012-12-31 00:28:03 +00:00
Nico Weber
7aa4a881e6
Don't require a space between the two ">" in "vector<id<protocol>>" in objc++11.
...
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
2012-12-14 18:22:38 +00:00
Douglas Gregor
c50d4924eb
Use @import rather than @__experimental_modules_import, since the
...
latter is rather a mess to type.
llvm-svn: 169919
2012-12-11 22:11:52 +00:00
Chandler Carruth
3a02247dc9
Sort all of Clang's files under 'lib', and fix up the broken headers
...
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
2012-12-04 09:13:33 +00:00
Fariborz Jahanian
84f4984331
objective-C: improve on warnings about misplacement of method
...
argument names. // rdar://12263549
llvm-svn: 164077
2012-09-17 23:09:59 +00:00
Fariborz Jahanian
f4ffdf357c
objective-C: issue warning when there is no whitespace
...
between objc method parameter name and colon.
// rdar://12263549
llvm-svn: 164047
2012-09-17 19:15:26 +00:00
Dmitri Gribenko
00bcdd3192
Fix a couple of Doxygen issues pointed out by -Wdocumentation.
...
llvm-svn: 163722
2012-09-12 17:01:48 +00:00
Ted Kremenek
191ffd35a0
Revert "objective-C: warn under a flag if missing argument"
...
We plan on discussing this more, but we shouldn't have it in the compiler
in an incomplete state.
llvm-svn: 163720
2012-09-12 16:50:35 +00:00
Ted Kremenek
632a6432f5
Revert "objective-C: warn if selector has nothing but bare"
...
We plan on discussing this more.
llvm-svn: 163719
2012-09-12 16:50:30 +00:00
Fariborz Jahanian
822ab6b2e4
objective-C: warn if selector has nothing but bare
...
':' in its name. // rdar://8366823
llvm-svn: 163650
2012-09-11 21:27:45 +00:00
Fariborz Jahanian
66d2e88799
objective-C: warn under a flag if missing argument
...
name results in unintended selector name.
// rdar://12263549
llvm-svn: 163634
2012-09-11 17:24:26 +00:00
Benjamin Kramer
f062343889
Remove ASTOwningVector, it doesn't own anything and provides no value over SmallVector.
...
llvm-svn: 162492
2012-08-23 22:51:59 +00:00
Benjamin Kramer
62b95d88dc
Rip out remnants of move semantic emulation and smart pointers in Sema.
...
These were nops for quite a while and only lead to confusion. ASTMultiPtr
now behaves like a proper dumb array reference.
llvm-svn: 162475
2012-08-23 21:35:17 +00:00
Fariborz Jahanian
f64b4722eb
objective-C++: dalyed parsing of ctors with member
...
initializer list defined inside an objc class
implementation. wip
llvm-svn: 161699
2012-08-10 21:15:06 +00:00
Fariborz Jahanian
053227f808
objective-C++: delay parsing of ctor with try block
...
with member initializer list defined inside
an objc implementation block. wip.
llvm-svn: 161692
2012-08-10 20:34:17 +00:00
Fariborz Jahanian
8cecfe9fc9
objective-C++: delayed parsing of member function with
...
function-try-block occuring in objc's implementation
block. wip.
llvm-svn: 161675
2012-08-10 18:10:56 +00:00
Fariborz Jahanian
656b5a0937
objective-C: refactoring of objc's delayed parsing.
...
llvm-svn: 161620
2012-08-09 21:12:39 +00:00
Fariborz Jahanian
db5743d1b4
objective-C: minor refactoring in method
...
definition parsing logic.
llvm-svn: 161593
2012-08-09 17:15:00 +00:00
Eli Friedman
934dbbfa11
Minor simplification for r161534.
...
llvm-svn: 161544
2012-08-08 23:53:27 +00:00
Fariborz Jahanian
18d0a5d509
objective-C: refactor/simplify parsing of delayed
...
method/c-funcs defined in objc class implementation.
No intended functionality change.
llvm-svn: 161540
2012-08-08 23:41:08 +00:00
Richard Smith
ac4e36d1af
PR13558: Fix typo 'compatiblity'. Thinking of the children. Apparently.
...
llvm-svn: 161537
2012-08-08 23:32:13 +00:00
Eli Friedman
89b1f2c7e1
Handle deprecation diagnostics correctly for C struct fields and Objective-C properties/ivars. <rdar://problem/6642337>.
...
llvm-svn: 161534
2012-08-08 23:04:35 +00:00
Fariborz Jahanian
a5fc75f4f5
objective-c parsing. Don't crash when selector name
...
is missing in method prototype. // rdar://11939584
llvm-svn: 160789
2012-07-26 17:32:28 +00:00
Fariborz Jahanian
05d0d447c4
objective-c: provide fixit hint for @autoreleasepool
...
and similar other keywords. // rdar://10723084
llvm-svn: 159956
2012-07-09 20:00:35 +00:00