| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
| |
migration. Also, fixes an old bug where older migration
flags were not being checked for properly.
llvm-svn: 185948
|
|
|
|
|
|
| |
for now.
llvm-svn: 185879
|
|
|
|
|
|
| |
their equivalent property declaration. wip.
llvm-svn: 185873
|
|
|
|
|
|
| |
use of objc's properties.
llvm-svn: 185724
|
|
|
|
| |
llvm-svn: 185717
|
|
|
|
|
|
|
| |
types when deciding on validity of a property
inclusion. // rdar://14345082
llvm-svn: 185599
|
|
|
|
| |
llvm-svn: 185593
|
|
|
|
|
|
|
|
| |
migrating setter/getter methods to an eventual
property declaraiton. This is wip.
// rdar://14345082
llvm-svn: 185591
|
|
|
|
| |
llvm-svn: 183903
|
|
|
|
|
|
| |
This is preparation for replacing Path.h with PathV2.h.
llvm-svn: 183781
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch renames getLinkage to getLinkageInternal. Only code that
needs to handle UniqueExternalLinkage specially should call this.
Linkage, as defined in the c++ standard, is provided by
getFormalLinkage. It maps UniqueExternalLinkage to ExternalLinkage.
Most places in the compiler actually want isExternallyVisible, which
handles UniqueExternalLinkage as internal.
llvm-svn: 181677
|
|
|
|
| |
llvm-svn: 181070
|
|
|
|
|
|
|
|
| |
MacroArgs object that provides information about
the argument tokens for a function macro.
llvm-svn: 181065
|
|
|
|
|
|
|
|
|
|
|
|
| |
message, to the selector location.
Previously it would point to the left bracket or the receiver, which can be particularly
problematic if the receiver is a block literal and we end up point the diagnostic far away
for the selector that is complaining about.
rdar://13620447
llvm-svn: 180833
|
|
|
|
| |
llvm-svn: 179261
|
|
|
|
|
|
|
|
| |
iterators from the diagnostic list.
Should fix http://llvm.org/PR15500
llvm-svn: 178500
|
|
|
|
| |
llvm-svn: 176607
|
|
|
|
|
|
|
|
| |
available the
full information about the macro (e.g if it was imported and where).
llvm-svn: 175978
|
|
|
|
|
|
| |
Post-commit CR feedback from Jordan Rose regarding r175594.
llvm-svn: 175679
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The TypeLoc hierarchy used the llvm::cast machinery to perform undefined
behavior by casting pointers/references to TypeLoc objects to derived types
and then using the derived copy constructors (or even returning pointers to
derived types that actually point to the original TypeLoc object).
Some context is in this thread:
http://lists.cs.uiuc.edu/pipermail/llvmdev/2012-December/056804.html
Though it's spread over a few months which can be hard to read in the mail
archive.
llvm-svn: 175462
|
|
|
|
|
|
|
|
| |
before checking for its attributes.
rdar://13192395
llvm-svn: 175184
|
|
|
|
|
|
| |
rdar://13140508
llvm-svn: 174386
|
|
|
|
|
|
|
|
|
|
| |
Manually fix the order of UnwrappedLineParser.cpp as that one didn't
have its associated header as the first header.
This also uncovered a subtle inclusion order dependency as CLog.h didn't
include LLVM.h to pick up using declarations it relied upon.
llvm-svn: 172892
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
dictionary literal
if we can see the elements of the arrays.
for example:
NSDictionary *dict = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:@"1", @"2", nil] forKeys:[NSArray arrayWithObjects:@"A", @"B", nil]];
-->
NSDictionary *dict = @{ @"A" : @"1", @"B" : @"2" };
rdar://12428166
llvm-svn: 172679
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
consider (sub)module visibility.
The bulk of this change replaces myriad hand-rolled loops over the
linked list of Objective-C categories/extensions attached to an
interface declaration with loops using one of the four new category
iterator kinds:
visible_categories_iterator: Iterates over all visible categories
and extensions, hiding any that have their "hidden" bit set. This is
by far the most commonly used iterator.
known_categories_iterator: Iterates over all categories and
extensions, ignoring the "hidden" bit. This tends to be used for
redeclaration-like traversals.
visible_extensions_iterator: Iterates over all visible extensions,
hiding any that have their "hidden" bit set.
known_extensions_iterator: Iterates over all extensions, whether
they are visible to normal name lookup or not.
The effect of this change is that any uses of the visible_ iterators
will respect module-import visibility. See the new tests for examples.
Note that the old accessors for categories and extensions are gone;
there are *Raw() forms for some of them, for those (few) areas of the
compiler that have to manipulate the linked list of categories
directly. This is generally discouraged.
Part two of <rdar://problem/10634711>.
llvm-svn: 172665
|
|
|
|
|
|
| |
brought into 'clang' namespace by clang/Basic/LLVM.h
llvm-svn: 172323
|
|
|
|
|
|
|
|
|
| |
statements,
that the case does not "contain" a declaration that is referenced "outside" of it,
otherwise we will emit un-compilable code.
llvm-svn: 171828
|
|
|
|
| |
llvm-svn: 171505
|
|
|
|
| |
llvm-svn: 171494
|
|
|
|
|
|
|
|
| |
previous statement.
rdar://11074996
llvm-svn: 171485
|
|
|
|
|
|
|
|
|
|
| |
retaining
variable, thus emitting the "switch case is in protected scope" error.
rdar://12952016
llvm-svn: 171484
|
|
|
|
|
|
|
|
| |
-autorelease.
rdar://12952025
llvm-svn: 171482
|
|
|
|
|
|
|
|
|
|
|
|
| |
c = Block_copy(b);
Block_release(c);
---->
c = [b copy];
<removed>
rdar://9408211
llvm-svn: 171454
|
|
|
|
|
|
| |
the diagnostic has a valid location.
llvm-svn: 170040
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
implementation
has inconsistent ownership with the backing ivar, point the error location to the
ivar.
Pointing to the ivar (instead of the @synthesize) is better since this is where a fix is needed.
Also provide the location of @synthesize via a note.
This also fixes the problem where an auto-synthesized property would emit an error without
any location.
llvm-svn: 170039
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
PreprocessingRecord and into its own class, PPConditionalDirectiveRecord.
Decoupling allows a client to use the functionality of PPConditionalDirectiveRecord
without needing a PreprocessingRecord.
llvm-svn: 169229
|
|
|
|
|
|
| |
Recursively prune some includes.
llvm-svn: 169094
|
|
|
|
|
|
|
|
|
| |
pull in all the generated Attr code.
Required to pull some functions out of line, but this shouldn't have a perf impact.
No functionality change.
llvm-svn: 169092
|
|
|
|
| |
llvm-svn: 167929
|
|
|
|
|
|
|
| |
We can now rely on the -mios-simulator-version-min command line option
and remove the awful hack. <rdar://problem/10304510>
llvm-svn: 167603
|
|
|
|
|
|
| |
reference-counted.
llvm-svn: 166587
|
|
|
|
| |
llvm-svn: 166520
|
|
|
|
|
|
|
| |
the various stakeholders bump up the reference count. In particular,
the diagnostics engine now keeps the DiagnosticOptions object alive.
llvm-svn: 166508
|
|
|
|
|
|
|
| |
This is similar to how we divide up the StaticAnalyzer libraries to separate
core functionality to what is clearly associated with Frontend actions.
llvm-svn: 163050
|
|
|
|
|
|
| |
call, we need to replace it with the new one returned. This was triggering an assert under MSVC 2012 and making all the ARCMT/ tests fail.
llvm-svn: 163007
|
|
|
|
| |
llvm-svn: 162430
|
|
|
|
|
|
|
|
| |
diagnostics for bad deployment targets and adding a few
more predicates. Includes a patch by Jonathan Schleifer
to enable ARC for ObjFW.
llvm-svn: 162252
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The old behavior was to re-scan any files (like modules) where we may have
directives but won't actually be parsing during the -verify invocation.
Now, we keep the old behavior in Debug builds as a sanity check (though
modules are a known entity), and expect all legitimate directives to come
from comments seen by the preprocessor.
This also affects the ARC migration tool, which captures diagnostics in
order to filter some out. This change adds an explicit cleanup to
CaptureDiagnosticsConsumer in order to let its sub-consumer handle the
real end of diagnostics.
This was originally split into four patches, but the tests do not run
cleanly without all four, so I've combined them into one commit.
Patches by Andy Gibbs, with slight modifications from me.
llvm-svn: 161650
|
|
|
|
| |
llvm-svn: 160851
|