summaryrefslogtreecommitdiffstats
path: root/clang/include
Commit message (Collapse)AuthorAgeFilesLines
...
* libclang: expose dllexport, dllimport attributesSaleem Abdulrasool2015-12-101-2/+4
| | | | | | | These attributes were previously unexposed. Expose them through the libclang interfaces. Add tests that cover both the MSVC spelling and the GNU spelling. llvm-svn: 255273
* [analyzer] Fix symbolic element index lifetime.Artem Dergachev2015-12-101-0/+1
| | | | | | | | | | | | SymbolReaper was destroying the symbol too early when it was referenced only from an index SVal of a live ElementRegion. In order to test certain aspects of this patch, extend the debug.ExprInspection checker to allow testing SymbolReaper in a direct manner. Differential Revision: http://reviews.llvm.org/D12726 llvm-svn: 255236
* [Sema] Use UnaryOperatorKind and BinaryOperatorKind in parameter lists ↵Craig Topper2015-12-101-9/+10
| | | | | | instead of just unsigned. Removes a few explicit casts. NFC llvm-svn: 255232
* PR25416: Improve performance of processing inline assembly consisting of manyRichard Smith2015-12-101-4/+6
| | | | | | | | | | implicitly-concatenated string literals. When looking for the start of a token in the inline assembly, start from the end of the previous token, not the start of the entire string. Patch by Yunlian Jiang! llvm-svn: 255198
* fix typos; NFCSanjay Patel2015-12-092-4/+3
| | | | llvm-svn: 255163
* unique_ptrify some collections in FileManagerDavid Blaikie2015-12-091-2/+2
| | | | llvm-svn: 255129
* clang-format: Improve documentation of AlignOperands.Daniel Jasper2015-12-091-0/+7
| | | | llvm-svn: 255099
* Reformat linefeeds.NAKAMURA Takumi2015-12-092-15/+1
| | | | llvm-svn: 255098
* Revert r255001, "Add parse and sema for OpenMP distribute directive and all ↵NAKAMURA Takumi2015-12-099-125/+11
| | | | | | | | its clauses excluding dist_schedule." It causes memory leak. Some tests in test/OpenMP would fail. llvm-svn: 255094
* Module file extensions: pass a Sema through to the extension writer.Douglas Gregor2015-12-082-4/+7
| | | | | | | | Module file extensions are likely to need access to Sema/Preprocessor/ASTContext, and cannot get it through other sources. llvm-svn: 255065
* [Sema] Add warning when comparing nonnull and nullGeorge Burgess IV2015-12-082-5/+6
| | | | | | | | | | | | | | | | | | Currently, we emit warnings in some cases where nonnull function parameters are compared against null. This patch extends this support to warn when comparing the result of `returns_nonnull` functions against null. More specifically, we will now warn cases like: int *foo() __attribute__((returns_nonnull)); int main() { if (foo() == NULL) {} // warning: will always evaluate to false } Differential Revision: http://reviews.llvm.org/D15324 llvm-svn: 255058
* [x86][avx512] more changes in intrinsics to be align with gcc formatAsaf Badouh2015-12-081-8/+8
| | | | | | Differential Revision: http://reviews.llvm.org/D15328 llvm-svn: 255012
* [OPENMP 4.5] Parsing/sema for 'num_tasks' clause.Alexey Bataev2015-12-085-2/+70
| | | | | | OpenMP 4.5 adds directives 'taskloop' and 'taskloop simd'. These directives support clause 'num_tasks'. Patch adds parsing/semantic analysis for this clause. llvm-svn: 255008
* Add parse and sema for OpenMP distribute directive and all its clauses ↵Carlo Bertolli2015-12-089-11/+125
| | | | | | excluding dist_schedule. llvm-svn: 255001
* Explicitly permit undefined behavior in constant initializers for globalRichard Smith2015-12-081-4/+16
| | | | | | | | variables in C, in the cases where we can constant-fold it to a value regardless (such as floating-point division by zero and signed integer overflow). Strictly enforcing this rule breaks too much code. llvm-svn: 254992
* Update comment to reflect that we use other tools via the toolchain toEric Christopher2015-12-081-1/+1
| | | | | | handle more than just C. llvm-svn: 254984
* AST: defer to TypeLoc::copy in TypeLoc::initializeFullCopyJustin Bogner2015-12-071-5/+4
| | | | | | | | | | | | | | | | If we're initializing a TypeLoc from one that's been allocated with different alignment, memcpy will get the padding wrong. The `copy` method already checks and handles this case, so we should just defer to it. This also drops the `const` off of the `initializeFullCopy` declarations, since it isn't even remotely true (and the compiler notices when we try to call copy() instead of tricking it with memcpy). Fixes llvm.org/pr23516. llvm-svn: 254935
* [ThinLTO] Option to invoke ThinLTO backend passes and importingTeresa Johnson2015-12-074-4/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Adds new option -fthinlto-index=<file> to invoke the LTO pipeline along with function importing via clang using the supplied function summary index file. This supports invoking the parallel ThinLTO backend processes in a distributed build environment via clang. Additionally, this causes the module linker to be invoked on the bitcode file being compiled to perform any necessary promotion and renaming of locals that are exported via the function summary index file. Add a couple tests that confirm we get expected errors when we try to use the new option on a file that isn't bitcode, or specify an invalid index file. The tests also confirm that we trigger the expected function import pass. Depends on D15024 Reviewers: joker.eph, dexonsmith Subscribers: joker.eph, davidxl, cfe-commits Differential Revision: http://reviews.llvm.org/D15025 llvm-svn: 254927
* [avx512] rename gcc intrinsics to be align with gcc formatAsaf Badouh2015-12-071-12/+12
| | | | | | | | rename the gcc intrinsics suffix : _mask ->_round Differential Revision: http://reviews.llvm.org/D15284 llvm-svn: 254906
* [OPENMP 4.5] parsing/sema support for 'grainsize' clause.Alexey Bataev2015-12-074-0/+66
| | | | | | OpenMP 4.5 adds 'taksloop' and 'taskloop simd' directives, which have 'grainsize' clause. Patch adds parsing/sema analysis of this clause. llvm-svn: 254903
* [OPENMP 4.5] parsing/sema support for 'nogroup' clause.Alexey Bataev2015-12-074-0/+42
| | | | | | OpenMP 4.5 adds 'taskloop' and 'taskloop simd' directives. These directives have new 'nogroup' clause. Patch adds basic parsing/sema support for this clause. llvm-svn: 254899
* Use llvm::make_range to reduce mentions of iterator type. NFCCraig Topper2015-12-062-7/+4
| | | | llvm-svn: 254870
* [AST] Use std::copy and std::fill to simplify some memcpy and memset calls. ↵Craig Topper2015-12-051-5/+7
| | | | | | Also const-correct some methods being used since the std::copy catches the mismatch where memcpy didn't. llvm-svn: 254846
* Fix an unused variable warning in released builds. While there use 'auto' to ↵Craig Topper2015-12-041-3/+2
| | | | | | simplify code. llvm-svn: 254704
* [AST] ArrayRef-ize CompoundStmt::setStmts.Craig Topper2015-12-041-1/+1
| | | | llvm-svn: 254703
* [analyzer] Support inlining lambda-converted blocks.Devin Coughlin2015-12-041-1/+50
| | | | | | | | | clang converts C++ lambdas to blocks with an implicit user-defined conversion operator method on the lambda record. This method returns a block that captures a copy of the lambda. To inline a lambda-converted block, the analyzer now calls the lambda records's call operator method on the lambda captured by the block. llvm-svn: 254702
* [OPENMP 4.5] Parsing/sema support for 'omp taskloop simd' directive.Alexey Bataev2015-12-038-17/+130
| | | | | | OpenMP 4.5 adds directive 'taskloop simd'. Patch adds parsing/sema analysis for 'taskloop simd' directive and its clauses. llvm-svn: 254597
* PR25575: Make GCC 4.4+ comatible layout for packed bit-fileds of char type, ↵Alexey Bataev2015-12-031-3/+4
| | | | | | | | | patch by D. Polukhin This CL is for discussion how to better fix bit-filed layout compatibility issue with GCC (see PR25575 for test case and more details). Current clang behavior is compatible with GCC 4.1-4.3 series but it was fixed in 4.4+. Ignoring packed attribute looks very odd and because it was also fixed in GCC 4.4+, it makes sense also fix it in clang. Differential Revision: http://reviews.llvm.org/D14872 llvm-svn: 254596
* Add the `pass_object_size` attribute to clang.George Burgess IV2015-12-028-19/+165
| | | | | | | | | | | | | `pass_object_size` is our way of enabling `__builtin_object_size` to produce high quality results without requiring inlining to happen everywhere. A link to the design doc for this attribute is available at the Differential review link below. Differential Revision: http://reviews.llvm.org/D13263 llvm-svn: 254554
* [OpenMP] Update target directive codegen to use 4.5 implicit data mappings.Samuel Antao2015-12-022-17/+15
| | | | | | | | | | | | | | | Summary: This patch implements the 4.5 specification for the implicit data maps. OpenMP 4.5 specification changes the default way data is captured into a target region. All the non-aggregate kinds are passed by value by default. This required activating the capturing by value during SEMA for the target region. All the non-aggregate values that can be encoded in the size of a pointer are properly casted and forwarded to the runtime library. On top of fixing the previous weird behavior for mapping pointers in nested data regions (an explicit map was always required), this also improves performance as the number of allocations/transactions to the device per non-aggregate map are reduced from two to only one - instead of passing a reference and the value, only the value passed. Explicit maps will be added later on once firstprivate, private, and map clauses' SEMA and parsing are available. Reviewers: hfinkel, rjmccall, ABataev Subscribers: cfe-commits, carlo.bertolli Differential Revision: http://reviews.llvm.org/D14940 llvm-svn: 254521
* Making the deleted copy constructor parameter const; NFC.Aaron Ballman2015-12-021-1/+1
| | | | llvm-svn: 254520
* Add a narrowing AST matcher that matches on a FunctionDecl with a ↵Aaron Ballman2015-12-021-0/+28
| | | | | | non-throwing exception specification. llvm-svn: 254516
* Amending r254423 by deleting the copy constructor and adding a move ↵Aaron Ballman2015-12-021-0/+7
| | | | | | constructor instead; NFC as neither of these constructors are currently called, but this is a safer design. llvm-svn: 254515
* Traverse the NestedNameSpecifier(Loc) of NamespaceAliasDecls.Daniel Jasper2015-12-021-0/+2
| | | | | Review: http://reviews.llvm.org/D15149 llvm-svn: 254510
* Clang-format an 80-column violation.Adrian Prantl2015-12-011-2/+6
| | | | llvm-svn: 254455
* Add an accessor to Decl::LoadedFieldsFromExternalStorage for LLDB.Adrian Prantl2015-12-011-1/+4
| | | | | | | Patch by Greg Clayton Reviewed by Doug Gregor llvm-svn: 254451
* It appears that this horrible mutating copy constructor is unused. Kill it ↵Aaron Ballman2015-12-011-5/+0
| | | | | | with fire. llvm-svn: 254423
* clang-format: Make it possible to turn off comment reflowing.Daniel Jasper2015-12-011-1/+4
| | | | llvm-svn: 254414
* [OPENMP 4.5] Parsing/sema analysis for 'priority' clause.Alexey Bataev2015-12-015-1/+70
| | | | | | OpenMP 4.5 defines new clause 'priority' for 'task', 'taskloop' and 'taskloop simd' directives. Added parsing and sema analysis for 'priority' clause in 'task' and 'taskloop' directives. llvm-svn: 254398
* [analyzer] Fix IssueHash generation.Gabor Horvath2015-12-011-2/+4
| | | | | | | | Differential Revision: http://reviews.llvm.org/D14919 Original patch by: Gyorgy Orban! llvm-svn: 254394
* [OPENMP 4.5] Parsing/sema analysis for 'taskloop' directive.Alexey Bataev2015-12-017-18/+133
| | | | | | Adds initial parsing and semantic analysis for 'taskloop' directive. llvm-svn: 254367
* Do not crash when dumping the objc_bridge_related attribute when its ↵Aaron Ballman2015-11-301-2/+2
| | | | | | | | optional arguments are not supplied. Patch thanks to Joe Ranieri! llvm-svn: 254303
* [X86] _mm256_permutevar8x32_ps should take an integer vector for its shuffle ↵Craig Topper2015-11-291-1/+1
| | | | | | index input. llvm-svn: 254270
* ARM v8.1a adds Advanced SIMD instructions for Rounding Double MultiplyAlexandros Lamprineas2015-11-291-0/+46
| | | | | | | | | | | | | | | | | | | | | | | | | Add/Subtract. The following instructions are added to AArch32 instruction set: - VQRDMLAH: Vector Saturating Rounding Doubling Multiply Accumulate Returning High Half - VQRDMLSH: Vector Saturating Rounding Doubling Multiply Subtract Returning High Half The following instructions are added to AArch64 instruction set: - SQRDMLAH: Signed Saturating Rounding Doubling Multiply Accumulate Returning High Half - SQRDMLSH: Signed Saturating Rounding Doubling Multiply Subtract Returning High Half This patch adds intrinsic and ACLE macro support for these instructions, as well as corresponding tests. Differential Revision: http://reviews.llvm.org/D14982 llvm-svn: 254250
* [OpenMP] Parsing and sema support for thread_limit clause.Kelvin Li2015-11-274-0/+69
| | | | | | http://reviews.llvm.org/D15029 llvm-svn: 254207
* [mips] Interrupt attribute support.Daniel Sanders2015-11-273-4/+64
| | | | | | | | | | | | | | Summary: This patch adds support for the interrupt attribute for mips32r2+. Patch by Simon Dardis. Reviewers: dsanders, aaron.ballman Subscribers: aaron.ballman, cfe-commits Differential Revision: http://reviews.llvm.org/D10802 llvm-svn: 254205
* Revert r254203: [mips] Interrupt attribute support.Daniel Sanders2015-11-273-64/+4
| | | | | | I forgot to credit the author. llvm-svn: 254204
* [mips] Interrupt attribute support.Daniel Sanders2015-11-273-4/+64
| | | | | | | | | | | | Summary: This patch adds support for the interrupt attribute for mips32r2+. Reviewers: dsanders, aaron.ballman Subscribers: aaron.ballman, cfe-commits Differential Revision: http://reviews.llvm.org/D10802 llvm-svn: 254203
* [OPENMP 4.5] Fixed rules for 'ordered' clause.Alexey Bataev2015-11-261-0/+4
| | | | | | According to OpenMP 4.5 the parameter of 'ordered' clause must be greater than or equal to the parameter of 'collapse' clause. Patch adds this rule. llvm-svn: 254141
* P0002R1: increment on expressions of type bool is no longer allowed in C++1z.Richard Smith2015-11-262-3/+8
| | | | llvm-svn: 254122
OpenPOWER on IntegriCloud