| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 223634
|
| |
|
|
|
|
| |
Otherwise the USR will conflict with different embedded tag decls.
llvm-svn: 223633
|
| |
|
|
|
|
|
|
| |
'class' and 'struct' can be used interchangebly for forward references.
Use the same encoding otherwise we may get into a weird situation where the USR for the same
declaration is different based on whether the definition of the tag reference is visible or not.
llvm-svn: 223632
|
| |
|
|
| |
llvm-svn: 223631
|
| |
|
|
| |
llvm-svn: 223630
|
| |
|
|
|
|
| |
can overload a 'char' in C++, by giving them distinct encodings.
llvm-svn: 223629
|
| |
|
|
|
|
|
|
| |
the return type in the USR
and handle DependentNameType in order to be able to distinguish them.
llvm-svn: 223628
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before:
int f() { // comment return 42; }
After:
int f() { // comment
return 42;
}
This fixes llvm.org/PR21769.
llvm-svn: 223609
|
| |
|
|
|
|
| |
Review feedback from recent changes to GetSVN.cmake.
llvm-svn: 223578
|
| |
|
|
|
|
|
|
|
| |
module, use the path from the module map file in preference to the path from
the .pcm file when resolving relative paths in the .pcm file. This allows
diagnostics (and .d output) to give relative paths if the module was found via
a relative path.
llvm-svn: 223577
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
When -fsanitize-address-field-padding=1 is present
don't emit memcpy for copy constructor.
Thanks Nico for the extra test case.
Test Plan: regression tests
Reviewers: thakis, rsmith
Reviewed By: rsmith
Subscribers: rsmith, cfe-commits
Differential Revision: http://reviews.llvm.org/D6515
llvm-svn: 223563
|
| |
|
|
|
|
| |
diagnostics if they don't exist. Based on a patch by John Thompson!
llvm-svn: 223561
|
| |
|
|
|
|
| |
map path more canonical before hashing it. No functionality change.
llvm-svn: 223547
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the root of the module and use paths relative to that directory wherever
possible. This is a step towards allowing explicit modules to be relocated
without being rebuilt, which is important for some kinds of distributed builds,
for good paths in diagnostics, and for appropriate .d output.
This is a recommit of r223443, reverted in r223465; when joining together
imported file paths, we now use the system's separator rather than always
using '/'. This avoids path mismatches between the original module build and
the module user on Windows (at least, in some cases). A more comprehensive
fix will follow.
llvm-svn: 223539
|
| |
|
|
| |
llvm-svn: 223538
|
| |
|
|
|
|
| |
This will also simplify a private patch that we have.
llvm-svn: 223537
|
| |
|
|
|
|
| |
Patch by Brad King!
llvm-svn: 223525
|
| |
|
|
|
|
|
|
|
|
|
| |
Placing the attribute after the kernel keyword would incorrectly
reject the attribute, so use the smae workaround that other
kernel only attributes use.
Also add a FIXME because there are two different phrasings now
for the same error, althoug amdgpu_num_[sv]gpr uses a consistent one.
llvm-svn: 223490
|
| |
|
|
|
|
| |
Only one of these can really match.
llvm-svn: 223489
|
| |
|
|
|
|
| |
Removes the ability to look for generic attributes and keywords via this macro, which has the potential to be a breaking change. However, since there is __has_cpp_attribute and __has_declspec_attribute, and given the limited usefulness of querying a generic attribute name regardless of syntax, this seems like the correct path forward.
llvm-svn: 223468
|
| |
|
|
|
|
| |
as a way to determine whether Clang supports a __declspec spelling for a given attribute, similar to __has_attribute and __has_cpp_attribute.
llvm-svn: 223467
|
| |
|
|
| |
llvm-svn: 223465
|
| |
|
|
|
|
| |
This fixes llvm.org/PR21756.
llvm-svn: 223458
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Clang attempted to replicate a GCC bug: -fobjc-exceptions forces
-fexceptions to be enabled. However, this has unintended effects and
other awkard side effects that Clang doesn't "correctly" ape (e.g. it's
impossible to turn off C++ exceptions in ObjC++ mode).
Instead, -f[no]objc-exceptions and -f[no]cxx-exceptions now have an
identical relationship with -f[no]exceptions.
llvm-svn: 223455
|
| |
|
|
|
|
|
| |
No functionality change is intended, just a cleanup of the logic clang
uses to determine what -fexceptions/-fno-exceptions ends up doing.
llvm-svn: 223453
|
| |
|
|
|
|
|
|
|
| |
Adds generation of call to "i32 kmpc_cancel_barrier(ident_t *, i32)" libcall for explicitly specified barriers (OMP_IDENT_BARRIER_EXPL flag is added to "flags" field of "ident_t" structure).
Also this patch replaces all calls to "kmpc_barrier" function by calls of "__kmpc_cancel_barrier" function which provides additional functionality for OpenMP 4.0.
Also, library specific enum OpenMPLocationFlags moved to private section of CGOpenMPRuntime class to make it more independent from library implementation.
Differential Revision: http://reviews.llvm.org/D6447
llvm-svn: 223444
|
| |
|
|
|
|
|
|
|
| |
the root of the module and use paths relative to that directory wherever
possible. This is a step towards allowing explicit modules to be relocated
without being rebuilt, which is important for some kinds of distributed builds,
for good paths in diagnostics, and for appropriate .d output.
llvm-svn: 223443
|
| |
|
|
|
|
|
|
|
| |
is for each machine. Fix up darwin tests that were testing for
aapcs on armv7-ios when the actual ABI is apcs.
Should be no user visible change without -cc1.
llvm-svn: 223429
|
| |
|
|
|
|
| |
against an enum.
llvm-svn: 223422
|
| |
|
|
|
|
| |
MSVC parses and ignores these with a warning.
llvm-svn: 223413
|
| |
|
|
|
|
|
|
| |
The __unaligned keyword can appear after a struct definition:
struct foo {...} __unaligned *x;
llvm-svn: 223412
|
| |
|
|
| |
llvm-svn: 223403
|
| |
|
|
| |
llvm-svn: 223391
|
| |
|
|
|
|
|
| |
This is a performance hint that can be applied to kernels
to attempt to limit the number of used registers.
llvm-svn: 223384
|
| |
|
|
|
|
|
| |
These are often used for enums which apparently are easier to read if
formatted with one element per line.
llvm-svn: 223367
|
| |
|
|
|
|
|
|
| |
should indicate a c++ parameter pack not a c-variadic.
int i = [](auto...) { return 0; }(); // OK now.
llvm-svn: 223357
|
| |
|
|
|
|
|
|
|
|
|
| |
Before:
import::SomeFunction(aaaaaaaaaaaaaaaaaaaaaaaaaaa, aaaaaaaaaaaaaaaaaaaaaaaaaaaaa);
After:
import::SomeFunction(aaaaaaaaaaaaaaaaaaaaaaaaaaa,
aaaaaaaaaaaaaaaaaaaaaaaaaaaaa);
llvm-svn: 223345
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Patch adds 2 library functions to OpenMPRuntime class - int32 kmpc_master(ident_t *, int32 gtid) and void kmpc_end_master(ident_t *, int32 gtid);
For 'omp master' directive the next code is generated:
if (__kmpc_master(loc, gtid)) {
<Associated structured block>;
__kmpc_end_master(log, gtid);
}
Differential Revision: http://reviews.llvm.org/D6473
llvm-svn: 223342
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
http://llvm.org/bugs/show_bug.cgi?id=21555
Currently, kernel argument metadata is omitted unless the
"-cl-kernel-arg-info" option is specified. But the SPIR 1.2 spec
requires that all metadata except kernel_arg_name should always be
emitted, and kernel_arg_name is only emitted when
"-cl-kernel-arg-info" is specified.
Patch ported by Ryan Burn from the Khronos SPIR generator.
https://github.com/KhronosGroup/SPIR
llvm-svn: 223340
|
| |
|
|
|
|
|
|
| |
Create a helper function to construct a value for the ARM hint intrinsic
rather than inling the construction. In order to avoid the use of the sentinel
value, inline the use of intrinsic instruction retrieval. NFC.
llvm-svn: 223338
|
| |
|
|
|
|
| |
Use the same approach as _umul128, but just return the high half.
llvm-svn: 223316
|
| |
|
|
| |
llvm-svn: 223311
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Allow CUDA host device functions with two code paths using __CUDA_ARCH__
to differentiate between code path being compiled.
For example:
__host__ __device__ void host_device_function(void) {
#ifdef __CUDA_ARCH__
device_only_function();
#else
host_only_function();
#endif
}
Patch by Jacques Pienaar.
Reviewed By: rnk
Differential Revision: http://reviews.llvm.org/D6457
llvm-svn: 223271
|
| |
|
|
|
|
|
|
|
|
|
|
| |
We currently use i32 (...)** as the type of the vptr field in the LLVM
struct type. LLVM's GlobalOpt prefers any bitcasts to be on the side of
the data being stored rather than on the pointer being stored to.
Reviewers: majnemer
Differential Revision: http://reviews.llvm.org/D5916
llvm-svn: 223267
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: klimek
Reviewed By: klimek
Subscribers: klimek, cfe-commits
Differential Revision: http://reviews.llvm.org/D6505
llvm-svn: 223248
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before:
return (a > b
// comment1
// comment2
|| c);
After:
return (a > b
// comment1
// comment2
|| c);
llvm-svn: 223234
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Uncovered by a Java test case:
Before:
public some.package.Type someFunction( // comment
int parameter) {}
After:
public some.package.Type someFunction( // comment
int parameter) {}
llvm-svn: 223228
|
| |
|
|
| |
llvm-svn: 223225
|
| |
|
|
|
|
| |
ParsePostfixExpressionSuffix.
llvm-svn: 223209
|
| |
|
|
|
|
|
|
|
|
|
|
| |
As the semantics of prefix data has changed. See D6454.
Patch by Ben Gamari!
Test Plan: Testsuite
Differential Revision: http://reviews.llvm.org/D6489
llvm-svn: 223190
|