History log of /llvm-project/clang/lib/Parse/ParseObjc.cpp (Results 201 – 225 of 499)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# b7e4367f 16-May-2012 Argyrios Kyrtzidis <akyrtzi@gmail.com>

[libclang/AST] Index references of protocols in "@protocol(...)" syntax.

To do that, keep track of the location of the protocol id in the ObjCProtocolExpr
AST node.

rdar://11190837

llvm-svn: 156890


Revision tags: llvmorg-3.1.0
# 9b4fe356 10-May-2012 Argyrios Kyrtzidis <akyrtzi@gmail.com>

Don't crash when using objc boxed expression with parsing error.

rdar://11426994

llvm-svn: 156565


# 7a055366 09-May-2012 Fariborz Jahanian <fjahanian@apple.com>

objective-c. Fixes a 'fixit' where location of
'*' on objective-c class name was misplaced.
// rdar://11311333

llvm-svn: 156517


Revision tags: llvmorg-3.1.0-rc3
# 2ec85375 07-May-2012 John McCall <rjmccall@apple.com>

Refactor DelayedDiagnostics so that it keeps diagnostics in
separate pools owned by the RAII objects that keep pushing
decl state. This gives us quite a bit more flexibility.

llvm-svn: 156289


Revision tags: llvmorg-3.1.0-rc2
# 0caa3947 19-Apr-2012 Patrick Beard <pcbeard@mac.com>

Implements boxed expressions for Objective-C. <rdar://problem/10194391>

llvm-svn: 155082


Revision tags: llvmorg-3.1.0-rc1
# 6e92251f 12-Apr-2012 Erik Verbruggen <erikjv@me.com>

Added a flag to the parser to skip method bodies.

llvm-svn: 154584


# acfbe9e1 06-Apr-2012 Patrick Beard <pcbeard@mac.com>

Added a new attribute, objc_root_class, which informs the compiler when a root class is intentionally declared.
The warning this inhibits, -Wobjc-root-class, is opt-in for now. However, all clang uni

Added a new attribute, objc_root_class, which informs the compiler when a root class is intentionally declared.
The warning this inhibits, -Wobjc-root-class, is opt-in for now. However, all clang unit tests that would trigger
the warning have been updated to use -Wno-objc-root-class. <rdar://problem/7446698>

llvm-svn: 154187

show more ...


# bbafb8a7 11-Mar-2012 David Blaikie <dblaikie@gmail.com>

Unify naming of LangOptions variable/get function across the Clang stack (Lex to AST).

The member variable is always "LangOpts" and the member function is always "getLangOpts".

Reviewed by Chris La

Unify naming of LangOptions variable/get function across the Clang stack (Lex to AST).

The member variable is always "LangOpts" and the member function is always "getLangOpts".

Reviewed by Chris Lattner

llvm-svn: 152536

show more ...


# bcc22fc4 09-Mar-2012 Richard Smith <richard-llvm@metafoo.co.uk>

Support for raw and template forms of numeric user-defined literals,
and lots of tidying up.

llvm-svn: 152392


# 0cf55e99 08-Mar-2012 Douglas Gregor <dgregor@apple.com>

Streamline BalancedDelimiterTracker, by eliminating the duplicate
paren/brace/bracket tracking (the Consume* functions already did it),
removing the use of ConsumeAnyToken(), and moving the hot paths

Streamline BalancedDelimiterTracker, by eliminating the duplicate
paren/brace/bracket tracking (the Consume* functions already did it),
removing the use of ConsumeAnyToken(), and moving the hot paths inline
with the error paths out-of-line.

llvm-svn: 152274

show more ...


# e6a4affc 07-Mar-2012 Benjamin Kramer <benny.kra@googlemail.com>

Silence unused variable warnings.

llvm-svn: 152170


# e65b086e 06-Mar-2012 Ted Kremenek <kremenek@apple.com>

Add clang support for new Objective-C literal syntax for NSDictionary, NSArray,
NSNumber, and boolean literals. This includes both Sema and Codegen support.
Included is also support for new Objectiv

Add clang support for new Objective-C literal syntax for NSDictionary, NSArray,
NSNumber, and boolean literals. This includes both Sema and Codegen support.
Included is also support for new Objective-C container subscripting.

My apologies for the large patch. It was very difficult to break apart.
The patch introduces changes to the driver as well to cause clang to link
in additional runtime support when needed to support the new language features.

Docs are forthcoming to document the implementation and behavior of these features.

llvm-svn: 152137

show more ...


# d67aea28 06-Mar-2012 Richard Smith <richard-llvm@metafoo.co.uk>

User-defined literals: reject string and character UDLs in all places where the
grammar requires a string-literal and not a user-defined-string-literal. The
two constructs are still represented by th

User-defined literals: reject string and character UDLs in all places where the
grammar requires a string-literal and not a user-defined-string-literal. The
two constructs are still represented by the same TokenKind, in order to prevent
a combinatorial explosion of different kinds of token. A flag on Token tracks
whether a ud-suffix is present, in order to prevent clients from needing to look
at the token's spelling.

llvm-svn: 152098

show more ...


# c1e4dd0e 01-Mar-2012 Ted Kremenek <kremenek@apple.com>

Change @import to @__experimental_modules_import. We are not ready to commit to a particular syntax for modules,
and don't have time to push it forward in the near future.

