| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
This tweaks the diagnostic wording slighly, and adds a fixit on a note.
An alternative would be to add the fixit directly on the diagnostic, see
the review thread linked to from the bug for a few notes on that approach.
llvm-svn: 213725
|
| |
|
|
| |
llvm-svn: 213719
|
| |
|
|
|
|
|
|
| |
being declared, not at the end. When pretty-printing a non-type template
parameter, put the name of the parameter in the middle of the type, not at the
end.
llvm-svn: 213718
|
| |
|
|
|
|
| |
directive.
llvm-svn: 213717
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
If during constructing a standard conversion sequence, we resolve an
overload, we need to adjust the from type in the SCS according to the
resolved operator.
I found this bug when debugging PR20218. This doesn't seem to be
observable, so there is no good way of testing it.
Reviewers: rsmith
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D4402
llvm-svn: 213680
|
| |
|
|
|
|
| |
integer constants larger than 32-bits.
llvm-svn: 213658
|
| |
|
|
|
|
| |
This will be used to improve other diagnostics.
llvm-svn: 213657
|
| |
|
|
|
|
| |
prohibited by GCC as well.
llvm-svn: 213650
|
| |
|
|
|
|
| |
If it will not, I'm reverting the both commits.
llvm-svn: 213645
|
| |
|
|
|
|
|
| |
The set is small, that what I have right now.
Everybody is welcome to add more.
llvm-svn: 213641
|
| |
|
|
| |
llvm-svn: 213639
|
| |
|
|
| |
llvm-svn: 213616
|
| |
|
|
| |
llvm-svn: 213613
|
| |
|
|
| |
llvm-svn: 213611
|
| |
|
|
|
|
| |
a template argument.
llvm-svn: 213609
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Windows ARM indicates __va_start as a variadic function. However, the function
itself is treated as having 4 formal arguments:
- (out) pointer to the va_list
- (in) address of the last named argument
- (in) slot size for the type of the last argument
- address of the last named argument
The last argument does not seem to have any bearing on codegen, and thus is not
explicitly type checked at this point.
Unlike the previous handling for __va_start, it does not currently validate if
the parameter is the last named parameter (it seems that MSVC currently accepts
this).
llvm-svn: 213595
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
If function parameters have default values, and that of the second
parameter is parsed with errors, function declaration would have
a parameter without default value that follows a parameter with
that. Such declaration breaks logic of selecting overloaded
function. As a solution, put opaque object as default value in such case.
This patch fixes PR20055.
Differential Revision: http://reviews.llvm.org/D4378
llvm-svn: 213594
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This pragma is very rare. We could *hypothetically* lower some uses of
it down to @llvm.global_ctors, but given that GlobalOpt isn't able to
optimize prioritized global ctors today, there's really no point.
If we wanted to do this in the future, I would check if the section used
in the pragma started with ".CRT$XC" and had up to two characters after
it. Those two characters could form the 16-bit initialization priority
that we support in @llvm.global_ctors. We would have to teach LLVM to
lower prioritized global ctors on COFF as well.
This should let us compile some silly uses of this pragma in WebKit /
Blink.
Reviewers: rsmith, majnemer
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D4549
llvm-svn: 213593
|
| |
|
|
|
|
|
|
| |
Both /showIncludes and /E write to stdout. Allowing both results
in interleaved output and an error when double-closing the file
descriptor, intended to catch issues like this.
llvm-svn: 213589
|
| |
|
|
| |
llvm-svn: 213587
|