summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
* Revert "Fix test case in r214190. (It failed on my end.)"Larisse Voufo2014-07-291-2/+2
| | | | | | This was an accident. llvm-svn: 214202
* Fix test case in r214190. (It failed on my end.)Larisse Voufo2014-07-291-2/+2
| | | | llvm-svn: 214198
* Fix typo.Larisse Voufo2014-07-291-1/+1
| | | | llvm-svn: 214193
* Fix PR10177 where non-type template arguments to alias templates are not ↵Larisse Voufo2014-07-292-25/+34
| | | | | | marked as used in dependent contexts. The fix actually forces non-dependent names to be checked at template definition time as expected from the standard. llvm-svn: 214192
* [Debug Info] update testing case due to change in DIBuilder.Manman Ren2014-07-291-3/+2
| | | | | | This is the paired commit with llvm r214189. llvm-svn: 214190
* Modify how the loop hint attribute is printed as a lead-up to supporting ↵Tyler Nowicki2014-07-292-43/+31
| | | | | | | | constant expression values. Reviewed by Aaron Ballman llvm-svn: 214185
* DataflowWorklist.h - "We should have a description here of what this code ↵Artyom Skrobov2014-07-291-1/+4
| | | | | | does, not just where it's used." llvm-svn: 214183
* AArch64: Resolve some FIXMEs in CGBuiltin left over from backend mergeYi Kong2014-07-291-27/+16
| | | | | | | | | | | | Merge vrshr_n_v and vqshlu_n_v with ARM. Remove FIXME comments for others as they can't actually be shared. NFC. Differential Revision: http://reviews.llvm.org/D4697 llvm-svn: 214173
* [OPENMP] Additional comments for implicit 'flush' clause + removed unused ↵Alexey Bataev2014-07-292-3/+12
| | | | | | parameter from method classof(). llvm-svn: 214172
* 3.5 => 3.6Sylvestre Ledru2014-07-291-2/+2
| | | | llvm-svn: 214164
* Revert "Emit column debug information for loads"Tobias Grosser2014-07-295-21/+5
| | | | | | | | | | | | | | | | This broke the following gdb tests: gdb.base__annota1.exp gdb.base__consecutive.exp gdb.python__py-symtab.exp gdb.reverse__consecutive-precsave.exp gdb.reverse__consecutive-reverse.exp I will look into this. This reverts commit 214162. llvm-svn: 214163
* Emit column debug information for loadsTobias Grosser2014-07-295-5/+21
| | | | | | | | | This allows us to give more precise diagnostics. Diego kindly tested the impact on debug info size: "The increase on average debug sizes is 0.1%. The total file size increase is ~0%." llvm-svn: 214162
* [modules] Add testcase for a bug reduced from a selfhost issue. This bug wasRichard Smith2014-07-293-0/+9
| | | | | | | never present in Clang trunk, but was present in some of my development work, and it seems like a useful test to have. llvm-svn: 214154
* Revert accidentally-committed files in r214151.Richard Smith2014-07-293-9/+0
| | | | llvm-svn: 214152
* [modules] Add missing #include, found by modules build. We need a classRichard Smith2014-07-294-2/+10
| | | | | | definition in order to apply isa<...>. llvm-svn: 214151
* Fix up handling of ARM options for controlling strict alignment.Bob Wilson2014-07-293-24/+22
| | | | | | | | | | | | | | | | | | | | | | The -mstrict-align option was originally added in r167619 as a target- independent option. It was then changed in r167623 to be implemented with an ARM-specific backend option, even though the code remained in the target-independent Clang::ConstructJob function. This means that if you used the -mstrict-align option with a non-ARM target, you would still get the -arm-strict-align option getting passed to the backend, which was harmless but gross. The driver option was then replaced by the GCC-compatible -m[no-]unaligned-access option (r189175) and modified to work with AArch64 (r208075). However, in the process, the help text for -mstrict-align was incorrectly changed to show it as only being supported for AArch64. Even worse, the logic for handling these options together with -mkernel was wrong for AArch64, where -mkernel does not currently imply strict alignment. This patch fixes up all of those things. Besides the obvious change to the option help text, it moves the logic into the ARM and AArch64-specific parts of the driver, so that the option will be correctly ignored for non-ARM targets. <rdar://problem/17823697> llvm-svn: 214148
* Add a location to MS inline asm blobsReid Kleckner2014-07-281-2/+7
| | | | | | | | | | | | | | | | | | | | | | This isn't nearly as elaborate as the GCC inline asm which emits an array of source locations, but it's very, very hard to trigger backend diagnostics in MS inline asm because we parse it up front with good source information, unlike GCC inline asm. Currently I can trigger a "inline assembly requires more registers than available" diagnostic with this code: void foo(); void bar() { __asm pusha __asm call foo __asm popa } However, if I committed that as a test case, I would have to remove it once I fix PR20052. llvm-svn: 214141
* Remove a nonsense friend declaration.Richard Smith2014-07-281-2/+0
| | | | llvm-svn: 214136
* [Debug Info] add DISubroutineType and its creation takes DITypeArray.Manman Ren2014-07-282-10/+11
| | | | | | | This is the last patch to unique the type array of a subroutine type. This is the paired commit with llvm r214132. llvm-svn: 214133
* [modules] PR20475: merging support for alias template declarations.Richard Smith2014-07-283-0/+7
| | | | llvm-svn: 214124
* Change __INTx_TYPE__ to be always signed. This changes the value forJoerg Sonnenberger2014-07-284-158/+158
| | | | | | | | | | char-based types from "char" to "signed char". Adjust stdint.h to use __INTx_TYPE__ directly without prefixing it with signed and to use __UINTx_TYPE__ for unsigned ones. The value of __INTx_TYPE__ now matches GCC. llvm-svn: 214119
* [Debug Info] rename getTypeArray to getElements, setTypeArray to setArrays.Manman Ren2014-07-281-6/+6
| | | | | | This is the paired commit with llvm r214112. llvm-svn: 214113
* Add another keyword-selection flag to CorrectionCandidateCallback.Kaelyn Takata2014-07-283-5/+25
| | | | | | | | | | The new flag, WantFunctionLikeCasts, covers a subset of the keywords covered by WantTypeSpecifiers that can be used in casts that look like function calls, e.g. "return long(5);", while excluding the keywords like "enum" and "const" that would be included when WantTypeSpecifiers is true but cannot be used in something that looks like a function call. llvm-svn: 214109
* Fix MSVC warnings about falling off the end of a non-void functionReid Kleckner2014-07-281-0/+1
| | | | llvm-svn: 214103
* [AVX512] Add non-masking FP store intrinsicsAdam Nemet2014-07-282-0/+52
| | | | | | Part of <rdar://problem/17688758> llvm-svn: 214099
* [AVX512] Add FP add/sub/mul intrinsicsAdam Nemet2014-07-282-0/+64
| | | | | | Part of <rdar://problem/17688758> llvm-svn: 214098
* [AVX512] Reorder functions in avx512fintrin.hAdam Nemet2014-07-281-335/+353
| | | | | | | | | There is no functional change here. The idea is to have a similar order and categories of functions that we have in avxintrin.h. llvm-svn: 214097
* [AVX512] Bring the formatting of avx512fintrin.h closer to avxintrin.hAdam Nemet2014-07-281-60/+60
| | | | llvm-svn: 214096
* [AVX512] Add CHECK-LABELs to test/CodeGen/avx512f-builtins.cAdam Nemet2014-07-281-0/+4
| | | | llvm-svn: 214095
* Objective-C. Improve diagnostic when property isFariborz Jahanian2014-07-286-6/+6
| | | | | | | not auto synthesized in current implementation. rdar://17774815 llvm-svn: 214090
* Thread Safety Analysis: Replace the old and broken SExpr with the newDeLesley Hutchins2014-07-2810-877/+817
| | | | | | | | til::SExpr. This is a large patch, with many small changes to pretty printing and expression lowering to make the new SExpr representation equivalent in functionality to the old. llvm-svn: 214089
* [TEST] Improve tests for #pragma clang optimize off/onDario Domizioli2014-07-283-1/+53
| | | | | | | | Added coverage for: * More than one "off region" in the same file * An "off region" falling off the end of an included file llvm-svn: 214086
* clang-format: [proto] Improve formatting of text-proto options.Daniel Jasper2014-07-283-5/+27
| | | | | | Initial patch and tests by Kaushik Sridharan, thank you! llvm-svn: 214084
* clang-format: Improve operator and template recognition.Daniel Jasper2014-07-282-8/+5
| | | | | | | | | | Before: static_assert(is_convertible < A &&, B > ::value, "AAA"); After: static_assert(is_convertible<A &&, B>::value, "AAA"); llvm-svn: 214075
* [PowerPC] Support ELFv1/ELFv2 ABI selection via -mabi= optionUlrich Weigand2014-07-288-7/+184
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While Clang now supports both ELFv1 and ELFv2 ABIs, their use is currently hard-coded via the target triple: powerpc64-linux is always ELFv1, while powerpc64le-linux is always ELFv2. These are of course the most common scenarios, but in principle it is possible to support the ELFv2 ABI on big-endian or the ELFv1 ABI on little-endian systems (and GCC does support that), and there are some special use cases for that (e.g. certain Linux kernel versions could only be built using ELFv1 on LE). This patch implements the Clang side of supporting this, based on the LLVM commit 214072. The command line options -mabi=elfv1 or -mabi=elfv2 select the desired ABI if present. (If not, Clang uses the same default rules as now.) Specifically, the patch implements the following changes based on the presence of the -mabi= option: In the driver: - Pass the appropiate -target-abi flag to the back-end - Select the correct dynamic loader version (/lib64/ld64.so.[12]) In the preprocessor: - Define _CALL_ELF to the appropriate value (1 or 2) In the compiler back-end: - Select the correct ABI in TargetInfo.cpp - Select the desired ABI for LLVM via feature (elfv1/elfv2) llvm-svn: 214074
* clang-format: Improve pointer/reference detection.Daniel Jasper2014-07-282-4/+6
| | | | | | | | | | Before (with left pointer alignment): void f(int i = 0, SomeType* *temps = NULL); After: void f(int i = 0, SomeType** temps = NULL); llvm-svn: 214071
* clang-format: Fix unary operator recognition.Daniel Jasper2014-07-282-1/+2
| | | | | | | | | | Before: int x = ~ * p; After: int x = ~*p; llvm-svn: 214070
* clang-format: Fix formatting of lock annotations in lambda definitions.Daniel Jasper2014-07-282-0/+5
| | | | | | | | | | Before: SomeFunction([](int i)LOCKS_EXCLUDED(a) {}); After: SomeFunction([](int i) LOCKS_EXCLUDED(a) {}); llvm-svn: 214069
* DataflowWorklist.h: Appease msc17 -- Split a private constructor to ↵NAKAMURA Takumi2014-07-281-3/+7
| | | | | | | | DataflowWorklistBase. MSC17 isn't capable to invoke other constructors in its scope. llvm-svn: 214067
* Factoring DataflowWorklist out of LiveVariables and UninitializedValues analysesArtyom Skrobov2014-07-285-117/+149
| | | | llvm-svn: 214064
* Add missing override keyword to OpenBSD IsIntegratedAssemblerDefault().Brad Smith2014-07-281-1/+1
| | | | llvm-svn: 214060
* Wrap to 80 columns. No behavior change.Nico Weber2014-07-283-38/+36
| | | | llvm-svn: 214059
* Fix default argument comma disambiguation bug following the 'template' keyword.Richard Smith2014-07-272-0/+7
| | | | llvm-svn: 214051
* When looking for temporary dtors while building the CFG, do not walk intoRichard Smith2014-07-273-1/+54
| | | | | | | | | | lambda expressions (other than their capture initializers) nor blocks. Do walk into default argument expressions and default initializer expressions. These bugs were causing us to produce broken CFGs whenever a lambda expression was used to initialize a libstdc++ std::function object! llvm-svn: 214050
* [modules] Add some missing record names. We really should be generating this ↵Richard Smith2014-07-271-2/+8
| | | | | | from a .def file or similar... llvm-svn: 214049
* [modules] Add abbreviation for ImplicitCastExpr. This is the most commonRichard Smith2014-07-274-9/+36
| | | | | | record type in LLVM's IR module. llvm-svn: 214048
* Wrap to 80 columns. No behavior change.Nico Weber2014-07-271-4/+3
| | | | llvm-svn: 214047
* Wrap to 80 columns. No behavior change.Nico Weber2014-07-261-4/+5
| | | | llvm-svn: 214038
* Wrap to 80 columns, no functionality change.Nico Weber2014-07-261-2/+2
| | | | llvm-svn: 214036
* Objective-C. Issue more warning diagnostic when certainFariborz Jahanian2014-07-269-28/+54
| | | | | | | | properties are not synthesized in property auto-synthesis, as it can potentiall lead to runtime errors. rdar://17774815 llvm-svn: 214032
OpenPOWER on IntegriCloud