| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
Before:
vector<int>(*foo_)[6];
After:
vector<int> (*foo_)[6];
llvm-svn: 230625
|
| |
|
|
|
|
| |
Fixed crash on codegen for directives like 'omp for', 'omp single' etc. inside of the 'omp parallel', 'omp task' etc. regions.
llvm-svn: 230621
|
| |
|
|
|
|
| |
This isn't generally nice, but better than violating the column limit.
llvm-svn: 230620
|
| |
|
|
|
|
| |
headers. We use appropriate shuffle vector instead.
llvm-svn: 230616
|
| |
|
|
| |
llvm-svn: 230615
|
| |
|
|
|
|
|
|
|
|
|
|
| |
lib/headers paths
There is no supported toolchain which provides headers / libs / object
files specific to the mips32r[3|5] and mips64r[3|5] ISA. So select "r2"
specific folders when they are available.
http://reviews.llvm.org/D7879
llvm-svn: 230611
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use the newly minted `DIImportedEntity` default constructor (r230609)
rather than explicitly specifying `nullptr`. The latter will become
ambiguous when the new debug info hierarchy is committed, since we'll
have both of the following:
explicit DIImportedEntity(const MDNode *);
DIImportedEntity(const MDImportedEntity *);
(Currently we just have the former.)
A default constructor is just as clear.
llvm-svn: 230610
|
| |
|
|
|
|
|
|
|
|
| |
Fix for PR22017. Integer template arguments are automatically bit extended to
the size of the integer type. In template diffing, evaluated expressions were
not having their results extending, leading to comparing two APSInt's with
different widths. Apply the proper bit extending when evaluating template
arguments. This mainly affected bool template arguments.
llvm-svn: 230603
|
| |
|
|
|
|
|
|
|
|
|
| |
are now:
FrontendTool -> StaticAnalyzer/Frontend -> Frontend -> StaticAnalyzer/Core
The final dependency edge here is probably removable: AnalyzerOptions (and
Analyses.def) should probably live in Basic rather than StaticAnalyzer/Core.
llvm-svn: 230600
|
| |
|
|
|
|
| |
They don't conflict with MSVC flags.
llvm-svn: 230598
|
| |
|
|
|
|
|
|
| |
We'd diagnose an __assume expression which contained a function call.
This would result in us wrongly returning ExprError, causing mysterious
failures later on.
llvm-svn: 230597
|
| |
|
|
| |
llvm-svn: 230590
|
| |
|
|
| |
llvm-svn: 230589
|
| |
|
|
| |
llvm-svn: 230588
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently -fms-extensions controls this behavior, which doesn't make
much sense. It means we can't identify what is and isn't a system header
when compiling our own preprocessed output, because #line doesn't
represent this information.
If someone is feeding Clang's preprocessed output to another compiler,
they can use this flag.
Fixes PR20553.
Reviewers: rsmith
Differential Revision: http://reviews.llvm.org/D5217
llvm-svn: 230587
|
| |
|
|
|
|
| |
shouldn't depend on LLVM IR.
llvm-svn: 230586
|
| |
|
|
|
|
| |
Do not declare sized deallocation functions dependently on whether it is found in global scope. Instead, enforce the branching in emitted code by (1) declaring the functions extern_weak and (2) emitting sized delete expressions as a branching between both forms delete.
llvm-svn: 230580
|
| |
|
|
| |
llvm-svn: 230579
|
| |
|
|
|
|
| |
driver into CC1 for now.
llvm-svn: 230577
|
| |
|
|
| |
llvm-svn: 230571
|
| |
|
|
|
|
|
| |
This lets us compile programs which make use of exceptional constructs
statically without executing any of them dynamically.
llvm-svn: 230568
|
| |
|
|
|
|
|
|
| |
one can give us more lookup results (due to implicit special members). Be sure
to complete the redecl chain for every kind of DeclContext before performing a
lookup into it, rather than only doing so for NamespaceDecls.
llvm-svn: 230558
|
| |
|
|
| |
llvm-svn: 230538
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously we allowed these casts only for constants declared in system
headers, which we assume are retain/release-neutral. Now also allow them
for constants in user headers, treating them as +0. Practically, this
means that we will now allow:
id x = (id)kMyGlobalConst;
But unlike with system headers we cannot mix them with +1 values:
id y = (id)(b ? kMyGlobalConst : [Obj newValAtPlusOne]); // error
id z = (id)(b ? kSystemGlobalConst: [Obj newValAtPlusOne]); // OK
Thanks to John for suggesting this improvement.
llvm-svn: 230534
|
| |
|
|
| |
llvm-svn: 230532
|
| |
|
|
|
|
|
|
|
| |
While it's true that we don't create the PDB as requested on the command
line, this is a well-documented limitation. Warning about it doesn't
help people using legacy build systems with clang-cl, and it makes the
clang-cl self-host very noisy.
llvm-svn: 230527
|
| |
|
|
|
|
|
|
| |
exported from multiple modules."
This reverts commits r230477 and r230478.
llvm-svn: 230526
|
| |
|
|
|
|
|
|
|
| |
It broke test/PCH/headersearch.cpp because it was using -Wpadding, which
only works for Itanium layout. Before this commit, we would use Itanium
record layout when using PCH, which is crazy. Now that the test uses an
explicit Itanium triple, we can reland.
llvm-svn: 230525
|
| |
|
|
|
|
|
|
|
| |
-Wpadding is not implemented in the Microsoft record layout builder.
This test only passes on Windows because PCH forces us to use the
Itanium record layout builder. I'm about to fix that, so change the
test to not rely on that ridiculous behavior.
llvm-svn: 230524
|
| |
|
|
| |
llvm-svn: 230514
|
| |
|
|
|
|
|
|
|
| |
We would wrongfully reject (a.~A)() in both the destructor and
pseudo-destructor cases.
This fixes PR22668.
llvm-svn: 230512
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Original CL description:
Produce less broken basic block sequences for __finally blocks.
The way cleanups (such as PerformSEHFinally) get emitted is that codegen
generates some initialization code, then calls the cleanup's Emit() with the
insertion point set to a good place, then the cleanup is supposed to emit its
stuff, and then codegen might tack in a jump or similar to where the insertion
point is after the cleanup.
The PerformSEHFinally cleanup tries to just stash away the block it's supposed
to codegen into, and then does codegen later, into that stashed block. However,
after codegen'ing the __finally block, it used to set the insertion point to
the finally's continuation block (where the __finally cleanup goes when its body
is completed after regular, non-exceptional control flow). That's not correct,
as that block can (and generally does) already ends in a jump. Instead,
remember the insertion point that was current before the __finally got emitted,
and restore that.
Fixes two of the crashes in PR22553.
llvm-svn: 230503
|
| |
|
|
|
|
| |
This is going to be needed in clang-tidy as more checks add complex fixits.
llvm-svn: 230495
|
| |
|
|
| |
llvm-svn: 230479
|
| |
|
|
| |
llvm-svn: 230478
|
| |
|
|
|
|
| |
(re-) exported from multiple modules."", since I have reverted r230446.
llvm-svn: 230477
|
| |
|
|
| |
llvm-svn: 230475
|
| |
|
|
|
|
| |
It fails on Clang::PCH/headersearch.cpp for targeting msvc.
llvm-svn: 230474
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
.. when using SpacesInCStyleCastParentheses != SpacesInParentheses.
Before:
FormatStyle Spaces = getLLVMStyle();
Deleted &operator=(const Deleted &)& = default;
Spaces.SpacesInParentheses = true;
Deleted(const Deleted &)& = default;
Spaces.SpacesInCStyleCastParentheses = true;
Spaces.SpacesInParentheses= false;
Deleted( const Deleted & )& = default;
After:
FormatStyle Spaces = getLLVMStyle();
Deleted &operator=(const Deleted &)& = default;;
Spaces.SpacesInParentheses= true;
Deleted( const Deleted & )& = default;
Spaces.SpacesInCStyleCastParentheses = true;
Spaces.SpacesInParentheses= false;
Deleted(const Deleted &)& = default;
Patch by Jean-Philippe Dufraigne. Thank you!
llvm-svn: 230473
|
| |
|
|
|
|
|
|
|
| |
The test is broken on buildbots:
http://lab.llvm.org:8080/green/job/clang-stage2-configure-Rlto_check/2279/
This reverts commit adda738b6dc533c42db5f5f5b31344098a3aba7d.
llvm-svn: 230472
|
| |
|
|
| |
llvm-svn: 230470
|
| |
|
|
|
|
|
| |
This path suffix is used if user provides the -mips32r6 command line
options.
llvm-svn: 230469
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The original commit failed to handle "shift assign" (<<=), which
broke the test mentioned in r228406. This is now fixed and the
test added to the lit tests under SemaOpenCL.
*** Original commit message from r228382 ***
OpenCL: handle shift operator with vector operands
Introduce a number of checks:
1. If LHS is a scalar, then RHS cannot be a vector.
2. Operands must be of integer type.
3. If both are vectors, then the number of elements must match.
Relax the requirement for "usual arithmetic conversions":
When LHS is a vector, a scalar RHS can simply be expanded into a
vector; OpenCL does not require that its rank be lower than the LHS.
For example, the following code is not an error even if the implicit
type of the constant literal is "int".
char2 foo(char2 v) { return v << 1; }
Consolidate existing tests under CodeGenOpenCL, and add more tests
under SemaOpenCL.
llvm-svn: 230464
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The way cleanups (such as PerformSEHFinally) get emitted is that codegen
generates some initialization code, then calls the cleanup's Emit() with the
insertion point set to a good place, then the cleanup is supposed to emit its
stuff, and then codegen might tack in a jump or similar to where the insertion
point is after the cleanup.
The PerformSEHFinally cleanup tries to just stash away the block it's supposed
to codegen into, and then does codegen later, into that stashed block. However,
after codegen'ing the __finally block, it used to set the insertion point to
the finally's continuation block (where the __finally cleanup goes when its body
is completed after regular, non-exceptional control flow). That's not correct,
as that block can (and generally does) already ends in a jump. Instead,
remember the insertion point that was current before the __finally got emitted,
and restore that.
Fixes two of the crashes in PR22553.
llvm-svn: 230460
|
| |
|
|
| |
llvm-svn: 230459
|
| |
|
|
| |
llvm-svn: 230458
|
| |
|
|
| |
llvm-svn: 230454
|
| |
|
|
| |
llvm-svn: 230453
|
| |
|
|
|
|
| |
Why do we need a registered target for this?
llvm-svn: 230450
|
| |
|
|
|
|
| |
Also add some general test/Parser coverage for SEH blocks.
llvm-svn: 230449
|