| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 214038
|
| |
|
|
| |
llvm-svn: 214036
|
| |
|
|
|
|
|
|
| |
properties are not synthesized in property auto-synthesis,
as it can potentiall lead to runtime errors.
rdar://17774815
llvm-svn: 214032
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Add abbreviation for CXXMethodDecl and for FunctionProtoType. These come up
a *lot* in C++ modules.
* Allow typedef declarations to use the abbreviation if they're class members,
or if they're used.
In passing, add more record name records for Clang AST node kinds.
The downside is that we had already used up our allotment of 12 abbreviations,
so this pushes us to an extra bit on each record to support the extra abbrev
kinds, which increases file size by ~1%. This patch *barely* pays for that
through the other improvements, but we've got room for another 18 abbrevs,
so we should be able to make it much more profitable with future changes.
llvm-svn: 214024
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Parser::ParseDeclarationSpecifiers eagerly updates the source range of
the DeclSpec with the current token position. However, it might not
consume any more tokens.
Fix this by only setting the start of the range, not the end. This way
the SourceRange will be invalid if we don't consume any more tokens.
This fixes PR20413.
Differential Revision: http://reviews.llvm.org/D4646
llvm-svn: 214018
|
| |
|
|
|
|
| |
if the two arguments are equal.
llvm-svn: 214008
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This moves some memptr specific code into the generic thunk emission
codepath.
Fixes PR20053.
Reviewers: majnemer
Differential Revision: http://reviews.llvm.org/D4613
llvm-svn: 214004
|
| |
|
|
| |
llvm-svn: 214003
|
| |
|
|
|
|
|
| |
This isn't a real diagnostic kind, only a location note, and this form isn't even
used if the SourceManager can provide a valid presumed location. But still.
llvm-svn: 214002
|
| |
|
|
| |
llvm-svn: 213999
|
| |
|
|
|
|
| |
each different enum value here.
llvm-svn: 213996
|
| |
|
|
|
|
|
|
|
| |
llvm revision 210639 renamed the -global-merge backend option to
-enable-global-merge. This change simply updates clang to match that.
Patch by Steven Wu!
llvm-svn: 213993
|
| |
|
|
|
|
|
|
|
| |
Previously we were building up the inalloca struct in the usual pattern
of return type followed by arguments. However, on Windows, 'this'
always precedes the 'sret' parameter, so we need to insert it into the
struct first as a special case.
llvm-svn: 213990
|
| |
|
|
|
|
|
|
| |
The target method of the thunk will perform the cleanup. This can't be
tested in 32-bit x86 yet because passing something by value would create
an inalloca, and we refuse to generate broken code for that.
llvm-svn: 213976
|
| |
|
|
|
|
| |
for NetBSD.
llvm-svn: 213972
|
| |
|
|
|
|
|
| |
We no longer plan to use __except_hander3 and rather use custom
personality functions per __try block.
llvm-svn: 213971
|
| |
|
|
|
|
|
| |
expression is a forward declaration as this results
in undefined behavior. rdar://17768630
llvm-svn: 213968
|
| |
|
|
|
|
| |
Patch by Stephen Drake.
llvm-svn: 213964
|
| |
|
|
|
|
|
| |
directories description. Released version of this toolchain has not separate
libraries for -mfp64 command line option.
llvm-svn: 213937
|
| |
|
|
|
|
|
|
| |
Specifically the part where we removed a warning to be compatible with GCC, which has been widely regarded as a bad idea.
I'm not quite happy with how obtuse this warning is, especially in the fairly common case of a 32-bit integer literal, so I've got another patch awaiting review that adds a fixit to reduce confusion.
llvm-svn: 213935
|
| |
|
|
| |
llvm-svn: 213927
|
| |
|
|
|
|
| |
directives.
llvm-svn: 213925
|
| |
|
|
|
|
|
|
|
|
| |
* Track override set across module load and save
* Track originating module to allow proper re-export of #undef
* Make override set properly transitive when it picks up a #undef
This fixes nearly all of the remaining macro issues with self-host.
llvm-svn: 213922
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This patch extends the __asm parser to make it keep parsing input tokens
as inline assembly if a single-line __asm line is followed by another line
starting with __asm too. It also makes sure that we correctly keep
matching braces in such situations by separating the notions of how many
braces we are matching and whether we are in single-line asm block mode.
Reviewers: rnk
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D4598
llvm-svn: 213916
|
| |
|
|
|
|
|
| |
it through the normal TreeTransform logic for Exprs (which will strip off
implicit parts of the initialization and never re-create them).
llvm-svn: 213913
|
| |
|
|
|
|
|
| |
diffing. This removes extra "struct"/"class" in the type names and gives
"bool" instead of "_Bool" for booleans.
llvm-svn: 213912
|
| |
|
|
|
|
| |
printing of other types.
llvm-svn: 213902
|
| |
|
|
| |
llvm-svn: 213885
|
| |
|
|
|
|
| |
feedback from Richard Smith. Amends r213657.
llvm-svn: 213865
|
| |
|
|
|
|
|
|
|
| |
Current versions of ld64 can't cope with "aarch64" being stored. I'm fixing
that, but in the transitionary period we'll need to still emit "arm64".
rdar://problem/17783765
llvm-svn: 213852
|
| |
|
|
|
|
| |
directive.
llvm-svn: 213846
|
| |
|
|
|
|
| |
directive.
llvm-svn: 213842
|
| |
|
|
|
|
|
| |
While -fno-rtti-data would correctly avoid referencing the RTTI complete
object locator in the VFTable itself, it would emit them anyway.
llvm-svn: 213841
|
| |
|
|
| |
llvm-svn: 213840
|
| |
|
|
|
|
| |
to destroy one of these.
llvm-svn: 213837
|
| |
|
|
|
|
| |
be private.
llvm-svn: 213835
|
| |
|
|
|
|
|
| |
'nullptr' value. Fixes profiling of such template arguments to always give the
same value.
llvm-svn: 213834
|
| |
|
|
|
|
|
|
| |
Remove pointless MICache: it only ever contained up to 1 object, and was only
non-empty when recovering from an error. There's no performance or memory win
from maintaining this cache.
llvm-svn: 213825
|
| |
|
|
|
|
|
| |
isOnePastTheEnd on an invalid designator, so assert and push the check into the
one caller that wasn't already checking.
llvm-svn: 213820
|
| |
|
|
|
|
|
|
|
|
|
| |
The class seems to have an invariant that Entries is non-empty if
Invalid is false. It appears this method was previously private, and
all internal uses checked Invalid. Now there is an external caller, so
check Invalid to avoid array OOB underflow.
Fixes PR20420.
llvm-svn: 213816
|
| |
|
|
|
|
| |
been resized.
llvm-svn: 213790
|
| |
|
|
|
|
| |
new form using the string "full".
llvm-svn: 213771
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This flag specifies that we are building an implementation file of the
module <name>, preventing importing <name> as a module. This does not
consider this to be the 'current module' for the purposes of doing
modular checks like decluse or non-modular-include warnings, unlike
-fmodule-name.
This is needed as a stopgap until:
1) we can resolve relative includes to a VFS-mapped module (or can
safely import a header textually and as part of a module)
and ideally
2) we can safely do incremental rebuilding when implementation files
import submodules.
llvm-svn: 213767
|
| |
|
|
|
|
|
|
|
|
|
|
| |
If nodes without memoization data (e.g. TypeLocs) are bound to specific
names, that effectively prevents memoization as those elements cannot be
compared effectively. If it is tried anyway, this can lead to an assert
as demonstrated in the new test.
In the long term, the better solution will be to enable DynTypedNodes
without memoization data. For now, simply skip memoization instead.
llvm-svn: 213751
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
The main subtlety here is that the Darwin tools still need to be given "-arch
arm64" rather than "-arch aarch64". Fortunately this already goes via a custom
function to handle weird edge-cases in other architectures, and it tested.
I removed a few arm64_be tests because that really isn't an interesting thing
to worry about. No-one using big-endian is also referring to the target as
arm64 (at least as far as toolchains go). Mostly they date from when arm64 was
a separate target and we *did* need a parallel name simply to test it at all.
Now aarch64_be is sufficient.
llvm-svn: 213744
|
| |
|
|
|
|
|
|
| |
-fPIC/-fpic/-fPIE/-fpie is not in effect.
This fixes compiler recursion on MIPS32r2.
llvm-svn: 213741
|
| |
|
|
|
|
| |
directive.
llvm-svn: 213735
|
| |
|
|
| |
llvm-svn: 213734
|
| |
|
|
| |
llvm-svn: 213731
|
| |
|
|
|
|
| |
directive.
llvm-svn: 213728
|