llvm-svn: 151841


# 86c2f5cc 29-Feb-2012 Fariborz Jahanian <fjahanian@apple.com>

objective-c: provide fixit hint when atomic property does not
have matching user defined setter/getter and a warning is issued.
In this case, a fixit note is displayed. // rdar://10267155

llvm-svn:

objective-c: provide fixit hint when atomic property does not
have matching user defined setter/getter and a warning is issued.
In this case, a fixit note is displayed. // rdar://10267155

llvm-svn: 151766

show more ...


# 2e85c5f2 23-Feb-2012 Argyrios Kyrtzidis <akyrtzi@gmail.com>

[libclang] Make sure that all top-level decls in a @implementation are
marked as such.

Previously we missed tag declarations; fixes rdar://10902015

llvm-svn: 151283


# 800ddf3d 14-Feb-2012 Dmitri Gribenko <gribozavr@gmail.com>

Generalize -Wempty-body: warn when statement body is empty (closes: PR11329)

* if, switch, range-based for: warn if semicolon is on the same line.
* for, while: warn if semicolon is on the same line

Generalize -Wempty-body: warn when statement body is empty (closes: PR11329)

* if, switch, range-based for: warn if semicolon is on the same line.
* for, while: warn if semicolon is on the same line and either next
statement is compound statement or next statement has more
indentation.

Replacing the semicolon with {} or moving the semicolon to the next
line will always silence the warning.

Tests from SemaCXX/if-empty-body.cpp merged into SemaCXX/warn-empty-body.cpp.

llvm-svn: 150515

show more ...


# b6c6a583 07-Feb-2012 Argyrios Kyrtzidis <akyrtzi@gmail.com>

Make parsing of objc @implementations more robust.

Parsing of @implementations was based on modifying global state from
the parser; the logic for late parsing of methods was spread in multiple place

Make parsing of objc @implementations more robust.

Parsing of @implementations was based on modifying global state from
the parser; the logic for late parsing of methods was spread in multiple places
making it difficult to have a robust error recovery.

-it was difficult to ensure that we don't neglect parsing the lexed methods.
-it was difficult to setup the original objc container context for parsing the lexed methods
after completing ParseObjCAtImplementationDeclaration and returning to top level context.

Enhance parsing of @implementations by centralizing it in Parser::ParseObjCAtImplementationDeclaration().
ParseObjCAtImplementationDeclaration now returns only after an @implementation is fully parsed;
all the data and logic for late parsing of methods is now in one place.

This allows us to provide code-completion for late parsed methods with mis-matched braces.
rdar://10775381

llvm-svn: 149987

show more ...


# 8a40f700 17-Jan-2012 David Blaikie <dblaikie@gmail.com>

Remove unreachable code in Clang. (replace with llvm_unreachable where appropriate or when GCC requires it)

llvm-svn: 148292


# 0bf886d4 03-Jan-2012 Douglas Gregor <dgregor@apple.com>

Under -fmodules, accept #public <macroname> and #private <macroname>
to make a macro public (the default for headers) or private,
respectively.

llvm-svn: 147455


# 22d0974b 03-Jan-2012 Douglas Gregor <dgregor@apple.com>

Introduce a non-uglified syntax for module imports in Objective-C:

@import identifier [. identifier]* ;

llvm-svn: 147452


# f6102675 01-Jan-2012 Douglas Gregor <dgregor@apple.com>

Eliminate ObjCForwardProtocolDecl, which is redundant now that
ObjCProtocolDecl modules forward declarations properly.

llvm-svn: 147415


# 68e081d6 20-Dec-2011 David Blaikie <dblaikie@gmail.com>

Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch

llvm-svn: 146959


# e1ee623a 17-Dec-2011 Argyrios Kyrtzidis <akyrtzi@gmail.com>

In Parser::SkipUntil do not stop at '@' unconditionally.

Stopping at '@' was originally intended to avoid skipping an '@' at the @interface context
when doing parser recovery, but we should not stop

In Parser::SkipUntil do not stop at '@' unconditionally.

Stopping at '@' was originally intended to avoid skipping an '@' at the @interface context
when doing parser recovery, but we should not stop at all '@' tokens because they may be part
of expressions (e.g. in @"string", @selector(), etc.), so in most cases we will want to skip them.

This commit caused 'test/Parser/method-def-in-class.m' to fail for the cases where we tried to
recover from unmatched angle bracket but IMO it is not a big deal to not have good recovery
from such broken code and the way we did recovery would not always work anyway (e.g. if there was '@'
in an expression).

The case that rdar://7029784 is about still passes.

llvm-svn: 146815

show more ...


# 9a174fb8 17-Dec-2011 Argyrios Kyrtzidis <akyrtzi@gmail.com>

After late parsing an objc method, make sure there are no leftover cached tokens,
because the memory associated with them is going to get released.
We also don't want them to affect later parsing.
(W

After late parsing an objc method, make sure there are no leftover cached tokens,
because the memory associated with them is going to get released.
We also don't want them to affect later parsing.
(We do the same for C++ inline methods.)

The underlying cause for the leftover tokens is going to be addressed in the
next commit.

Couldn't get a test case for the crash though. rdar://10583033.

llvm-svn: 146814

show more ...


12345678910>>...20