summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
...
* ARM: Add ACLE memory barrier intrinsic mappingYi Kong2014-07-172-2/+31
| | | | llvm-svn: 213261
* Revert "Handle diagnostic warnings in Frontend diagnostic handler."Alp Toker2014-07-173-31/+12
| | | | | | | | | | | This commit is missing tests and there are a few points that need to be addressed before a new user-facing option can be added: http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20140714/110198.html This reverts commit r213112. llvm-svn: 213260
* Fixing the objc_runtine_name documentation so that the code block is ↵Aaron Ballman2014-07-171-11/+11
| | | | | | properly generated. llvm-svn: 213259
* clang-format: Fix parsing of conditional expressions.Daniel Jasper2014-07-172-1/+6
| | | | | | | | | | | | | | | Before: aaaaaa = aaaaaaaaaaaa ? aaaaaaaaaa ? aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa : aaaaaaaaaaaaaaaaaaaaaa : aaaaaaaaaaaaaaaaaaaaaaaaaaaa; After: aaaaaa = aaaaaaaaaaaa ? aaaaaaaaaa ? aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa : aaaaaaaaaaaaaaaaaaaaaa : aaaaaaaaaaaaaaaaaaaaaaaaaaaa; llvm-svn: 213258
* [OPENMP] Initial support for parsing and sema analysis of 'untied' clause.Alexey Bataev2014-07-1716-7/+97
| | | | llvm-svn: 213257
* Upstream an MS inline assembly test from Mozilla's inline assembly codeEhsan Akhgari2014-07-171-0/+61
| | | | | | | | | | | | | | | Summary: I'm planning on upstreaming some test cases for the inline assembly usage in the Mozilla code base. A lot of these test cases test the recent fixes to this code. Reviewers: rnk Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D4508 llvm-svn: 213255
* Port memory barriers intrinsics to AArch64Yi Kong2014-07-174-1/+29
| | | | | | | | | | | | | Memory barrier __builtin_arm_[dmb, dsb, isb] intrinsics are required to implement their corresponding ACLE and MSVC intrinsics. This patch ports ARM dmb, dsb, isb intrinsic to AArch64. Requires LLVM r213247. Differential Revision: http://reviews.llvm.org/D4521 llvm-svn: 213250
* IR: update Clang to use polymorphic __fp16 conversion intrinsics.Tim Northover2014-07-172-137/+144
| | | | | | There should be no change in semantics at this stage. llvm-svn: 213249
* [mips] Pass the ABI to the integrated assembler and add tests the existing ↵Daniel Sanders2014-07-172-0/+218
| | | | | | | | | | | | | | | | | arguments. Summary: With this patch (and a corresponding LLVM patch), assembling an empty file with GCC and Clang -fintegrated-as produce near identical objects. The remaining differences are: * GCC/GAS produce objects have a .pdr section * GCC/GAS produce objects have a .gnu.attributes section Other differences are insignificant such as precise file offsets and the order of strings in the string table. Differential Revision: http://reviews.llvm.org/D4531 llvm-svn: 213241
* [OPENMP] Parsing/Sema analysis of directive 'master'Alexander Musman2014-07-1726-10/+554
| | | | llvm-svn: 213237
* Consistency on the tab/spaceSylvestre Ledru2014-07-171-18/+18
| | | | llvm-svn: 213236
* Fix Bug 14061 - scan-build crashes during postprocessing if BUGFILE no ↵Sylvestre Ledru2014-07-171-0/+4
| | | | | | | | | | longer exists Experienced with Thunderbird build Patch by Matti Niemenmaa llvm-svn: 213235
* [OPENMP] Initial parsing and sema analysis for 'final' clause.Alexey Bataev2014-07-1716-12/+212
| | | | llvm-svn: 213232
* Track the difference betweenRichard Smith2014-07-1712-35/+82
| | | | | | | | | | | | -- a constructor list initialization that unpacked an initializer list into constructor arguments and -- a list initialization that created as std::initializer_list and passed it as the first argument to a constructor in the AST. Use this flag while instantiating templates to provide the right semantics for the resulting initialization. llvm-svn: 213224
* Fix FriendDecl source location and range for class templates and function ↵Nikola Smiljanic2014-07-176-12/+149
| | | | | | declarations that don't start with 'friend' keyword. Add more unittests. llvm-svn: 213220
* MS ABI: Padding injected between empty vbases doesn't up required alignDavid Majnemer2014-07-172-1/+58
| | | | | | Only alignment is changed, not required alignment. llvm-svn: 213217
* DebugInfo: Forward HandleTagDeclRequiredDefinition through MultiplexConsumer ↵David Blaikie2014-07-165-1/+34
| | | | | | | | | | | | | | | | | | | to fix debug info emission in the presence of plugins. When plugins are used the Multiplex(AST)Consumer is employed to dispatch to both the plugin ASTConsumers and the IRGen ASTConsumer. It wasn't dispatching a critical call for debug info, resulting in plugin users having a negative debugging experience. While I'm here, forward a bunch of other missing calls through the consumer that seem like they should be there. To test this, use the example plugin (requires plugins and examples) and split the test case up so that the plugin testing can be done under that requirement while the non-plugin testing will execute even in builds that don't include plugin support or examples. llvm-svn: 213213
* Revert "Stuff"David Blaikie2014-07-161-2/+1
| | | | | | | | This reverts commit r213210. Accidental commit. llvm-svn: 213212
* DebugInfo: Ensure the ASTConsumer "HandleTagDeclRequireDefinition" callback ↵David Blaikie2014-07-161-5/+3
| | | | | | | | | | | | | | | | | | | | | path is tested. By having the two variables 'a' and 'b' in this test in a namespace, the type was required to be complete before any debug info was ever emitted (the entire namespace is parsed before the variables were emitted), this meant that the codepath in which a declaration is emitted, then later on the type is required to be complete and the debug info must be upgraded to a definition was not used. Moving the variables outside a namespace fixes this test coverage bug. (interestingly, code coverage didn't help here - HandleTagDeclRequireDefinition is fully covered because it's called even in cases where the type hasn't been emitted for debug info at all (further down in CGDebugInfo this no-ops) - so CC wouldn't've helped catch this test coverage problem) llvm-svn: 213211
* StuffDavid Blaikie2014-07-161-1/+2
| | | | llvm-svn: 213210
* Add basic (noop) CodeGen support for __assumeHal Finkel2014-07-162-0/+11
| | | | | | | | | | | | | | Clang supports __assume, at least at the semantic level, when MS extensions are enabled. Unfortunately, trying to actually compile code using __assume would result in this error: error: cannot compile this builtin function yet __assume is an optimizer hint, and can be ignored at the IR level. Until LLVM supports assumptions at the IR level, a noop lowering is valid, and that is what is done here. llvm-svn: 213206
* When list-initializing an object of class type, if we pick an initializer listRichard Smith2014-07-163-19/+45
| | | | | | | | | constructor (and pass it an implicitly-generated std::initializer_list object), be sure to mark the resulting construction as list-initialization. This fixes an assert in template instantiation where we previously thought we'd got direct non-list initialization without any parentheses. llvm-svn: 213201
* Typically linker options are protected with -Xlinker or -Wl,Arthur Marble2014-07-163-6/+13
| | | | | | | | however certain sloppy Makefiles pass -z options directly to the compiler. This patch enables clang to recognize these options (because -z is not used by clang itself). llvm-svn: 213198
* Specifying the diagnostic argument through the attribute table generator ↵Aaron Ballman2014-07-162-5/+6
| | | | | | | | instead of having to enter it manually as part of the attribute subject list. This only affects attributes appertaining to ObjC interfaces and protocols. No new tests required as this is covered by existing tests. llvm-svn: 213193
* Objective-C. Modify text of documentation for objc_runtime_nameFariborz Jahanian2014-07-161-3/+5
| | | | | | attribute. llvm-svn: 213192
* Removing a FIXME from the attribute parsing code by now passing along the ↵Aaron Ballman2014-07-162-36/+52
| | | | | | scope and syntax information for attributes with custom parsing. It turns out not to matter too much because the FIXME wasn't quite true -- none of these attributes have a C++11 spelling. However, it's still a good change (for instance, we may add an attribute with a type arg in the future for which this code now behaves properly). llvm-svn: 213191
* Objective-C. Changes per A. Ballman's commentFariborz Jahanian2014-07-166-18/+89
| | | | | | for my last patch. // rdar://17631257 llvm-svn: 213185
* Remove whitespace from test commit.Arthur Marble2014-07-161-1/+0
| | | | llvm-svn: 213184
* Test commit.Arthur Marble2014-07-161-0/+1
| | | | llvm-svn: 213182
* Add the --target option to clang-cl and use it to fix a test.Reid Kleckner2014-07-162-2/+2
| | | | llvm-svn: 213180
* Don't use -msse2 in test/Driver/cl-options.cHans Wennborg2014-07-161-1/+0
| | | | | | | It's already tested in cl-x86-flags.c, and can only be used when targeting X86. llvm-svn: 213179
* Simplify memory management in NestedNameSpecifierLocBuilder.Serge Pavlov2014-07-161-8/+4
| | | | | | | With this change the memory of buffer in NestedNameSpecifierLocBuilder is allocated in one place. It also prevents from allocation of tiny blocks. llvm-svn: 213178
* [Driver][Mips] If CPU name is not provided to the driver explicitly useSimon Atanasyan2014-07-162-19/+111
| | | | | | multilibs from the FSFS toolchain corresponding to the mips32r2/mips64r2 CPUs. llvm-svn: 213175
* Make clang's rewrite engine a core featureAlp Toker2014-07-1656-153/+91
| | | | | | | | | | | | | | | The rewrite facility's footprint is small so it's not worth going to these lengths to support disabling at configure time, particularly since key compiler features now depend on it. Meanwhile the Objective-C rewriters have been moved under the ENABLE_CLANG_ARCMT umbrella for now as they're comparatively heavy and still potentially worth excluding from lightweight builds. Tests are now passing with any combination of feature flags. The flags historically haven't been tested by LLVM's build servers so caveat emptor. llvm-svn: 213171
* clang-cl: expand test coverage for "core" optionsHans Wennborg2014-07-161-2/+9
| | | | llvm-svn: 213170
* Objective-C. Introducing __attribute__((objc_runtime_name("runtimename"))Fariborz Jahanian2014-07-1610-114/+372
| | | | | | | | | to be applied to class or protocols. This will direct IRGen for Objective-C metadata to use the new name in various places where class and protocol names are needed. rdar:// 17631257 llvm-svn: 213167
* Expand the wildcard expansion test to also cover '?'Hans Wennborg2014-07-161-0/+1
| | | | llvm-svn: 213165
* clang-cl: make sure we still parse -fms-version= after r213119Hans Wennborg2014-07-162-1/+7
| | | | | | The CoreOption flag got lost in the changes. llvm-svn: 213164
* Revert "clang/test/Driver/crash-report.c: This requires rewriter for ↵Alp Toker2014-07-1645-33/+1
| | | | | | | | | | | | | | | | | | | | | -frewrite-includes. [PR20321]" We've decided to make the core rewriter class and PP rewriters mandatory. They're only a few hundred lines of code in total and not worth supporting as a distinct build configuration, especially since doing so disables key compiler features. This reverts commit r213150. Revert "clang/test: Introduce the feature "rewriter" for --enable-clang-rewriter." This reverts commit r213148. Revert "Move clang/test/Frontend/rewrite-*.c to clang/test/Frontend/Rewriter/" This reverts commit r213146. llvm-svn: 213159
* [ASTMatchers] Add a usingDirectiveDecl matcher.Benjamin Kramer2014-07-162-0/+19
| | | | | | | | This matches 'using namespace' declarations. Differential Revision: http://reviews.llvm.org/D4517 llvm-svn: 213152
* clang/test/Driver/crash-report.c: This requires rewriter for ↵NAKAMURA Takumi2014-07-161-0/+3
| | | | | | -frewrite-includes. [PR20321] llvm-svn: 213150
* clang/test: Introduce the feature "rewriter" for --enable-clang-rewriter.NAKAMURA Takumi2014-07-1623-0/+29
| | | | llvm-svn: 213148
* Move clang/test/Frontend/rewrite-*.c to clang/test/Frontend/Rewriter/NAKAMURA Takumi2014-07-1621-1/+1
| | | | llvm-svn: 213146
* Trailing linefeed.NAKAMURA Takumi2014-07-161-2/+0
| | | | llvm-svn: 213145
* [Driver][Mips] Reduce code duplication - use existing functionSimon Atanasyan2014-07-163-25/+24
| | | | | | | | getMipsCPUAndABI() to get MIPS ABI name during multi-library selection. No functional changes. llvm-svn: 213143
* [Driver][Mips] Remove flags which is not used in multi-library selection.Simon Atanasyan2014-07-161-2/+0
| | | | | | No functional changes. llvm-svn: 213142
* [Driver][Mips] Reduce code duplication. Remove static isMipsNan2008() function.Simon Atanasyan2014-07-161-6/+2
| | | | | | Use the tools::mips::isNaN2008() routine instead. llvm-svn: 213141
* clang/test: Introduce the feature "staticanalyzer" for ↵NAKAMURA Takumi2014-07-163-0/+8
| | | | | | --enable-clang-static-analyzer. llvm-svn: 213140
* clang/test/Sema/warn-documentation-almost-trailing.c: Rewrite checks with @LINE.NAKAMURA Takumi2014-07-161-3/+2
| | | | llvm-svn: 213139
* [mips] Correct the invocation of GAS in several cases.Daniel Sanders2014-07-164-59/+157
| | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: As a result of this patch, assembling an empty file with GCC and Clang (using GAS as the assembler) now produces identical objects. -mfp32/-mfpxx/-mfp64 now form a trinity of options. -mfpxx is the default when the triple vendor is 'img' or 'mti', the ABI is O32, and the CPU is between mips2 and mips32r2/mips64r2 (inclusive). -mno-shared is always given to the assembler to match the effect of -mabicalls (currently unimplemented but Clang acts as if it is given). Similarly, -call_nonpic is always given to match the effect of -mplt (also unimplemented and acts as if given) except when the ABI is 64 in which case -mplt has no effect so -KPIC is given instead. -mhard-float/-msoft-float are now passed on. -modd-spreg/-mno-odd-spreg are now passed on. -mno-mips16 is correctly passed on. The assembler option is -no-mips16 not -mno-mips16 Differential Revision: http://reviews.llvm.org/D4515 llvm-svn: 213138
OpenPOWER on IntegriCloud