| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Patch by Alexander Zinenko.
llvm-svn: 175376
|
|
|
|
|
|
|
| |
of @throw statement by finding location of the ';'
correctly. // rdar://13186010
llvm-svn: 174898
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
involving property getter expressions on rhs of property setter.
// rdar://13138459
llvm-svn: 174729
|
|
|
|
|
|
|
| |
rewriting bug where #ifdef ended up on the same
line as the attribute declaration.
llvm-svn: 174719
|
|
|
|
|
|
|
| |
info in the translated code under -g only.
// rdar://13138170
llvm-svn: 174684
|
|
|
|
|
|
|
| |
modern meta-data abi translation. Still wip.
// rdar://13138459
llvm-svn: 174672
|
|
|
|
|
|
|
| |
metadata to handle ivar bitfields. This is wip.
// rdar://13138459
llvm-svn: 174573
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 171545
|
|
|
|
| |
llvm-svn: 170903
|
|
|
|
|
|
| |
which is wrong here.
llvm-svn: 170721
|
|
|
|
|
|
| |
single attribute in the future.
llvm-svn: 170500
|
|
|
|
|
|
| |
and make sure additional uses don't get introduced. <rdar://problem/12858424>.
llvm-svn: 170081
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
private members so the anonymous class doesn't leak out.
No functionality change.
llvm-svn: 169099
|
|
|
|
| |
llvm-svn: 169095
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
in deciding a copy/dispose field is needed in a byref structure
and when generating the copy/dispose helpers. In certain
cases, these fields were being added but no copy/dispose was
being generated. This was uncovered in ARC, but not in MRR.
// rdar://12759433
llvm-svn: 168825
|
|
|
|
|
|
|
|
| |
libRewriteCore.
LLVM_USED_LIBS does nothing here.
llvm-svn: 168172
|
|
|
|
|
|
| |
directive on a new line.
llvm-svn: 167542
|
|
|
|
| |
llvm-svn: 167511
|
|
|
|
|
|
|
| |
translated code where new code makes the lines be off.
This is wip.
llvm-svn: 167500
|
|
|
|
|
|
| |
directive to escape Win32 path separator '\\'.
llvm-svn: 167497
|
|
|
|
|
|
| |
translated source where it is needed. wip.
llvm-svn: 167469
|
|
|
|
|
|
|
| |
the various stakeholders bump up the reference count. In particular,
the diagnostics engine now keeps the DiagnosticOptions object alive.
llvm-svn: 166508
|
|
|
|
|
|
|
| |
Updates to llvm/Support/Casting.h have rendered these classof()'s
irrelevant.
llvm-svn: 165770
|
|
|
|
| |
llvm-svn: 165007
|
|
|
|
|
|
|
|
| |
Clang will now honor the FP_CONTRACT pragma and emit LLVM
fmuladd intrinsics for expressions of the form A * B + C (when they occur in a
single statement).
llvm-svn: 164989
|
|
|
|
|
|
|
| |
an inclusion directive was automatically turned into a module import, and
PPCallbacks::moduleImport() for an explicit module import.
llvm-svn: 164874
|
|
|
|
|
|
|
|
|
|
| |
http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20120917/064551.html
have PPCallbacks::InclusionDirective pass the character range for the filename quotes or brackets.
rdar://11113134 & http://llvm.org/PR13880
llvm-svn: 164743
|
|
|
|
| |
llvm-svn: 163546
|
|
|
|
|
|
| |
Patch thanks to Joe Ranieri!
llvm-svn: 163330
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
No functionality change.
llvm-svn: 162552
|
|
|
|
|
|
| |
for structure valued method messaging. // rdar://12142241
llvm-svn: 162303
|
|
|
|
|
|
|
|
|
| |
and remove ASTContext reference (which was frequently bound to a dereferenced
null pointer) from the recursive lump of printPretty functions. In so doing,
fix (at least) one case where we intended to use the 'dump' mode, but that
failed because a null ASTContext reference had been passed in.
llvm-svn: 162011
|
|
|
|
| |
llvm-svn: 161153
|
|
|
|
| |
llvm-svn: 160851
|
|
|
|
|
|
|
|
| |
"memset' lazily when is needed in translation of
struct-valued methods which require checkinf of nil receivers
outside their bodies. // rdar://11847319
llvm-svn: 160759
|
|
|
|
|
|
| |
<string.h>. // rdar://11847319
llvm-svn: 160287
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
very simple semantic analysis that just builds the AST; minor changes for lexer
to pick up source locations I didn't think about before.
Comments AST is modelled along the ideas of HTML AST: block and inline content.
* Block content is a paragraph or a command that has a paragraph as an argument
or verbatim command.
* Inline content is placed within some block. Inline content includes plain
text, inline commands and HTML as tag soup.
llvm-svn: 159790
|
|
|
|
|
|
|
| |
correctly for blocks and function pointer arguments
in the written constructor. // rdar://11359268
llvm-svn: 159456
|
|
|
|
|
|
| |
platforms declare memset in rewritten code instead.
llvm-svn: 159454
|
|
|
|
|
|
|
| |
entry point which requires nil check before calling objc_msgSend_stret.
// rdar://11359268 - wip.
llvm-svn: 159445
|
|
|
|
|
|
| |
objc_msgSend_stret() API. No functionality change.
llvm-svn: 159379
|
|
|
|
|
|
|
|
|
| |
express library-level dependencies within Clang.
This is no more verbose really, and plays nicer with the rest of the
CMake facilities. It should also have no change in functionality.
llvm-svn: 158888
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
target Objective-C runtime down to the frontend: break this
down into a single target runtime kind and version, and compute
all the relevant information from that. This makes it
relatively painless to add support for new runtimes to the
compiler. Make the new -cc1 flag, -fobjc-runtime=blah-x.y.z,
available at the driver level as a better and more general
alternative to -fgnu-runtime and -fnext-runtime. This new
concept of an Objective-C runtime also encompasses what we
were previously separating out as the "Objective-C ABI", so
fragile vs. non-fragile runtimes are now really modelled as
different kinds of runtime, paving the way for better overall
differentiation.
As a sort of special case, continue to accept the -cc1 flag
-fobjc-runtime-has-weak, as a sop to PLCompatibilityWeak.
I won't go so far as to say "no functionality change", even
ignoring the new driver flag, but subtle changes in driver
semantics are almost certainly not intended.
llvm-svn: 158793
|