| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
| |
It is incorrect and better warning is issued under
-Warc-repeated-use-of-weak. rdar://16316934.
llvm-svn: 231851
|
| |
|
|
|
|
|
|
| |
Because the catchable type has a reference to its name, mangle the
location to ensure that two catchable types with different locations are
distinct.
llvm-svn: 231819
|
| |
|
|
|
|
| |
Fixes <rdar://20107345>.
llvm-svn: 231814
|
| |
|
|
| |
llvm-svn: 231811
|
| |
|
|
|
|
|
|
|
|
| |
indexes used by the attribute. The only attribute affected by this in practice is the OpenCLImageAccessAttr, which has duplicate semantic spellings that are automatically stripped.
We do not implicitly create an OpenCLImageAccessAttr, so this change only affects out of tree users. There is no way to test this behavior specifically that I can see, since this only affects implicit creation of attributes.
Fixes PR22403.
llvm-svn: 231803
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
We want to replace as much custom x86 shuffling via intrinsics
as possible because pushing the code down the generic shuffle
optimization path allows for better codegen and less complexity
in LLVM.
This is the sibling patch for the LLVM half of this change:
http://reviews.llvm.org/D8086
Differential Revision: http://reviews.llvm.org/D8088
llvm-svn: 231792
|
| |
|
|
|
|
|
|
| |
Fixes PR18985
Patch by Vassil Vassilev!
llvm-svn: 231789
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Using clang as a cross-compiler with the 'target' option could be confusing
for those inexperienced in the realm of cross compiling.
This patch would allow the use of all these four variants of the target option:
-target <triple>
--target <triple>
-target=<triple>
--target=<triple>
Patch by Gabor Ballabas.
llvm-svn: 231787
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Saves adding .str() call to any raw_ostream << SmallString usage
and a small step towards making .str() consistent in the ADTs by
removing one of the SmallString::str() use cases, discussion at
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20141013/240026.html
I'll update the Phabricator patch http://reviews.llvm.org/D6372
for review of the Twine SmallString support, it's more complex
than this one.
llvm-svn: 231763
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The task region is emmitted in several steps:
Emit a call to kmp_task_t *__kmpc_omp_task_alloc(ident_t *, kmp_int32 gtid, kmp_int32 flags, size_t sizeof_kmp_task_t, size_t sizeof_shareds, kmp_routine_entry_t *task_entry).
Here task_entry is a pointer to the function:
kmp_int32 .omp_task_entry.(kmp_int32 gtid, kmp_task_t *tt) {
TaskFunction(gtid, tt->part_id, tt->shareds);
return 0;
}
Copy a list of shared variables to field shareds of the resulting structure kmp_task_t returned by the previous call (if any).
Copy a pointer to destructions function to field destructions of the resulting structure kmp_task_t.
Emit a call to kmp_int32 __kmpc_omp_task(ident_t *, kmp_int32 gtid, kmp_task_t *new_task), where new_task is a resulting structure from previous items.
Differential Revision: http://reviews.llvm.org/D7560
llvm-svn: 231762
|
| |
|
|
| |
llvm-svn: 231758
|
| |
|
|
|
|
|
|
|
| |
regions in termination scope
Patch adds proper generation of debug info for all OpenMP regions. Also, all OpenMP regions are generated in a termination scope, because standard does not allow to throw exceptions out of structured blocks, associated with the OpenMP regions
Differential Revision: http://reviews.llvm.org/D7935
llvm-svn: 231757
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
OpenMP regions in termination scope Patch adds proper generation of debug info for all OpenMP regions. Also, all OpenMP regions are generated in a termination scope, because standard does not allow to throw exceptions out of structured blocks, associated with the OpenMP regions Differential Revision: http://reviews.llvm.org/D7935"
This reverts commit r231752.
It was failing to link with cmake:
lib64/libclangCodeGen.a(CGOpenMPRuntime.cpp.o):/home/espindola/llvm/llvm/tools/clang/lib/CodeGen/CGOpenMPRuntime.cpp:function clang::CodeGen::InlinedOpenMPRegionRAII::~InlinedOpenMPRegionRAII(): error: undefined reference to 'clang::CodeGen::EHScopeStack::popTerminate()'
clang-3.7: error: linker command failed with exit code 1 (use -v to see invocation)
llvm-svn: 231754
|
| |
|
|
|
|
|
|
|
| |
regions in termination scope
Patch adds proper generation of debug info for all OpenMP regions. Also, all OpenMP regions are generated in a termination scope, because standard does not allow to throw exceptions out of structured blocks, associated with the OpenMP regions
Differential Revision: http://reviews.llvm.org/D7935
llvm-svn: 231752
|
| |
|
|
|
|
| |
actually loading a formerly-canonical declaration.
llvm-svn: 231742
|
| |
|
|
|
| |
From: Mehdi Amini <mehdi.amini@apple.com>
llvm-svn: 231739
|
| |
|
|
|
|
|
|
|
| |
specification, update all prior declarations if the new one has an explicit
exception specification and the prior ones don't.
Patch by Vassil Vassilev! Some minor tweaking and test case by me.
llvm-svn: 231738
|
| |
|
|
|
|
|
| |
move the operator delete updating into a separate update record so we can cope
with updating another module's destructor's operator delete.
llvm-svn: 231735
|
| |
|
|
|
|
|
| |
check that private headers are in a list matching the role. (We can't perform
the opposite checks for non-private headers because we infer those.)
llvm-svn: 231728
|
| |
|
|
|
|
| |
private header within the same module.
llvm-svn: 231725
|
| |
|
|
|
|
| |
one, for -Asserts for now. They were introduced in r231711.
llvm-svn: 231717
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
-fsanitize=shift-exponent.
This is a recommit of r231150, reverted in r231409. Turns out
that -fsanitize=shift-base check implementation only works if the
shift exponent is valid, otherwise it contains undefined behavior
itself.
Make sure we check that exponent is valid before we proceed to
check the base. Make sure that we actually report invalid values
of base or exponent if -fsanitize=shift-base or
-fsanitize=shift-exponent is specified, respectively.
llvm-svn: 231711
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When passing a type with large alignment byval, we were specifying the type's
alignment rather than the alignment that the backend is actually capable of
producing (ABIAlign).
This would be OK (if odd) assuming the backend dealt with it prooperly,
unfortunately it doesn't and trying to pass types with "byval align 16" can
cause it to set fp incorrectly and trash the stack during the prologue. I'll be
fixing that in a separate patch, but Clang should still be emitting IR that's
as close to its intent as possible.
rdar://20059039
llvm-svn: 231706
|
| |
|
|
|
|
|
| |
override where at least a declaration of a designated initializer is in a super
class and not necessarily in the current class. rdar://19653785.
llvm-svn: 231700
|
| |
|
|
|
|
| |
outside of it.
llvm-svn: 231671
|
| |
|
|
|
|
|
|
| |
http://reviews.llvm.org/D8146
Patch by Richard Thomson!
llvm-svn: 231670
|
| |
|
|
|
|
| |
Found by -Wmissing-prototypes.
llvm-svn: 231668
|
| |
|
|
|
|
| |
NFC.
llvm-svn: 231657
|
| |
|
|
|
|
| |
NFC.
llvm-svn: 231656
|
| |
|
|
|
|
| |
NFC.
llvm-svn: 231655
|
| |
|
|
|
|
|
|
| |
namespaces
NFC.
llvm-svn: 231653
|
| |
|
|
| |
llvm-svn: 231637
|
| |
|
|
|
|
|
|
|
|
|
| |
I.e.:
#define A public:
// The new line before this line would be removed.
int a;
llvm-svn: 231636
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This only warns on direct gotos and indirect gotos with a unique label
(`goto *&&label;`). Jumping out ith a true indirect goto is already an error.
This isn't O(1), but goto statements are less common than continue, break, and
return. Also, the GetDeepestCommonScope() call in the same function does the
same amount of work, so this isn't worse than what's there in a complexity
sense, and it should be pretty fast in practice.
This is the last piece that was missing in r231623.
llvm-svn: 231628
|
| |
|
|
|
|
|
|
| |
ParseCompoundStatement() currently never returns StmtError, but if it did,
Sema would keep the __finally scope on its stack indefinitely. Explicitly
add an error callback that clears it.
llvm-svn: 231625
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since continue, break, return are much more common than __finally, this tries
to keep the work for continue, break, return O(1). Sema keeps a stack of active
__finally scopes (to do this, ActOnSEHFinally() is split into
ActOnStartSEHFinally() and ActOnFinishSEHFinally()), and the various jump
statements then check if the current __finally scope (if present) is deeper
than then destination scope of the jump.
The same warning for goto statements is still missing.
This is the moral equivalent of MSVC's C4532.
llvm-svn: 231623
|
| |
|
|
| |
llvm-svn: 231622
|
| |
|
|
| |
llvm-svn: 231621
|
| |
|
|
|
|
|
|
| |
Patch by Richard (legalize at xmission dot com).
Differential Revision: http://reviews.llvm.org/D8155
llvm-svn: 231619
|
| |
|
|
|
|
| |
Found by msan.
llvm-svn: 231605
|
| |
|
|
|
|
| |
Type traits are hard.
llvm-svn: 231604
|
| |
|
|
|
|
|
| |
We copy them around a lot and skip construction in favor of startToken,
make the default construction trivial to reflect that.
llvm-svn: 231603
|
| |
|
|
|
|
| |
NFC.
llvm-svn: 231597
|
| |
|
|
| |
llvm-svn: 231588
|
| |
|
|
| |
llvm-svn: 231587
|
| |
|
|
|
|
| |
C++11 finally allows us to use this C99 feature.
llvm-svn: 231575
|
| |
|
|
| |
llvm-svn: 231573
|
| |
|
|
|
|
|
|
|
|
|
|
| |
I disabled putting the new global into the same COMDAT as the function for now.
There's a fundamental problem when we inline references to the global but still
have the global in a COMDAT linked to the inlined function. Since this is only
an optimization there may be other versions of the COMDAT around that are
missing the new global and hell breaks loose at link time.
I hope the chromium build doesn't break this time :)
llvm-svn: 231564
|
| |
|
|
|
|
|
|
|
|
|
| |
simplicity in build systems, silence '-stdlib=libc++' when linking. Even
if we're not linking C++ code per-se, we may be passing this flag so
that when we are linking C++ code we pick up the desired standard
library. While most build systems already provide separate C and C++
compile flags, many conflate link flags. Sadly, CMake is among them
causing this warning in a libc++ selfhost.
llvm-svn: 231559
|
| |
|
|
|
|
|
|
|
|
|
| |
In theory we could assume a CF property is stored at +0 if there's not a custom
setter, but that's not really worth the complexity. What we do know is that a
CF property can't have ownership attributes, and so we shouldn't assume anything
about the ownership of the ivar.
rdar://problem/20076963
llvm-svn: 231553
|