| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
| |
This is in preparation for changing the link to use -Wl,-z,defs.
llvm-svn: 226609
|
| |
|
|
|
|
|
| |
In a few places we didn't check that Category->getClassInterface() was
not null before using it.
llvm-svn: 226605
|
| |
|
|
|
|
|
|
|
| |
The test case is based on the reduction from PR21679 and has to be
freestanding to work correctly, since some of the expected errors (and
some of the problems that were fixed) only occur when the end of the
file is reached.
llvm-svn: 226603
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This code adds the -mstack-probe-size command line option and implements the /Gs
compiler switch for clang-cl.
This should fix http://llvm.org/bugs/show_bug.cgi?id=21896
Patch by Andrew H!
Differential Revision: http://reviews.llvm.org/D6685
llvm-svn: 226601
|
| |
|
|
|
|
|
| |
property-dot syntax on 'super' with no super
class. Patch by Jason Haslam.
llvm-svn: 226578
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before:
const char *x =
"hello llvm";
After:
const char *x = "hello llvm";
This fixes llvm.org/PR22245.
Patch by Bill Meltsner, thank you!
llvm-svn: 226564
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The test was fixed after a discussion with the revision author: the check
pattern was made more flexible as the "%call" part is not what we actually want
to check strictly there.
The original patch description:
===
Introduce SPIR calling conventions.
This implements Section 3.7 from the SPIR 1.2 spec:
SPIR kernels should use "spir_kernel" calling convention.
Non-kernel functions use "spir_func" calling convention. All
other calling conventions are disallowed.
The patch works only for OpenCL source. Any other uses will need
to ensure that kernels are assigned the spir_kernel calling
convention correctly.
===
llvm-svn: 226561
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Here's the fail log from our internal setup:
===
.../tools/clang/clang -cc1 -internal-isystem .../tools/clang/staging/include -nostdsysteminc .../tools/clang/test/CodeGenOpenCL/spir-calling-conv.cl -triple spir-unknown-unknown -emit-llvm -o -
FileCheck .../tools/clang/test/CodeGenOpenCL/spir-calling-conv.cl
.../tools/clang/test/CodeGenOpenCL/spir-calling-conv.cl:11:12: error: expected string not found in input
// CHECK: %call = tail call spir_func i32 @get_dummy_id(i32 0)
^
<stdin>:6:52: note: scanning from here
define spir_kernel void @foo(i32 addrspace(1)* %A) #0 {
^
<stdin>:7:2: note: possible intended match here
%1 = tail call spir_func i32 @get_dummy_id(i32 0) #2
^
===
Here's a failure on a public CI server:
http://lab.llvm.org:8080/green/job/clang-stage2-configure-Rlto_check/1183/
llvm-svn: 226558
|
| |
|
|
| |
llvm-svn: 226552
|
| |
|
|
|
|
|
| |
This patch allows to use predetermined shared variables in private clauses in
parallel or tasks regions.
llvm-svn: 226549
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This implements Section 3.7 from the SPIR 1.2 spec:
SPIR kernels should use "spir_kernel" calling convention.
Non-kernel functions use "spir_func" calling convention. All
other calling conventions are disallowed.
The patch works only for OpenCL source. Any other uses will need
to ensure that kernels are assigned the spir_kernel calling
convention correctly.
llvm-svn: 226548
|
| |
|
|
|
|
| |
`MDNode::getTemporary()` returns a `unique_ptr<>` as of r226504.
llvm-svn: 226505
|
| |
|
|
|
|
|
|
|
| |
Analogous to AVX2, these need to be implemented as macros to properly
propagate the immediate index operand.
Part of <rdar://problem/17688758>
llvm-svn: 226496
|
| |
|
|
|
|
| |
with a DW_OP_deref instead.
llvm-svn: 226474
|
| |
|
|
| |
llvm-svn: 226465
|
| |
|
|
| |
llvm-svn: 226463
|
| |
|
|
|
|
|
|
| |
Crashing input:
/\
/ comment
llvm-svn: 226454
|
| |
|
|
|
|
|
|
|
|
|
| |
Previously crashing input:
void f(
#if A
);
#else
#endif
llvm-svn: 226451
|
| |
|
|
|
|
| |
Input "a<," made clang-format crash.
llvm-svn: 226450
|
| |
|
|
| |
llvm-svn: 226449
|
| |
|
|
| |
llvm-svn: 226448
|
| |
|
|
| |
llvm-svn: 226447
|
| |
|
|
|
|
|
| |
This assert would trigger on:
#d , = }
llvm-svn: 226446
|
| |
|
|
|
|
|
|
|
|
| |
Emacs functions by default use character positions; convert characters
to offsets when handing parameters to clang-format and convert byte
offsets we get from clang-format back to character positions.
Reworked the code a bit so the 0-based to 1-based offset calculations
are done in the same place where we do the multi-byte to offset mapping.
llvm-svn: 226445
|
| |
|
|
|
|
|
| |
It shouldn't have been removed, the code which replaced it didn't cover
this case.
llvm-svn: 226442
|
| |
|
|
| |
llvm-svn: 226441
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Things that are OK:
extern int var1 __attribute((alias("v1")));
static int var2 __attribute((alias("v2")));
Things that are not OK:
int var3 __attribute((alias("v3")));
extern int var4 __attribute((alias("v4"))) = 4;
We choose to accpet:
struct S { static int var5 __attribute((alias("v5"))); };
This code causes assertion failues in GCC 4.8 and ICC 13.0.1, we have
no reason to reject it.
This partially fixes PR22217.
llvm-svn: 226436
|
| |
|
|
|
|
| |
kind instead of a 32-bit immediate. This matches an equivalent change in llvm.
llvm-svn: 226431
|
| |
|
|
|
|
|
| |
The copyprivate clause must not be used with the nowait clause in single
directive.
llvm-svn: 226429
|
| |
|
|
|
|
| |
Warn on inaccessible direct base
llvm-svn: 226423
|
| |
|
|
|
|
| |
buitins.
llvm-svn: 226422
|
| |
|
|
|
|
| |
comparison immediate. This requires converting to a macro in the header file.
llvm-svn: 226421
|
| |
|
|
|
|
|
|
|
|
| |
If an unscoped enum is used as a nested name specifier and the language dialect
is not C++ 11, issue an extension warning.
This fixes PR16951.
Differential Revision: http://reviews.llvm.org/D6389
llvm-svn: 226413
|
| |
|
|
|
|
|
|
|
| |
Previously if an enumeration was used in a nested name specifier in pre-C++11
language dialect, error message was 'XXX is not a class, namespace, or scoped
enumeration'. This patch removes the word 'scoped' as in C++11 any enumeration
may be used in this context.
llvm-svn: 226410
|
| |
|
|
|
|
| |
Code review suggestion by Eric Christopher.
llvm-svn: 226395
|
| |
|
|
|
|
|
|
|
| |
expression
Just as r225956 did for scalar expressions (CGExprScalar::Visit), do the
same for complex expressions.
llvm-svn: 226390
|
| |
|
|
|
|
| |
behavior change.
llvm-svn: 226389
|
| |
|
|
|
|
|
|
|
| |
expression
Just as r225956 did for scalar expressions (CGExprScalar::Visit), do the
same for aggregate expressions.
llvm-svn: 226388
|
| |
|
|
|
|
| |
when more test cases are added
llvm-svn: 226384
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
initializers from in class non-static data members are explicitly attributed to the desired line.
The code setting the debug location being removed here was accidentally
leaking a location into the call to the non-static data member's ctor
call. Without it the call had no location and could cause assertion
failures if it was inlined. Now that it has a location (and a correct
one at that) this code should hopefully be no longer needed.
It's possible of course that other parts of the debug info are also
relying on the debug locations being set here to leak to where they're
needed - so we might see the same assertions again & will have to
investigate what the dependence was/is. But the chances are good that
any of those are debug info line table quality bugs we've just not found
yet anyway - so it'll be good to flush them out.
llvm-svn: 226383
|
| |
|
|
|
|
|
|
|
|
| |
This was causing some trouble for otherwise dead code removed in r225085
(reverted in r225361). The location being set for function arguments was
leaking out to the call which wasn't setting its own location (so a
quality bug turned into a crasher with r225085). Fix this so r225085 can
be recommitted.
llvm-svn: 226382
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
logic.
In one place we would try to check for the difference between integers
even if we were missing one of the integers. This would eventually end
up reading uninitialized data out of the APSInt objects. The fix is to
short circuit the sameness test when we don't have integers on both
sides.
This fixes a test failure I was seeing with MSan. Not sure whether other
bots were seeing it or not, but yay MSan. In particular the feature to
very carefully track origins back through stores throughout the program
was invaluable.
llvm-svn: 226375
|
| |
|
|
| |
llvm-svn: 226371
|
| |
|
|
| |
llvm-svn: 226370
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Clang currently crashes on
class C {
C() = default;
C() = delete;
};
My cunning plan for fixing this was to change the `if (!FnD)` in
Parser::ParseCXXInlineMethodDef() to `if (!FnD || FnD->isInvalidDecl)` – but
alas, the second constructor decl wasn't marked as invalid. This lets
Sema::MergeFunctionDecl() return true on function redeclarations, which leads
to them being marked invalid.
This also improves error messages when functions are redeclared.
llvm-svn: 226365
|
| |
|
|
| |
llvm-svn: 226364
|
| |
|
|
| |
llvm-svn: 226363
|
| |
|
|
|
|
|
| |
Destructors have a special treatment in getFunctionLinkage. Instead of
duplicating the logic, check the resulting linkage.
llvm-svn: 226361
|
| |
|
|
| |
llvm-svn: 226359
|
| |
|
|
| |
llvm-svn: 226357
|