- Jan 13, 2014
-
-
Tobias Grosser authored
llvm-svn: 199157
-
Rui Ueyama authored
llvm-svn: 199156
-
Joey Gouly authored
llvm-svn: 199155
-
Warren Hunt authored
This patch moves the check for pragma pack until after the application of __declspec align to before pragma pack. This causes observable changes in the use of tail padding for bases. A test case is included. llvm-svn: 199154
-
Hans Wennborg authored
For example, don't fall back in /P (preprocess) mode. llvm-svn: 199153
-
Chandler Carruth authored
so bump the minimum version in the standalone Clang CMake project as well. As I mentioned on the LLVM commit version of this, if this causes any trouble for folks, just let me know. I'm trying to avoid re-implementing functionality in CMake, but I will if there are problems using the newer versions. llvm-svn: 199152
-
Aaron Ballman authored
llvm-svn: 199151
-
Chandler Carruth authored
old toolchain to build. The toolchain version is now checked in HandleLLVMOptions. llvm-svn: 199150
-
Chandler Carruth authored
option with the others in the top level CMakeLists, and put the check in HandleLLVMOptions. This will also let it be used from the standalone Clang builds. llvm-svn: 199149
-
Chandler Carruth authored
compiler version checking doesn't work on 2.8.7. This feature was documented in 2.8.10, but existed for an unknown amount of time before that. I'm actually happy to revert this and remove the use of the feature if there is anyone with a specific problem updating CMake. Please just let me know. I don't want to re-implement this CMake functionality unless there is a reason, and this is the only real way to find that out. llvm-svn: 199148
-
Cameron McInally authored
llvm-svn: 199147
-
Juergen Ributzka authored
llvm-svn: 199146
-
Chandler Carruth authored
likely to be reverted and re-applied a few times. The minimum versions we're aiming at: GCC 4.7 Clang 3.1 MSVC 17.0 (Visual Studio 2012) Let me know if something breaks! llvm-svn: 199145
-
Aaron Ballman authored
When determining the attribute's parsed kind, pay attention to the syntax used. This fixes bugs where an attribute has differing GNU and Declspec spellings, but they are treated as the same. Eg) __declspec(aligned) when it should be __attribute__((aligned)), and __attribute__((align)) when it should be __declspec(align). llvm-svn: 199144
-
Aaron Ballman authored
__forceinline is a keyword, and not a GNU-style attribute. This FIXME appears to be out-dated, and the attribute syntax is becoming more important these days. llvm-svn: 199143
-
Aaron Ballman authored
Updating the attribute declarations to have the correct syntaxes. This means giving a __declspec spelling to: deprecated, naked, noinline, noreturn, and nothrow. uuid has no GNU spelling, so it was switched to __declspec. dllexport and dllimport both are now supported with GNU spellings. llvm-svn: 199142
-
Aaron Ballman authored
There is no such thing as __attribute__((align)); that's a __declspec attribute. Fixing these test cases to use the proper spelling for their syntax. llvm-svn: 199141
-
Justin Bogner authored
llvm-svn: 199140
-
Justin Bogner authored
adjustFallThroughCount isn't a good name, and the documentation was even worse. This commit attempts to clarify what it's for and when to use it. llvm-svn: 199139
-
Justin Bogner authored
There are a number of places where we do PGO.setCurrentRegionCount(0) directly after an unconditional branch. Give this operation a name so that it's clearer why we're doing this. llvm-svn: 199138
-
Justin Bogner authored
This call looks like it was an artifact of an earlier change, and doesn't actually make sense. We begin a new region immediately anyway, so it was mostly harmless. llvm-svn: 199137
-
Justin Bogner authored
llvm-svn: 199136
-
Juergen Ributzka authored
This commit teaches DAG to reassociate vector ops, which in turn enables constant folding of vector op chains that appear later on during custom lowering and DAG combine. Reviewed by Andrea Di Biagio llvm-svn: 199135
-
Jim Ingham authored
and re-exported symbols. I don't know if Linux has the latter, if it does, we could probably make this a generic test. Somebody who knows how to make these gadgets on Linux can maybe take a look... llvm-svn: 199134
-
Andrew Trick authored
This is a very confusing option for a feature that will go away. -enable-misched is exposed instead to help triage issues with the new scheduler. llvm-svn: 199133
-
Warren Hunt authored
The MS-ABI tracks a bit that asserts that the first sub-object is zero sized. This bit is used to add padding between objects if there's the potential for zero sized objects to alias. The bit is still true even if the zero sized base is lead by a VFPtr. This patch makes clang mimic that behavior. llvm-svn: 199132
-
Hans Wennborg authored
In addition to being a sensible default, this is a huge improvement in test coverage for the MS ABI: any bot that targets Win32 will now run the test suite using the MS ABI by default. Differential Revision: http://llvm-reviews.chandlerc.com/D2401 llvm-svn: 199131
-
Hans Wennborg authored
In preparation for making the Win32 triple imply MS ABI mode, make all tests pass in this mode, or make them use the Itanium mode explicitly. Differential Revision: http://llvm-reviews.chandlerc.com/D2401 llvm-svn: 199130
-
Reid Kleckner authored
This fixes llvm::SmallVector, which fixes lots of TUs in the MS ABI self host. llvm-svn: 199129
-
Hans Wennborg authored
This was caught by running test/SemaCXX/destructor.cpp in MS ABI mode. llvm-svn: 199128
-
Weiming Zhao authored
The issue is caused when Post-RA scheduler reorders a bundle instruction (IT block). However, it only flips the CPSR liveness of the bundle instruction, leaves the instructions inside the bundle unchanged, which causes inconstancy and crashes Thumb2SizeReduction.cpp::ReduceMBB(). llvm-svn: 199127
-
Rafael Espindola authored
llvm-svn: 199126
-
Rafael Espindola authored
llvm-svn: 199125
-
Joerg Sonnenberger authored
llvm-svn: 199124
-
Jordan Rose authored
In an expression like "new (a, b) Foo(x, y)", two things happen: - Memory is allocated by calling a function named 'operator new'. - The memory is initialized using the constructor for 'Foo'. Currently the analyzer only models the second event, though it has special cases for both the default and placement forms of operator new. This patch is the first step towards properly modeling both events: it changes the CFG so that the above expression now generates the following elements. 1. a 2. b 3. (CFGNewAllocator) 4. x 5. y 6. Foo::Foo The analyzer currently ignores the CFGNewAllocator element, but the next step is to treat that as a call like any other. The CFGNewAllocator element is not added to the CFG for analysis-based warnings, since none of them take advantage of it yet. llvm-svn: 199123
-
Marshall Clow authored
llvm-svn: 199122
-
Sergey Matveev authored
llvm-svn: 199121
-
Hans Wennborg authored
The ABI requires the destructor to be invoked in the callee, but the standard does not require access checks here so we avoid doing direct access checks on the destructor. If we end up needing to define an implicit destructor, we don't skip access checks for the base class, etc. Those checks are effectively part of generating the destructor definition, and aren't affected by which TU the check is performed in. Differential Revision: http://llvm-reviews.chandlerc.com/D2409 llvm-svn: 199120
-
Andrea Di Biagio authored
APInt only knows how to compare values with the same BitWidth and asserts in all other cases. With this fix, function PerformORCombine does not use the APInt equality operator if the APInt values returned by 'isConstantSplat' differ in BitWidth. In that case they are different and no comparison is needed. llvm-svn: 199119
-
Joerg Sonnenberger authored
llvm-svn: 199118
-