summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
* Account for calling convention specifiers in function definitions in IR test ↵David Blaikie2015-06-2981-366/+366
| | | | | | | | | | | | | cases Several tests wouldn't pass when executed on an armv7a_pc_linux triple due to the non-default arm_aapcs calling convention produced on the function definitions in the IR output. Account for this with the application of a little regex. Patch by Ying Yi. llvm-svn: 240971
* Make __has_extension(assume_nonnull) always true.Douglas Gregor2015-06-292-0/+5
| | | | llvm-svn: 240969
* [Modules] Test lock file removed on signalBen Langmuir2015-06-293-0/+15
| | | | | | | | For r240967. rdar://problem/21512307 llvm-svn: 240968
* Remove unnecessary include.Adrian Prantl2015-06-291-1/+0
| | | | llvm-svn: 240963
* clang-format: Add option to break after definition return type for top-level ↵Birunthan Mohanathas2015-06-296-25/+85
| | | | | | | | functions only Differential Revision: http://reviews.llvm.org/D10774 llvm-svn: 240959
* clang-format: Adjust Mozilla style defaultsBirunthan Mohanathas2015-06-291-3/+5
| | | | | | | | Summary: This makes the Mozilla style defaults more compliant with the Mozilla style guide. A few options were removed in order to use the LLVM style defaults. Differential Revision: http://reviews.llvm.org/D10771 llvm-svn: 240957
* [x86][AVX512CD] Add conflict and lzcnt intrinsics in their 512bit versionsAsaf Badouh2015-06-295-0/+200
| | | | | | | | | include tests review http://reviews.llvm.org/D10795 llvm-svn: 240941
* [X86][AVX512BW] Add more intrinsics support:Asaf Badouh2015-06-293-0/+1185
| | | | | | | | | | Blend, abs, packs, adds, subs, avg, max, min, permute. all the intrinsics are covered by tests review: http://reviews.llvm.org/D10799 llvm-svn: 240937
* clang-format: Don't indent relative to unary operators (some more).Daniel Jasper2015-06-292-5/+7
| | | | | | | | | | | | | | | | Before: long aaaaaaaa = !aaaa( // break aaaaaa); long aaaaaaaa = !aa.aa( // break aaaaaa); After: long aaaaaaaa = !aaaa( // break aaaaaa); long aaaaaaaa = !aa.aa( // break aaaaaa); llvm-svn: 240934
* This is a comment-only change to test commit accessIgor Breger2015-06-291-1/+1
| | | | llvm-svn: 240931
* [ARM]: Extend -mfpu options for half-precision and vfpv3xdJaved Absar2015-06-291-0/+55
| | | | | | | | | | | | | | | Some of the the permissible ARM -mfpu options, which are supported in GCC, are currently not present in llvm/clang.This patch adds the options: 'neon-fp16', 'vfpv3-fp16', 'vfpv3-d16-fp16', 'vfpv3xd' and 'vfpv3xd-fp16. These are related to half-precision floating-point and single precision. Reviewers: rengolin, ranjeet.singh Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D10764 llvm-svn: 240929
* AVX-512: Implemented AVX-512 FMA intrinsics and tests.Elena Demikhovsky2015-06-295-46/+2378
| | | | | | | | by Igor Breger http://reviews.llvm.org/D10797 llvm-svn: 240928
* Delete unused variables.Frederic Riss2015-06-291-3/+0
| | | | llvm-svn: 240923
* [MS ABI] Unify constant and non-constant member pointer conversionDavid Majnemer2015-06-291-138/+51
| | | | | | | | | | | We had two separate paths for member pointer conversion: one which takes a constant and another which takes an arbitrary value. In the latter case, we are permitted to construct arbitrary instructions. It turns out that the bulk of the member pointer conversion is sharable if we construct an artificial IRBuilder. llvm-svn: 240921
* Revert r240872, "Suppress clang/test/CodeGen/builtins-ppc-p8vector.c for ↵NAKAMURA Takumi2015-06-281-1/+1
| | | | | | | | -Asserts for now. Will fix later." This has been fixed since r240912. llvm-svn: 240920
* [PPC] fixes typos in builtins-ppc-p8vector.cJingyue Wu2015-06-281-2/+2
| | | | | | The extra ] causes %{{[0-9]]*}} to match only %<single digit> such as %1. llvm-svn: 240912
* clang-format: Stop old options from overriding new optionsBirunthan Mohanathas2015-06-281-10/+10
| | | | | | | | | | | | | | Summary: Depends on D10785. Reviewers: djasper Reviewed By: djasper Subscribers: klimek, cfe-commits Differential Revision: http://reviews.llvm.org/D10786 llvm-svn: 240909
* clang-format: Add missing members to FormatStyle::operator==Birunthan Mohanathas2015-06-281-0/+6
| | | | | | | | | | | | | | Summary: Depends on D10784. Reviewers: djasper Reviewed By: djasper Subscribers: dblaikie, klimek, cfe-commits Differential Revision: http://reviews.llvm.org/D10785 llvm-svn: 240908
* clang-format: Alphabetize FormatStyle membersBirunthan Mohanathas2015-06-282-299/+301
| | | | | | | | | | | | Reviewers: djasper Reviewed By: djasper Subscribers: klimek, cfe-commits Differential Revision: http://reviews.llvm.org/D10784 llvm-svn: 240907
* [Driver] x86-64 Windows is always PICDavid Majnemer2015-06-282-2/+12
| | | | | | This fixes PR23963. llvm-svn: 240902
* clang-format: Support @autoreleasepool.Nico Weber2015-06-282-0/+31
| | | | | | | | | | Format @autoreleasepool properly for the Attach brace style by recognizing @autoreleasepool as a block introducer. Patch from Strager Neds! http://reviews.llvm.org/D10372 llvm-svn: 240896
* [Sema] Unions cannot have virtual functions.Davide Italiano2015-06-273-0/+12
| | | | | | | | PR: PR23931 Differential Revision: http://reviews.llvm.org/D10752 Reviewed by: rsmith llvm-svn: 240889
* Fix typo. NFC.Alex Denisov2015-06-271-2/+2
| | | | llvm-svn: 240888
* clang-format: Fix language of DisableFormat descriptionBirunthan Mohanathas2015-06-272-2/+2
| | | | | | This is a comment-only change to test commit access. llvm-svn: 240879
* Suppress clang/test/CodeGen/builtins-ppc-p8vector.c for -Asserts for now. ↵NAKAMURA Takumi2015-06-271-1/+1
| | | | | | Will fix later. llvm-svn: 240872
* Add a testcase for bitfield debug info.Adrian Prantl2015-06-261-0/+91
| | | | llvm-svn: 240833
* Add missing builtins to altivec.h for ABI compliance (vol. 1)Nemanja Ivanovic2015-06-265-14/+347
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch corresponds to review: http://reviews.llvm.org/D10637 This is the first round of additions of missing builtins listed in the ABI document. More to come (this builds onto what seurer already addes). This patch adds: vector signed long long vec_abs(vector signed long long) vector double vec_abs(vector double) vector signed long long vec_add(vector signed long long, vector signed long long) vector unsigned long long vec_add(vector unsigned long long, vector unsigned long long) vector double vec_add(vector double, vector double) vector double vec_and(vector bool long long, vector double) vector double vec_and(vector double, vector bool long long) vector double vec_and(vector double, vector double) vector signed long long vec_and(vector signed long long, vector signed long long) vector double vec_andc(vector bool long long, vector double) vector double vec_andc(vector double, vector bool long long) vector double vec_andc(vector double, vector double) vector signed long long vec_andc(vector signed long long, vector signed long long) vector double vec_ceil(vector double) vector bool long long vec_cmpeq(vector double, vector double) vector bool long long vec_cmpge(vector double, vector double) vector bool long long vec_cmpge(vector signed long long, vector signed long long) vector bool long long vec_cmpge(vector unsigned long long, vector unsigned long long) vector bool long long vec_cmpgt(vector double, vector double) vector bool long long vec_cmple(vector double, vector double) vector bool long long vec_cmple(vector signed long long, vector signed long long) vector bool long long vec_cmple(vector unsigned long long, vector unsigned long long) vector bool long long vec_cmplt(vector double, vector double) vector bool long long vec_cmplt(vector signed long long, vector signed long long) vector bool long long vec_cmplt(vector unsigned long long, vector unsigned long long) llvm-svn: 240821
* [PPC]: Fix bug in getMultiarchTriple.Douglas Katzman2015-06-265-18/+35
| | | | | | | | And generally prefer not to restate TargetTriple.str() over and over. Differential Revision: http://reviews.llvm.org/D10605 llvm-svn: 240808
* Avoid false positive/negative test results from line directive interference.NFC.Chad Rosier2015-06-261-5/+8
| | | | | | | http://reviews.llvm.org/D10443 Patch by Geoff Berry. llvm-svn: 240801
* [static analyzer] Analyzer is skipping forward declared C/C++ functionsAnna Zaks2015-06-265-1/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | A patch by Karthik Bhat! This patch fixes a regression introduced by r224398. Prior to r224398 we were able to analyze the following code in test-include.c and report a null deref in this case. But post r224398 this analysis is being skipped. E.g. // test-include.c #include "test-include.h" void test(int * data) { data = 0; *data = 1; } // test-include.h void test(int * data); This patch uses the function body (instead of its declaration) as the location of the function when deciding if the Decl should be analyzed with path-sensitive analysis. (Prior to r224398, the call graph was guaranteed to have a definition when available.) llvm-svn: 240800
* clang-format some of the files in lib/Driver. NFCDouglas Katzman2015-06-264-1540/+1338
| | | | | | | | | Nothing was hand edited afterward except a few literal strings and comments that were poorly broken. Differential Revision: http://reviews.llvm.org/D10689 llvm-svn: 240791
* [ObjC] Add NSValue support for objc_boxed_expressionsAlex Denisov2015-06-2622-53/+392
| | | | | | | | | | | | | Patch extends ObjCBoxedExpr to accept records (structs and unions): typedef struct __attribute__((objc_boxable)) _Color { int r, g, b; } Color; Color color; NSValue *boxedColor = @(color); // [NSValue valueWithBytes:&color objCType:@encode(Color)]; llvm-svn: 240761
* Fix crash-on-invalid bug in template instantiation.Manuel Klimek2015-06-262-27/+9
| | | | | | | | Get rid of code-path that (according to Richard Smith) is not needed but leads to a crasher bug when assuming a template has been fully instantiated and thus has a definition. llvm-svn: 240752
* FileCheck-ize test and make sure more things don't happen.Paul Robinson2015-06-261-3/+23
| | | | | | | | | Attribute 'nodebug' means no llvm.dbg.* intrinsics, no !dbg annotations, and no DISubprogram for the function. Differential Revision: http://reviews.llvm.org/D10747 llvm-svn: 240747
* Add new file from r240741 to CMakeLists.txt.Nico Weber2015-06-261-0/+1
| | | | llvm-svn: 240743
* [Sema] Commit a better fix for r240242Davide Italiano2015-06-261-4/+5
| | | | | | | | | | | Skip calls to HasTrivialDestructorBody() in the case where the destructor is never invoked. Alternatively, Richard proposed to change Sema to declare a trivial destructor for anonymous union member, which seems too wasteful. Differential Revision: http://reviews.llvm.org/D10508 llvm-svn: 240742
* Add an inttypes.h wrapper that fixes up some macros in Microsoft mode.Nico Weber2015-06-261-0/+102
| | | | | | | | Before MSVS2015, MSVS's headers disagree about int32_t and PRIx32 and so on. Provide a wrapper header to fix this, so that -Wformat can still be used. Fixes PR23412. llvm-svn: 240741
* [Sema] Maintain ellipsis location when transforming lambda capturesMeador Inge2015-06-262-1/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes a crash caused by the following case: template<typename T> auto f(T x) { auto g = [](auto ... args) { auto h = [args...]() -> int { return 0; }; return h; }; return g; } auto x = f(0)(); When the templated function 'f' is instantiated and the inner-most lambda is transformed the ellipsis location on the captured variable is lost. Then the lambda returned by 'f' is instantiated and the tree transformer chokes on the invalid ellipsis location. The problem is fixed by making a minor change to properly track the ellipsis location. This fixes PR23716. Differential Revision: http://reviews.llvm.org/D10590 llvm-svn: 240740
* [CodeGen] Restrict isTriviallyRecursive to predefined lib functions ↵David Majnemer2015-06-252-10/+24
| | | | | | | | | | | forwarding to lib functions isTriviallyRecursive is only supposed to guard functions part of the implementation. This fixes PR23953. llvm-svn: 240735
* Fix a typo correction crash when resolving ambiguous corrections.Kaelyn Takata2015-06-252-0/+32
| | | | | | | | | | | In certain cases, the tree transform would introduce new TypoExprs while trying one of the corrections, invalidating the unique_ptr in the state reference, and also causing a TypoExpr to exist that will never be corrected since it doesn't exist in the final corrected expression. The simple solution to both problems is to temporarily disable typo correction while handling potentially ambiguous typo corrections. llvm-svn: 240734
* [docs] Several updates to the Address Sanitizer webpage.Anna Zaks2015-06-252-46/+103
| | | | | | | | | | | | | | | | | - Added the description of the interceptor suppression. - Re-organized a bit: grouped a few things under the Issue Suppression section, grouped IOC and leaks under a section, placed symbolication info into Symbolizing the Reports section.. - In supported platforms: "MacOS" -> "OS X"; added "iOS Simulator" - Added a paragraph to the Usage section describing when DYLD_INSERT_LIBRARIES might need to be used. - "attribute((no_sanitize_address))" -> "__attribute__((no_sanitize("address")))" - Updated Leak Sanitizer page with most up to date info. .... http://reviews.llvm.org/D10559 llvm-svn: 240725
* Remove `requires` for x86 CPU features.Sean Silva2015-06-251-25/+0
| | | | | | | | | Ever since the target attributes change, we don't need to guard these headers with `requires`. Actually it's a bit worse, because if we do then they are included textually under the covers, causing declarations to appear in submodules they aren't supposed to be in. llvm-svn: 240720
* Fix the test added in r240710.Jonathan Roelofs2015-06-251-1/+1
| | | | llvm-svn: 240718
* [CFI] Diagnose when we CFI in diagnostic mode is unavailable on a toolchain.Alexey Samsonov2015-06-252-1/+20
| | | | | | | | | | | | | | | | | | | | | | | Summary: Namely, we must have proper C++ABI support in UBSan runtime. We don't have a good way to check for that, so just assume that C++ABI support is there whenever -fsanitize=vptr is supported (i.e. only on handful of platforms). Exact diagnostic is also tricky. It's not "cfi" that is unsupported, just the diagnostic mode. So, I suggest to report that "-fno-sanitize-trap=cfi-foobar" is incompatible with a given target toolchain. Test Plan: regression test suite Reviewers: pcc Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D10751 llvm-svn: 240716
* Display profile file name when emitting a file not found diagnostic.Diego Novillo2015-06-252-3/+4
| | | | | | | | | When a profile file cannot be opened, we used to display just the error message but not the name of the profile the compiler was trying to open. This will become useful in the next set of patches that introduce GCC-compatible flags to specify profiles. llvm-svn: 240715
* This should actually fix the broken bots.Chris Bieneman2015-06-251-0/+3
| | | | llvm-svn: 240710
* [Parse] Allow 'constexpr' in condition declarationsMeador Inge2015-06-255-8/+40
| | | | | | | | | | | | | | | | | This patch implements the functionality specified by DR948. The changes are two fold. First, the parser was modified to allow 'constexpr's to appear in condition declarations (which was a hard error before). Second, Sema was modified to cleanup maybe odr-used declarations by way of a call to 'ActOnFinishFullExpr'. As 'constexpr's were not allowed in condition declarations before the cleanup wasn't necessary (such declarations were always odr-used). This fixes PR22491. Differential Revision: http://reviews.llvm.org/D8978 llvm-svn: 240707
* [modules] Properly merge visibility of class definitions that got merged whileRichard Smith2015-06-256-10/+26
| | | | | | parsing then merged again when the module was loaded. llvm-svn: 240700
* docs: Fix bad link in SafeStack.rst.Peter Collingbourne2015-06-251-1/+1
| | | | llvm-svn: 240696
* Speculative fix for the broken bots.Chris Bieneman2015-06-251-2/+1
| | | | llvm-svn: 240693
OpenPOWER on IntegriCloud