- Oct 07, 2014
-
-
Fariborz Jahanian authored
to NS_ENUM/NS_OPTION macros when typedef names are other than NSInteger/NSUInteger (int8_t, etc.). rdar://18532199 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219173 91177308-0d34-0410-b5e6-96231b3b80d8
-
Eli Bendersky authored
It was still "3.5 (In-Progress)" - should be 3.6 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219153 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Oct 06, 2014
-
-
Bill Schmidt authored
The use of the vec_lvsl and vec_lvsr interfaces are discouraged for little endian targets since Power8 hardware is a minimum requirement, and Power8 provides reasonable performance for unaligned vector loads and stores. Up till now we have not provided "correct" (i.e., big- endian-compatible) code generation for these interfaces, as to do so produces poorly performing code. However, this has become the source of too many questions. With this patch, LLVM will now produce compatible code for these interfaces, but will also produce a deprecation warning message for PPC64LE when one of them is used. This should make the porting direction clearer to programmers. A similar patch has recently been committed to GCC. This patch includes a test for the warning message. There is a companion patch that adds two unit tests to projects/test-suite. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219137 91177308-0d34-0410-b5e6-96231b3b80d8
-
Rafael Espindola authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219132 91177308-0d34-0410-b5e6-96231b3b80d8
-
Eric Christopher authored
ppc64le. Reviewed by Hal Finkel and Bill Schmidt. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219129 91177308-0d34-0410-b5e6-96231b3b80d8
-
Fariborz Jahanian authored
in availability attribute by preserving this info. in VersionTuple and using it in pretty printing of attributes and yet using '.' as separator when diagnosing unavailable message calls. rdar://18490958 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219124 91177308-0d34-0410-b5e6-96231b3b80d8
-
Daniel Jasper authored
Before: #define LENGTH(x, y) (x) - (y)+1 After: #define LENGTH(x, y) (x) - (y) + 1 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219119 91177308-0d34-0410-b5e6-96231b3b80d8
-
Samuel Benzaquen authored
Summary: DynTypedMatcher::constructVariadic() where the restrict kind of the different matchers are not related causes the matcher to have a "None" restrict kind. This causes false negatives for anyOf and eachOf. Change the logic to get a common ancestor if there is one. Also added regression tests that fail without the fix. Reviewers: klimek Subscribers: klimek, cfe-commits Differential Revision: http://reviews.llvm.org/D5580 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219118 91177308-0d34-0410-b5e6-96231b3b80d8
-
Aaron Ballman authored
Using an explicit cast to work around MSVC 2013 not picking the conversion operator as expected. NFC, should fix the MSVC build bots. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219116 91177308-0d34-0410-b5e6-96231b3b80d8
-
Alexander Musman authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219114 91177308-0d34-0410-b5e6-96231b3b80d8
-
Alexander Musman authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219113 91177308-0d34-0410-b5e6-96231b3b80d8
-
David Blaikie authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219104 91177308-0d34-0410-b5e6-96231b3b80d8
-
David Blaikie authored
By leaving these members out of the member list, we avoid them being emitted into type unit definitions - while still allowing the definition/declaration to be injected into the compile unit as expected. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219101 91177308-0d34-0410-b5e6-96231b3b80d8
-
David Blaikie authored
By leaving these members out of the member list, we avoid them being emitted into type unit definitions - while still allowing the definition/declaration to be injected into the compile unit as expected. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219100 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Oct 05, 2014
-
-
David Majnemer authored
The ABI for function-scope statics changed in VS "14", not MSVC 2013. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219076 91177308-0d34-0410-b5e6-96231b3b80d8
-
David Majnemer authored
This changes the scope discriminator's behavior to start at '1' instead of '0'. Symbol table diffing, for ABI compatibility testing, kept finding these as false positives. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219075 91177308-0d34-0410-b5e6-96231b3b80d8
-
David Majnemer authored
Summary: This add support for the C++11 feature, thread_local global variables. The ABI Clang implements is an improvement of the MSVC ABI. Sadly, further improvements could be made but not without sacrificing ABI compatibility. The feature is implemented as follows: - All thread_local initialization routines are pointed to from the .CRT$XDU section. - All non-weak thread_local variables have their initialization routines call from a single function instead of getting their own .CRT$XDU section entry. This is done to open up optimization opportunities to the compiler. - All weak thread_local variables have their own .CRT$XDU section entry. This entry is in a COMDAT with the global variable it is initializing; this ensures that we will initialize the global exactly once. - Destructors are registered in the initialization function using __tlregdtor. Differential Revision: http://reviews.llvm.org/D5597 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219074 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Oct 04, 2014
-
-
Benjamin Kramer authored
The map is immutable until the whole ASTContext dies. While there movify a couple of copies in ASTMatchFinder away. NFC. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219062 91177308-0d34-0410-b5e6-96231b3b80d8
-
Hal Finkel authored
We already add the align parameter attribute for function parameters that have the align_value attribute (or those with a typedef type having that attribute), which is an important special case, but does not handle pointers with value alignment assumptions that come into scope in any other way. To handle the general case, emit an @llvm.assume-based alignment assumption whenever we load the pointer-typed lvalue of an align_value-attributed variable (except for function parameters, which we already deal with at entry). I'll also note that this is more general than Intel's described support in: https://software.intel.com/en-us/articles/data-alignment-to-assist-vectorization which states that the compiler inserts __assume_aligned directives in response to align_value-attributed variables only for function parameters and for the initializers of local variables. I think that we can make the optimizer deal with this more-general scheme (which could lead to a lot of calls to @llvm.assume inside of loop bodies, for example), but if not, I'll rework this to be less aggressive. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219052 91177308-0d34-0410-b5e6-96231b3b80d8
-
Nikola Smiljanic authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219050 91177308-0d34-0410-b5e6-96231b3b80d8
-
David Majnemer authored
Windows TLS relies on indexing through a tls_index in order to get at the DLL's thread local variables. However, this index is not exported along with the variable: it is assumed that all accesses to thread local variables are inside the same module which created the variable in the first place. While there are several implementation techniques we could adopt to fix this (notably, the Itanium ABI gets this for free), it is not worth the heroics. Instead, let's just ban this combination. We could revisit this in the future if we need to. This fixes PR21111. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219049 91177308-0d34-0410-b5e6-96231b3b80d8
-
David Majnemer authored
Use getDLLAttr to factor out some common dllimport/dllexport code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219048 91177308-0d34-0410-b5e6-96231b3b80d8
-
Richard Smith authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219043 91177308-0d34-0410-b5e6-96231b3b80d8
-
Benjamin Kramer authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219031 91177308-0d34-0410-b5e6-96231b3b80d8
-
Justin Bogner authored
This adds -nostdsysteminc to the %clang_cc1 expansion, which should make it harder to accidentally write tests that depend on headers in /usr/include. It also updates a few tests that use -isysroot <x> and a darwin triple to omit the triple and use -isystem <x>/usr/include instead, making them a little bit more general. Incidentally, this fixes a test failure I'm seeing on darwin in Modules/stddef.c, that happens because my system finds a stddef.h in /usr/include. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219030 91177308-0d34-0410-b5e6-96231b3b80d8
-
Jingyue Wu authored
by adding a fake use git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219029 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Oct 03, 2014
-
-
Jonathan Roelofs authored
http://reviews.llvm.org/D4985 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219027 91177308-0d34-0410-b5e6-96231b3b80d8
-
Anna Zaks authored
There are three copies of IsCompleteType(...) functions in CSA and all of them are incomplete (I experienced crashes in some CSA's test cases). I have replaced these function calls with Type::isIncompleteType() calls. A patch by Aleksei Sidorin! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219026 91177308-0d34-0410-b5e6-96231b3b80d8
-
Anna Zaks authored
The MallocChecker does currently not track the memory allocated by if_nameindex. That memory is dynamically allocated and should be freed by calling if_freenameindex. The attached patch teaches the checker about these functions. Memory allocated by if_nameindex is treated as a separate allocation "family". That way the checker can verify it is freed by the correct function. A patch by Daniel Fahlgren! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219025 91177308-0d34-0410-b5e6-96231b3b80d8
-
Anna Zaks authored
The return value of mempcpy is only correct when the destination type is one byte in size. This patch casts the argument to a char* so the calculation is also correct for structs, ints etc. A patch by Daniel Fahlgren! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219024 91177308-0d34-0410-b5e6-96231b3b80d8
-
Benjamin Kramer authored
Otherwise we're left with an half-initialized bag of variables that may or may not explode later on. Should bring the MSVC buildbot back to life. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219023 91177308-0d34-0410-b5e6-96231b3b80d8
-
Fariborz Jahanian authored
objective-C declarations, including printing of availability attributes on methods. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219013 91177308-0d34-0410-b5e6-96231b3b80d8
-
Duncan P. N. Exon Smith authored
This reverts commit r218917, effectively reapplying r218913. Original commit message follows. -- Update debug info testcases for an LLVM metadata schema change to fold metadata constant operands into a single `MDString`. Part of PR17891. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219011 91177308-0d34-0410-b5e6-96231b3b80d8
-
Benjamin Kramer authored
And elide the copy when pushing the return value into a vector. NFC. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219001 91177308-0d34-0410-b5e6-96231b3b80d8
-
Benjamin Kramer authored
NFC. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219000 91177308-0d34-0410-b5e6-96231b3b80d8
-
Hal Finkel authored
When the aligned clause of an OpenMP simd pragma is not provided with an explicit alignment, a target-dependent default must be used. This adds such a default of PPC targets. This will become slightly more complicated when BG/Q support is added (because then it will depend on the type). For now, 16 is a correct value for all systems, and covers Altivec and VSX vectors. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@218994 91177308-0d34-0410-b5e6-96231b3b80d8
-
Fariborz Jahanian authored
version numbers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@218993 91177308-0d34-0410-b5e6-96231b3b80d8
-
Hal Finkel authored
Richard noted in the review of r217349 that extra handling of __builtin_assume_aligned inside of the expression evaluator was needed. He was right, and this should address the concerns raised, namely: 1. The offset argument to __builtin_assume_aligned can have side effects, and we need to make sure that all arguments are properly evaluated. 2. If the alignment assumption does not hold, that introduces undefined behavior, and undefined behavior cannot appear inside a constexpr. and hopefully the diagnostics produced are detailed enough to explain what is going on. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@218992 91177308-0d34-0410-b5e6-96231b3b80d8
-
Dan Liew authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@218983 91177308-0d34-0410-b5e6-96231b3b80d8
-
Asiri Rathnayake authored
Summary: The changes introduced in the above two commits are giving a rough time to one of the build bots. Reverting the changes for the moment so that the bot can go green again. Change-Id: Id19f6cb2a8bc292631fac2262268927563d820c2 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@218970 91177308-0d34-0410-b5e6-96231b3b80d8
-