summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic
Commit message (Collapse)AuthorAgeFilesLines
* Improve diagnostic mapping terminologyAlp Toker2014-06-103-56/+55
| | | | | | | | | | | | Diagnostic mappings are used to calculate the final severity of diagnostic instances. Detangle the implementation to reflect the terminology used in documentation and bindings. No change in functionality. llvm-svn: 210518
* Show -Wdate-time in system headersAlp Toker2014-06-101-13/+6
| | | | | | | | | | Anyone enabling this warning would expect to hear about all occurrences including those in system headers that can cause non-reproducible builds. To achieve this, rework ShowInSystemHeader to remove broken unused mapping code that didn't make sense with a simpler and correct scheme. llvm-svn: 210512
* StringRefize TargetInfo::getABI()Alp Toker2014-06-071-4/+4
| | | | llvm-svn: 210402
* Revert "Revert "Devise a package-private means to determine the LLVM version ↵Alp Toker2014-06-061-2/+2
| | | | | | | | | | | string"" We probably just need to touch LLVM's configure this time to work around the totally inadequate Makefile build server integration. This reverts commit r210314. llvm-svn: 210320
* Revert "Devise a package-private means to determine the LLVM version string"Alp Toker2014-06-061-2/+2
| | | | | | | | This didn't work out on the build servers. Investigating This reverts commit r210313. llvm-svn: 210314
* Devise a package-private means to determine the LLVM version stringAlp Toker2014-06-061-2/+2
| | | | | | | | | | This will unbreak clang vendor builds as a follow-up to r210238, now that we can't poke into LLVM's private config.h (nor should the string be exposed by llvm-config.h). This hopefully removes for good the last include of LLVM's config.h. llvm-svn: 210313
* [mips] Add macros _MIPS_ISA and __mips_isa_rev (same expansion as defined by ↵Matheus Almeida2014-06-051-0/+15
| | | | | | | | | | | | | | GCC). Summary: The Linux Kernel is one example of a piece of software that relies on them. Reviewers: atanasyan Reviewed By: atanasyan Differential Revision: http://reviews.llvm.org/D3756 llvm-svn: 210270
* Changing this line of code back to the way it was before Alp's config.h ↵Puyan Lotfi2014-06-051-0/+1
| | | | | | | | | clean up changes. I've already spoken to Alp and he signed off on making this one change, so that our buildbots go green in the short term. llvm-svn: 210238
* [OPENMP] Parsing/Sema for OMPLasprivateClause.Alexander Musman2014-06-041-0/+2
| | | | | | Parsing this clause, allowing it on directive ‘omp simd’ and semantic checks. llvm-svn: 210184
* Remove the last remaining llvm/Config/config.h includesAlp Toker2014-06-041-1/+0
| | | | | | | | | | | | This corrects long-standing misuses of LLVM's internal config.h. In most cases the public llvm-config.h header was intended and we can now remove the old hacks thanks to LLVM r210144. The config.h header is private, won't be installed and should no longer be included by clang or other modules. llvm-svn: 210145
* Use make_error_code in preparation for making errc an enum class.Rafael Espindola2014-05-311-8/+8
| | | | llvm-svn: 209956
* Use error_code() instead of error_code::succes()Rafael Espindola2014-05-311-3/+3
| | | | | | | There is no std::error_code::success, so this removes much of the noise in transitioning to std::error_code. llvm-svn: 209949
* AArch64: combine arm64 & aarch64 cases in switchTim Northover2014-05-301-23/+5
| | | | | | | | There shouldn't be any difference in behaviour here, at least not in any configurations people care about and possibly not in any reachable configurations. llvm-svn: 209899
* Parsing/Sema for OMPAlignedClause.Alexander Musman2014-05-291-0/+2
| | | | llvm-svn: 209816
* Parsing/Sema for OMPCollapseClause.Alexander Musman2014-05-271-0/+2
| | | | | | Actual usage in Sema for collapsing loops will in some future patch. llvm-svn: 209660
* AArch64/ARM64: rename ARM64 components to AArch64Tim Northover2014-05-241-34/+34
| | | | | | This keeps Clang consistent with backend naming conventions. llvm-svn: 209579
* AArch64/ARM64: update Clang after AArch64 removal.Tim Northover2014-05-241-293/+22
| | | | | | | | | | | A few (mostly CodeGen) parts of Clang were tightly coupled to the AArch64 backend. Now that it's gone, they will not even compile. I've also deduplicated RUN lines in many of the AArch64 tests. This might improve "make check-all" time noticably: some of those NEON tests were monsters. llvm-svn: 209578
* Stopgap fix for finding module for a file mapped in the VFSBen Langmuir2014-05-233-2/+15
| | | | | | | | | | | | | | | | If we lookup a path using its 'real' path first, we need to ensure that when we run header search we still use the VFS-mapped path or we will not be able to find the corresponding module for the header. The real problem is that we tie the name of a file to its underlying FileEntry, which is uniqued by inode, so we only ever get the first name it is looked up by. This doesn't work with modules, which rely on a specific file system structure. I'm hoping to have time to write up a proposal for fixing this more permanently soon, but as a stopgap this patch updates the name of the file's directory if it comes from a VFS mapping. llvm-svn: 209534
* Remove limits on the number of fix-it hints and ranges in the DiagnosticsEngine.Alexander Kornienko2014-05-221-9/+6
| | | | | | | | | | | | | | | | | | | Summary: The limits on the number of fix-it hints and ranges attached to a diagnostic are arbitrary and don't apply universally to all users of the DiagnosticsEngine. The way the limits are enforced may lead to diagnostics generating invalid sets of fixes. I suggest removing the limits, which will also simplify the implementation. Reviewers: rsmith Reviewed By: rsmith Subscribers: klimek, cfe-commits Differential Revision: http://reviews.llvm.org/D3879 llvm-svn: 209468
* Update R600 datalayoutMatt Arsenault2014-05-221-1/+1
| | | | llvm-svn: 209464
* VirtualFileSystem: Fix a few directory traversal bugs in VFSWriterJustin Bogner2014-05-211-81/+92
| | | | | | | | | | | There are a couple of issues with writing VFS maps that are awkward to fix within the current mutually recursive approach. Instead, replace the algorithm with an iterative version that uses an explicit stack of directories. Includes tests for cases the old approach was tripping on. llvm-svn: 209332
* VirtualFileSystem: Fix false positives in YAMLVFSWriter::containedInJustin Bogner2014-05-201-1/+10
| | | | | | | | Checking if a path starts with another path isn't sufficient for determining if one is contained within the heirarchy of the other. We need to ensure that the substring ends at a directory boundary. llvm-svn: 209250
* VirtualFileSystem: Add YAMLVFSWriter to generate VFS mapping filesJustin Bogner2014-05-201-0/+116
| | | | | | | | | This moves the logic to write a JSON VFS mapping from the C api into VirtualFileSystem, so that we can use it internally. No functional change. llvm-svn: 209241
* Add __ARM_DWARF_EH__ to signify the use of Itanium ABI for unwindJoerg Sonnenberger2014-05-131-0/+11
| | | | | | instructions. llvm-svn: 208719
* [OPENMP] Removed unnecessary enums from OpenMP constructsAlexey Bataev2014-05-121-10/+4
| | | | llvm-svn: 208516
* Decouple ExprCXX.h and DeclCXX.h and clean up includes a bit.Benjamin Kramer2014-05-101-1/+3
| | | | | | | Required pulling LambdaExpr::Capture into its own header. No functionality change. llvm-svn: 208470
* [C++11] Use 'nullptr'.Craig Topper2014-05-0812-110/+109
| | | | llvm-svn: 208280
* [mips] Pass nan2008 info to the back-end.Matheus Almeida2014-05-071-3/+0
| | | | | | | | | | | | Summary: The initial support for NaN2008 was added to the back-end in r206396. Reviewers: atanasyan Reviewed By: atanasyan Differential Revision: http://reviews.llvm.org/D3448 llvm-svn: 208220
* [OPENMP] 'proc_bind' clause support - Parsing and sema analysis for OpenMP ↵Alexey Bataev2014-05-061-0/+15
| | | | | | clause 'proc_bind' llvm-svn: 208060
* [Basic/FileManager] Propagate whether a file 'IsVolatile' to the file ↵Argyrios Kyrtzidis2014-05-052-8/+15
| | | | | | | | opening functions. Needs llvm r208007. llvm-svn: 208008
* Target: fix wchar_t definition for Windows on ARMSaleem Abdulrasool2014-05-041-2/+9
| | | | | | | | Windows on ARM uses AAPCS, but has some deviations. wchar_t remains an unsigned short on WoA, which does not conform to AAPCS. Ensure that wchar_t is defined accordingly. llvm-svn: 207929
* Add support for -march=bdver4.Benjamin Kramer2014-05-021-0/+10
| | | | llvm-svn: 207848
* [ARM64/AArch64] Define the correct value for __ARM_NEON_FPBradley Smith2014-05-021-2/+2
| | | | llvm-svn: 207842
* [ARM64/AArch64] Hook up CRC32 subtarget feature to the driverBradley Smith2014-05-021-0/+14
| | | | llvm-svn: 207841
* Bitrig now supports TLS, so enable TLS support when targeting it. Patch by ↵Richard Smith2014-05-011-1/+0
| | | | | | Patrick Wildt! llvm-svn: 207812
* Reapply r207477 and r207479 without cyclic dependencyBen Langmuir2014-04-292-0/+201
| | | | | | | | Fixed by moving ProcessWarningOptions from Frontend into Basic. All of the dependencies for ProcessWarningOptions were already in Basic, so this was a small change. llvm-svn: 207549
* LLVM supports TLS on Windows and we can use it from ClangReid Kleckner2014-04-291-2/+0
| | | | | | | | Patch by Martell Malone! Differential Revision: http://reviews.llvm.org/D3421 llvm-svn: 207470
* [mips] Support 128-bit int in N32 ABI by overriding TargetInfo::hasInt128Type()Daniel Sanders2014-04-241-0/+2
| | | | | | | | | | | | | | Summary: The condition in the base class is rather strange. It says a target has the 128-bit integer type if the size of a pointer is >= 64-bits. N32 has 32-bit pointers but 64-bit integers. I'm a bit reluctant to change this for all targets so this patch makes the method virtual and overrides it for MIPS64. Reviewers: atanasyan Reviewed By: atanasyan Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D3472 llvm-svn: 207121
* [mips] Correct size_t and ptrdiff_t for N32.Daniel Sanders2014-04-241-10/+22
| | | | | | | | | | | | | | Summary: Correct size_t to be unsigned int and ptrdiff_t to be signed long. The types were the correct size before this change but the exact type matters for name mangling and exception handling in C++. Reviewers: atanasyan Reviewed By: atanasyan Differential Revision: http://reviews.llvm.org/D3470 llvm-svn: 207093
* Do not print inferred submodules explicitly in __inferred_module.mapBen Langmuir2014-04-231-4/+6
| | | | | | | | | | | | | | Otherwise including a header in your source file that is not included by framework's umbrella header will silently add an empty submodule with that name. is automatically translated to @import Foo.NotInModule; which then would have succeeded because the inferred module map contained an empty submodule called NotInModule. llvm-svn: 207024
* [ARM64] Change inline assembly constraints to be more lax, to match the ↵James Molloy2014-04-231-30/+21
| | | | | | | | behaviour of Clang/AArch64 and GCC. GCC allows sub-64bit values to use the 'r' register constraint. llvm-svn: 206963
* [OPENMP] parsing 'linear' clause (for directive 'omp simd')Alexander Musman2014-04-221-0/+2
| | | | | | Differential Revision: http://reviews.llvm.org/D3272 llvm-svn: 206891
* Try to fix bad Twine usage in r206791 with std::stringReid Kleckner2014-04-211-1/+3
| | | | | | | I'm pretty sure I was referencing destroyed temporaries here. I'm open to suggestions on how to write this better. llvm-svn: 206804
* MinGW: Define __stdcall&co when -fms-extensions is disabledReid Kleckner2014-04-211-22/+27
| | | | | | | | | | This is for compatibility with GCC. Reviewers: asl Differential Revision: http://reviews.llvm.org/D3444 llvm-svn: 206791
* Initialize clang::Module::IsMissingRequirement. Fix msan issue and hopefully ↵Richard Smith2014-04-211-6/+6
| | | | | | some builder failures. llvm-svn: 206736
* Fix a hole with nested unavailable submodules from r206664Ben Langmuir2014-04-181-3/+4
| | | | | | | | If a module doesn't meet a requirement, neither do its submodules. If we don't propogate that, we might think it's an error to be missing a header in one of those submodules. llvm-svn: 206673
* Don't build modules with (submodules with) missing headersBen Langmuir2014-04-181-0/+5
| | | | | | | | Unless they are in submodules that aren't available anyway, due to requirements not being met. Also, mark children as unavailable when the parent is. llvm-svn: 206664
* Add more constness to module-related APIsDmitri Gribenko2014-04-181-1/+1
| | | | llvm-svn: 206595
* [ARM64] Teach Targets.cpp about Cortex-A53 and Cortex-A57, and enable more ↵James Molloy2014-04-171-0/+1
| | | | | | tests. llvm-svn: 206463
* Revert "Move -fms-extensions predefined macros into InitPreprocessor"Reid Kleckner2014-04-161-0/+13
| | | | | | | | | | This reverts commit r206413. This was proposed before, but it's not clear if this is really a good idea: http://reviews.llvm.org/D3034 llvm-svn: 206415
OpenPOWER on IntegriCloud