| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
destroyed on shutdown regardless. Fixes a double-delete.
llvm-svn: 214675
|
| |
|
|
|
|
|
| |
It's a bit more obvious what's going on if we use path::filename
rather than decrementing an iterator here.
llvm-svn: 214668
|
| |
|
|
|
|
| |
type handling.
llvm-svn: 214662
|
| |
|
|
|
|
| |
mingw32 builder.
llvm-svn: 214656
|
| |
|
|
| |
llvm-svn: 214635
|
| |
|
|
| |
llvm-svn: 214620
|
| |
|
|
| |
llvm-svn: 214619
|
| |
|
|
|
|
| |
Makefile(s) are not transitive on clang libs.
llvm-svn: 214617
|
| |
|
|
| |
llvm-svn: 214616
|
| |
|
|
|
|
| |
involved.
llvm-svn: 214606
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of creating global variables for source locations and global names,
just create metadata nodes and strings. They will be transformed into actual
globals in the instrumentation pass (if necessary). This approach is more
flexible:
1) we don't have to ensure that our custom globals survive all the optimizations
2) if globals are discarded for some reason, we will simply ignore metadata for them
and won't have to erase corresponding globals
3) metadata for source locations can be reused for other purposes: e.g. we may
attach source location metadata to alloca instructions and provide better descriptions
for stack variables in ASan error reports.
No functionality change.
llvm-svn: 214604
|
| |
|
|
|
|
|
|
|
| |
Unsurprisingly, changing a file modification time to a specific
date/time doesn't give the same epoch time everywhere. Just make the
file move into the past and look at only the first few digits of the
epoch time.
llvm-svn: 214589
|
| |
|
|
|
|
|
|
|
|
|
|
| |
We've added support for a multiple functions with the same name in
LLVM's profile data, so the lookup returning the function hash it
found doesn't make sense anymore. Update to pass in the hash we
expect.
This also adds a test that the version 1 format is still readable,
since the new API is expected to handle that.
llvm-svn: 214586
|
| |
|
|
|
|
| |
emitting everything, rather than potentially doing this reentrantly.
llvm-svn: 214582
|
| |
|
|
| |
llvm-svn: 214579
|
| |
|
|
|
|
|
|
| |
Build systems tend to traffic in files and modification times, so having
them touch a file at the beginning of the build can be easier than
having them update the compile command they use every time they build.
llvm-svn: 214577
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
It is responsible for generating metadata consumed by sanitizer instrumentation
passes in the backend. Move several methods from CodeGenModule to SanitizerMetadata.
For now the class is stateless, but soon it won't be the case.
Instead of creating globals providing source-level information to ASan, we will create
metadata nodes/strings which will be turned into actual global variables in the
backend (if needed).
No functionality change.
llvm-svn: 214564
|
| |
|
|
| |
llvm-svn: 214562
|
| |
|
|
|
|
|
|
|
| |
Original message:
Fix iterator invalidation issues that are breaking my modules buildbot's
bootstrap.
llvm-svn: 214555
|
| |
|
|
|
|
|
|
|
| |
These tests seem like an exception to the rule against assembly emitting
tests in clang. I made an LLVM side change that can only be tested by
setting up the inline assembly machinery that is only implemented by
Clang.
llvm-svn: 214552
|
| |
|
|
|
|
| |
This used to assert.
llvm-svn: 214551
|
| |
|
|
| |
llvm-svn: 214549
|
| |
|
|
|
|
| |
bootstrap.
llvm-svn: 214547
|
| |
|
|
| |
llvm-svn: 214529
|
| |
|
|
| |
llvm-svn: 214526
|
| |
|
|
| |
llvm-svn: 214520
|
| |
|
|
|
|
|
|
| |
generated pretty printing logic was unaware of this. Fixed the pretty printing logic, and added a test to ensure it no longer asserts.
Added a FIXME to the code about eliding the parenthesis when pretty printing such a construct.
llvm-svn: 214513
|
| |
|
|
|
|
|
|
| |
It appears that the backend does not handle all cases that were handled by clang.
In particular, it does not handle structs as used in
SingleSource/UnitTests/2003-05-07-VarArgs.
llvm-svn: 214512
|
| |
|
|
|
|
| |
ObjCMethod::getReturnTypeSourceRange. No functional changes intended.
llvm-svn: 214511
|
| |
|
|
|
|
|
|
|
|
| |
Summary:
There are no tests as it is dependant upon the environment variables
XCC_C_INCLUDE_PATH & XCC_CPLUS_INCLUDE_PATH being set.
Differential Revision: http://reviews.llvm.org/D4621
llvm-svn: 214510
|
| |
|
|
|
|
|
|
|
|
| |
Before:
@interface Foo (HackStuff)<MyProtocol>
After:
@interface Foo (HackStuff) <MyProtocol>
llvm-svn: 214508
|
| |
|
|
|
|
| |
highlights the attribute and the faulty nonpointer type when possible.
llvm-svn: 214507
|
| |
|
|
|
|
| |
Thanks to kcc@ for noticing.
llvm-svn: 214506
|
| |
|
|
| |
llvm-svn: 214504
|
| |
|
|
| |
llvm-svn: 214502
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This patch causes clang to emit va_arg instructions to the backend instead of
expanding them into an implementation itself. The backend already implements
va_arg since this is necessary for NaCl so this patch is removing redundant
code.
Together with the llvm patch (D4556) that accounts for the effect of endianness
on the expansion of va_arg, this fixes PR19612.
Depends on D4556
Reviewers: sstankovic, dsanders
Reviewed By: dsanders
Subscribers: rnk, cfe-commits
Differential Revision: http://reviews.llvm.org/D4742
llvm-svn: 214497
|
| |
|
|
|
|
|
|
|
|
|
| |
they're somehow missing a body. Looks like this was left behind when the loop
was generalized, and it's not been problematic before because without modules,
a used, implicit special member function declaration must be a definition.
This was resulting in us trying to emit a constructor declaration rather than
a definition, and producing a constructor missing its member initializers.
llvm-svn: 214473
|
| |
|
|
| |
llvm-svn: 214472
|
| |
|
|
|
|
|
|
| |
this pointer is always non-null. If the this pointer is null, it is undefined
and the compiler may optimize it away by assuming it is non-null. The null
checks are pushed into the callers.
llvm-svn: 214471
|
| |
|
|
| |
llvm-svn: 214461
|
| |
|
|
| |
llvm-svn: 214459
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
of a function has a resolved exception specification, then all declarations of
the function do.
We should probably improve the AST representation to make this implicit (perhaps
only store the exception specification on the canonical declaration), but this
fixes things for now.
The testcase for this (which used to assert) also exposes the actual bug I was
trying to reduce here: we sometimes fail to emit the body of an imported
special member function definition. Fix for that to follow.
llvm-svn: 214458
|
| |
|
|
|
|
|
|
| |
FunctionProtoType::ExtProtoInfo. Most of the users of these fields don't care
about the other ExtProtoInfo bits and just want to talk about the exception
specification.
llvm-svn: 214450
|
| |
|
|
|
|
|
|
| |
#pragma unroll(4)). Check explicitly that the token we stored was an identifier.
Amends r214432
llvm-svn: 214446
|
| |
|
|
|
|
| |
attributes on the same declaration. This removes a FIXME from the code.
llvm-svn: 214436
|
| |
|
|
|
|
|
|
|
|
| |
This patch is necessary to support constant expressions which replaces the integer value in the loop hint attribute with an expression. The integer value was also storing the pragma’s state for options like vectorize(enable/disable) and the pragma unroll and nounroll directive. The state variable is introduced to hold the state of those options/pragmas. This moves the validation of the state (keywords) from SemaStmtAttr handler to the loop hint annotation token handler.
Resubmit with changes to try to fix the build-bot issue.
Reviewed by Aaron Ballman
llvm-svn: 214432
|
| |
|
|
|
|
| |
they don't specify the attribute
llvm-svn: 214425
|
| |
|
|
| |
llvm-svn: 214412
|
| |
|
|
| |
llvm-svn: 214411
|
| |
|
|
|
|
|
|
|
| |
Inspired by https://gist.github.com/tritao/2766291, and was previously discussed
on cfe-dev: http://lists.cs.uiuc.edu/pipermail/cfe-dev/2014-June/037577.html
Adding testing capability via c-index-test.
llvm-svn: 214410
|