summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
* Add missing overrides to MultiplexConsumer. Test coverage will beAdrian Prantl2015-06-181-0/+26
| | | | | | provided by an upcoming commit. llvm-svn: 240026
* Fix a typo.Adrian Prantl2015-06-181-1/+1
| | | | llvm-svn: 240025
* clang-format: Row back on the AlwaysBreakBeforeMultilineStrings change.Daniel Jasper2015-06-182-5/+11
| | | | | | | | | | | | | | | It was a bit too aggressive. With this patch, we keep on breaking here: aaaaaaaaaaaaa(aaaaaaa, "aaaaaaa" "bbbbbbb"); But don't break in: aaaaaaaaaaaaa(aaaaaaa, aaaaaaaa("aaaaaaa" "bbbbbbb")); llvm-svn: 240024
* clang-format: Better support functions with elaborated enum return types.Daniel Jasper2015-06-182-1/+15
| | | | | | | | | Before, this wasn't formatted properly: enum ::C f() { return a; } llvm-svn: 240021
* Allow case-insensitive values for -march for AArch64 target in line with GCC.Gabor Ballabas2015-06-183-1/+13
| | | | | | | GCC allows case-insensitive values for -mcpu, -march and -mtune options. This patch implements the same behaviour for the -march option for the AArch64 target. llvm-svn: 240019
* [OPENMP] Codegen for 'proc_bind' clause (4.0).Alexey Bataev2015-06-184-0/+109
| | | | | | | Adds emission of the code for 'proc_bind(master|close|spread)' clause: call void @__kmpc_push_proc_bind(<loc>, i32 thread_id, i32 4|3|2) llvm-svn: 240018
* clang-format: [JS] Add a special case for indenting function literals.Daniel Jasper2015-06-182-1/+19
| | | | | | | | | | | | | | | | | | | | Before: var func = function() { doSomething(); }; After: var func = function() { doSomething(); }; This is a very narrow special case which fixes most of the discrepency with what our users do. In the long run, we should try to come up with a more generic fix for indenting these. llvm-svn: 240014
* [OPENMP] Support for '#pragma omp taskgroup' directive.Alexey Bataev2015-06-1828-6/+394
| | | | | | | | | | | | | Added parsing, sema analysis and codegen for '#pragma omp taskgroup' directive (OpenMP 4.0). The code for directive is generated the following way: #pragma omp taskgroup <body> void __kmpc_taskgroup(<loc>, thread_id); <body> void __kmpc_end_taskgroup(<loc>, thread_id); llvm-svn: 240011
* [OPENMP] Fixed test for '#pragma omp parallel for simd'.Alexey Bataev2015-06-181-1/+1
| | | | llvm-svn: 240009
* [clang] Refactoring of conditions so they use isOneOf() instead of multiple ↵Daniel Marjamaki2015-06-1815-224/+192
| | | | | | is(). llvm-svn: 240008
* [OPENMP] Add support for 'omp parallel for' directive.Alexey Bataev2015-06-185-12/+745
| | | | | | Codegen for this directive is a combined codegen for 'omp parallel' region with 'omp for simd' region inside. Clauses are supported. llvm-svn: 240006
* clang-format: Make AlwaysBreakBeforeMultilineStrings more conservative.Daniel Jasper2015-06-184-22/+33
| | | | | | | | | | | | | | | | | In essence this is meant to consistently indent multiline strings by a fixed amount of spaces from the start of the line. Don't do this in cases where it wouldn't help anyway. Before: someFunction(aaaaa, "aaaaa" "bbbbb"); After: someFunction(aaaaa, "aaaaa" "bbbbb"); llvm-svn: 240004
* [OPENMP] Add support for 'omp for simd' directive.Alexey Bataev2015-06-184-34/+754
| | | | | | Added codegen for combined 'omp for simd' directives, that is a combination of 'omp for' directive followed by 'omp simd' directive. Includes support for all clauses. llvm-svn: 239990
* [Driver] Remove unused class member. NFC.Alexey Samsonov2015-06-182-9/+0
| | | | llvm-svn: 239981
* [Driver] Simplify code choosing between MacOS and iOS platforms. NFC.Alexey Samsonov2015-06-181-12/+10
| | | | llvm-svn: 239980
* [analyzer] Cleanup: $Status is always 0 here.Anton Yartsev2015-06-171-2/+0
| | | | llvm-svn: 239971
* [analyzer] Close file handle before output to file from external command.Anton Yartsev2015-06-171-1/+1
| | | | | | An old code caused problems under Windows - additional temporary file was created for clang preprocessor output while the right output file remained empty. llvm-svn: 239970
* [modules] Ensure that if we merge the definitions of two enumerations, thatRichard Smith2015-06-173-18/+32
| | | | | | making either of them visible makes the merged definition visible. llvm-svn: 239969
* [Driver] Add an assert to Darwin::isTargetMacOS() for consistency.Alexey Samsonov2015-06-171-0/+1
| | | | llvm-svn: 239967
* Revert "[Sanitizers] Provide better diagnostic for sanitizers unsupported ↵Alexey Samsonov2015-06-1710-116/+62
| | | | | | | | | for target triple." This reverts commit r239953, while I'm investigating assertion failure from http://lab.llvm.org:8080/green/job/clang-stage1-cmake-RA-incremental_check/9994/ llvm-svn: 239958
* [modules] Fix typo in default argument merging.Richard Smith2015-06-175-3/+9
| | | | llvm-svn: 239954
* [Sanitizers] Provide better diagnostic for sanitizers unsupported for target ↵Alexey Samsonov2015-06-1710-62/+116
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | triple. Summary: Introduce ToolChain::getSupportedSanitizers() that would return the set of sanitizers available on given toolchain. By default, these are sanitizers which don't necessarily require runtime support (i.e. set from -fsanitize=undefined-trap). Sanitizers (ASan, DFSan, TSan, MSan etc.) which cannot function without runtime library are marked as supported only on platforms for which we actually build these runtimes. This would allow more fine-grained checks in the future: for instance, we have to restrict availability of -fsanitize=vptr to Mac OS 10.9+ (PR23539) Update test cases accrodingly: add tests for certain unsupported configurations, remove test cases for -fsanitize=vptr + PS4 integration, as we don't build the runtime for PS4 at the moment. Test Plan: regression test suite Reviewers: pcc Subscribers: cfe-commits, filcab, eugenis, thakis, kubabrecka, emaste, rsmith Differential Revision: http://reviews.llvm.org/D10467 llvm-svn: 239953
* Update clang to take into account the changes to personality fnsDavid Majnemer2015-06-1724-64/+93
| | | | llvm-svn: 239941
* [modules] If we merge a template, also track that its parameters are merged soRichard Smith2015-06-172-8/+15
| | | | | | that we know when its default arguments should be visible. llvm-svn: 239936
* [modules] Improve diagnostic for a template-id that's invalid because a defaultRichard Smith2015-06-177-33/+126
| | | | | | argument is not visible. llvm-svn: 239934
* [ARM] Replace hard coded metadata arguments in tests with a regex.Ranjeet Singh2015-06-172-24/+24
| | | | | | Differential Revision: http://reviews.llvm.org/D10507 llvm-svn: 239932
* CodeGen: Factor out some of the bitset entry creation code. NFC.Peter Collingbourne2015-06-173-18/+23
| | | | llvm-svn: 239927
* Move xtest to its own file to match the gcc header organization.Eric Christopher2015-06-174-9/+47
| | | | llvm-svn: 239926
* Update comments on HLE, RTM, and ADX support for intrinsics.Eric Christopher2015-06-171-3/+6
| | | | llvm-svn: 239925
* [fixit] Use overwriteChangedFiles() to deal with Windows mapped filesReid Kleckner2015-06-174-3/+333
| | | | | | Fixes one instance of PR17960. llvm-svn: 239920
* clang-format: clang-format (NFC)Daniel Jasper2015-06-1712-80/+66
| | | | llvm-svn: 239903
* Qualify all types used in AST matcher macros.Alexander Kornienko2015-06-171-69/+114
| | | | | | | | | | | | | | | | | | | Summary: Qualify all types used in AST matcher macros. This makes it possible to put AST matchers in user code into a namespace other than clang::ast_matchers and this way prevent ODR violations that could happen when a matcher with the same name is defined in multiple translation units. Updated comments accordingly. Reviewers: djasper, klimek Reviewed By: djasper, klimek Subscribers: klimek, cfe-commits Differential Revision: http://reviews.llvm.org/D10501 llvm-svn: 239902
* clang-format: Don't generate unnecessary replacements for \r\n line endings.Daniel Jasper2015-06-172-1/+8
| | | | | | Patch by Mathieu Champlon. Thank you. llvm-svn: 239900
* Fix clang/test/Headers/x86intrin-2.c. _readfsbase_u32() is provided in not ↵NAKAMURA Takumi2015-06-171-0/+2
| | | | | | i686 but x86-64. llvm-svn: 239896
* [OPENMP] Fixed failed test for reduction clause in simd constructs.Alexey Bataev2015-06-171-6/+6
| | | | llvm-svn: 239895
* clang-format: [JS] Don't put top-level typescript enums on a single line.Daniel Jasper2015-06-172-27/+42
| | | | | | | | | | | This makes this consistent with non-typescript enums. Also shuffle the language-dependent stuff in mustBreakBefore to a single location. Patch initiated by Martin Probst. llvm-svn: 239894
* clang-format: [JS] Fix typescript enum formatting.Daniel Jasper2015-06-172-5/+21
| | | | | | | | | | | | | | | | | | | Patch by Martin Probst. Before: enum { A, B } var x = 1; After: enum { A, B } var x = 1; llvm-svn: 239893
* clang-format: NFC. Add a function to test whether an annotated lineDaniel Jasper2015-06-173-23/+39
| | | | | | | starts with a given sequence of tokens. Only the one-token version is used yet, but other usages are coming up momentarily. llvm-svn: 239892
* [OPENMP] Code reformatting for omp simd codegen, NFC.Alexey Bataev2015-06-173-110/+109
| | | | llvm-svn: 239889
* Update the intel intrinsic headers to use the target attribute support.Eric Christopher2015-06-1738-356/+192
| | | | | | | | | | | | | | | | | | | This involved removing the conditional inclusion and replacing them with target attributes matching the original conditional inclusion and checks. The testcase update removes the macro checks for each file and replaces them with usage of the __target__ attribute, e.g.: int __attribute__((__target__(("sse3")))) foo(int a) { _mm_mwait(0, 0); return 4; } This usage does require the enclosing function have the requisite __target__ attribute for inlining and code generation - also for any macro intrinsic uses in the enclosing function. There's no change for existing uses of the intrinsic headers. llvm-svn: 239883
* Use a define for per-file function attributes for the Intel intrinsic headers.Eric Christopher2015-06-1731-1660/+1802
| | | | | | | This is a precursor to changing them to use the new target attribute code. llvm-svn: 239882
* [OPENMP] Supported reduction clause in omp simd construct.Alexey Bataev2015-06-174-6/+50
| | | | | | | | | | | | | | | | The following code is generated for reduction clause within 'omp simd' loop construct: #pragma omp simd reduction(op:var) for (...) <body> alloca priv_var priv_var = <initial reduction value>; <loop_start>: <body> // references to original 'var' are replaced by 'priv_var' <loop_end>: var op= priv_var; llvm-svn: 239881
* parser: wordsmith diagnostic messageSaleem Abdulrasool2015-06-172-2/+3
| | | | | | Address post-commit commit about the wording of the warning. llvm-svn: 239879
* Basic: tweak whitespace in Attr.tdSaleem Abdulrasool2015-06-171-1/+2
| | | | | | Separate two class definitions that had been merged into a single line. NFC. llvm-svn: 239878
* [.gitignore] ignore vim swap files harderSean Silva2015-06-171-1/+1
| | | | | | This matches the patterns for vim swap files in llvm/.gitignore llvm-svn: 239875
* Update for llvm api change.Rafael Espindola2015-06-161-2/+2
| | | | llvm-svn: 239859
* [modules] Fix merging of default template arguments onto friend templates.Richard Smith2015-06-163-3/+15
| | | | | | | | | Previously we'd complain about redefinition of default arguments when we instantiated a class with a friend template that inherits its default argument, because we propagate the default template arguemnt onto the friend when we reload the AST. llvm-svn: 239857
* Honor the objc_runtime_name attribute when encoding class/protocol names.Douglas Gregor2015-06-162-7/+20
| | | | | | | | While the rest of the Objective-C metadata seems to honor objc_runtime_name, the encoding strings produced by, e.g., @encode and property meta, were not. Fixes rdar://problem/21408305. llvm-svn: 239852
* Adjust clang side tests effected by 239795 before reapplying said changePhilip Reames2015-06-168-41/+41
| | | | llvm-svn: 239848
* parser: diagnose empty attribute blocksSaleem Abdulrasool2015-06-163-1/+8
| | | | | | | | | | | MS attributes do not permit empty attribute blocks. Correctly diagnose those. We continue to parse to ensure that we recover correctly. Because the block is empty, we do not need to skip any tokens. Bonus: tweak the comment that I updated but forgot to remove the function name in a previous commit. llvm-svn: 239846
OpenPOWER on IntegriCloud