- Feb 25, 2015
-
-
Ben Langmuir authored
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@230534 91177308-0d34-0410-b5e6-96231b3b80d8
-
Richard Smith authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@230532 91177308-0d34-0410-b5e6-96231b3b80d8
-
Reid Kleckner authored
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@230527 91177308-0d34-0410-b5e6-96231b3b80d8
-
Reid Kleckner authored
Reland (2x) r230314, "Fix codegen for virtual methods that are (re-) exported from multiple modules." This reverts commits r230477 and r230478. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@230526 91177308-0d34-0410-b5e6-96231b3b80d8
-
Reid Kleckner authored
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@230525 91177308-0d34-0410-b5e6-96231b3b80d8
-
Reid Kleckner authored
-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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@230524 91177308-0d34-0410-b5e6-96231b3b80d8
-
Nico Weber authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@230514 91177308-0d34-0410-b5e6-96231b3b80d8
-
David Majnemer authored
We would wrongfully reject (a.~A)() in both the destructor and pseudo-destructor cases. This fixes PR22668. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@230512 91177308-0d34-0410-b5e6-96231b3b80d8
-
Nico Weber authored
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@230503 91177308-0d34-0410-b5e6-96231b3b80d8
-
Alexander Kornienko authored
This is going to be needed in clang-tidy as more checks add complex fixits. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@230495 91177308-0d34-0410-b5e6-96231b3b80d8
-
NAKAMURA Takumi authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@230479 91177308-0d34-0410-b5e6-96231b3b80d8
-
NAKAMURA Takumi authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@230478 91177308-0d34-0410-b5e6-96231b3b80d8
-
NAKAMURA Takumi authored
Revert r230448, "Reland r230314 "Fix codegen for virtual methods that are (re-) exported from multiple modules."", since I have reverted r230446. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@230477 91177308-0d34-0410-b5e6-96231b3b80d8
-
NAKAMURA Takumi authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@230475 91177308-0d34-0410-b5e6-96231b3b80d8
-
NAKAMURA Takumi authored
It fails on Clang::PCH/headersearch.cpp for targeting msvc. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@230474 91177308-0d34-0410-b5e6-96231b3b80d8
-
Daniel Jasper authored
.. 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! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@230473 91177308-0d34-0410-b5e6-96231b3b80d8
-
Daniel Jasper authored
The test is broken on buildbots: http://lab.llvm.org:8080/green/job/clang-stage2-configure-Rlto_check/2279/ This reverts commit adda738b6dc533c42db5f5f5b31344098a3aba7d. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@230472 91177308-0d34-0410-b5e6-96231b3b80d8
-
Alexey Bataev authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@230470 91177308-0d34-0410-b5e6-96231b3b80d8
-
Simon Atanasyan authored
This path suffix is used if user provides the -mips32r6 command line options. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@230469 91177308-0d34-0410-b5e6-96231b3b80d8
-
Sameer Sahasrabuddhe authored
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@230464 91177308-0d34-0410-b5e6-96231b3b80d8
-
Nico Weber authored
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@230460 91177308-0d34-0410-b5e6-96231b3b80d8
-
Nico Weber authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@230459 91177308-0d34-0410-b5e6-96231b3b80d8
-
Peter Collingbourne authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@230458 91177308-0d34-0410-b5e6-96231b3b80d8
-
Adrian Prantl authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@230454 91177308-0d34-0410-b5e6-96231b3b80d8
-
Adrian Prantl authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@230453 91177308-0d34-0410-b5e6-96231b3b80d8
-
Reid Kleckner authored
Why do we need a registered target for this? git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@230450 91177308-0d34-0410-b5e6-96231b3b80d8
-
Nico Weber authored
Also add some general test/Parser coverage for SEH blocks. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@230449 91177308-0d34-0410-b5e6-96231b3b80d8
-
Reid Kleckner authored
This reverts the revert from commit r230406. The changes in r230445 and r230446 make the test pass on Windows now. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@230448 91177308-0d34-0410-b5e6-96231b3b80d8
-
Reid Kleckner authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@230447 91177308-0d34-0410-b5e6-96231b3b80d8
-
Reid Kleckner authored
Covered by existing tests in test/CodeGen/override-layout.c and test/CodeGenCXX/override-layout.cpp. Seriously, they found real bugs in my code. :) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@230446 91177308-0d34-0410-b5e6-96231b3b80d8
-
Reid Kleckner authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@230445 91177308-0d34-0410-b5e6-96231b3b80d8
-
Adrian Prantl authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@230429 91177308-0d34-0410-b5e6-96231b3b80d8
-
Richard Smith authored
of writing out an AST file. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@230428 91177308-0d34-0410-b5e6-96231b3b80d8
-
Nico Weber authored
ParseCXXTryBlockCommon() makes sense because it has two callers due to function try blocks. There are no SEH function try blocks. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@230426 91177308-0d34-0410-b5e6-96231b3b80d8
-
Adrian Prantl authored
This is a necessary prerequisite for debugging with modules. The .pcm files become containers that hold the serialized AST which allows us to store debug information in the module file that can be shared by all object files that were built importing the module. This reapplies r230044 with a fixed configure+make build and updated dependencies and testcase requirements. Over the last iteration this version adds - missing target requirements for testcases that specify an x86 triple, - a missing clangCodeGen.a dependency to libClang.a in the make build. rdar://problem/19104245 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@230423 91177308-0d34-0410-b5e6-96231b3b80d8
-
Richard Smith authored
constructor. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@230417 91177308-0d34-0410-b5e6-96231b3b80d8
-
Richard Smith authored
graph with M modules to take O(P) time, not just O(M) time, when using explicit module builds. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@230412 91177308-0d34-0410-b5e6-96231b3b80d8
-
NAKAMURA Takumi authored
It crashes for targeting (i686|x86_64)-win32. clang: clang/lib/AST/VTableBuilder.cpp:142: {anonymous}::FinalOverriders::OverriderInfo {anonymous}::FinalOverriders::getOverrider(const clang::CXXMethodDecl*, clang::CharUnits) const: Assertion `OverridersMap.count(std::make_pair(MD, BaseOffset)) && "Did not find overrider!"' failed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@230406 91177308-0d34-0410-b5e6-96231b3b80d8
-
Jacques Pienaar authored
Commit of patch in http://reviews.llvm.org/D7871 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@230395 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Feb 24, 2015
-
-
Justin Bogner authored
Most of the checks in these two tests were actually testing the behaviour of the instrprof LLVM pass. Now that we're testing that specifically in LLVM's test suite, it's better if we only test the frontend's behaviour here. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@230387 91177308-0d34-0410-b5e6-96231b3b80d8
-