summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic
Commit message (Collapse)AuthorAgeFilesLines
* Add a *San + modules FIXME.Richard Smith2013-02-071-0/+2
| | | | llvm-svn: 174565
* Add some missing PPC cpusBill Schmidt2013-02-011-9/+85
| | | | llvm-svn: 174215
* Add -mqpx and -mno-qpx feature flags to toggle use of the PPC QPX vector ↵Hal Finkel2013-02-011-1/+3
| | | | | | | | instruction set I've renamed the altivec test to ppc-features (because now there is more than one feature to test). llvm-svn: 174204
* Add PPC A2Q core and BG/Q preprocessor definitionsHal Finkel2013-02-011-2/+20
| | | | | | The a2q core is the variant of the a2 core used on the BG/Q supercomputers. llvm-svn: 174151
* Enable -fno-altivec, -mno-altivec for PowerPC.Bill Schmidt2013-02-011-0/+31
| | | | | | | | | | | Introduces these negation forms explicitly and uses them to control a new "altivec" target feature for PowerPC. This allows avoiding generating Altivec instructions on processors that support Altivec. The new test case verifies that the Altivec "lvx" instruction is not used when -fno-altivec is present on the command line. llvm-svn: 174140
* Add support for AArch64 target.Tim Northover2013-01-311-0/+188
| | | | | | | | | | | | | In cooperation with the LLVM patch, this should implement all scalar front-end parts of the C and C++ ABIs for AArch64. This patch excludes the NEON support also reviewed due to an outbreak of batshit insanity in our legal department. That will be committed soon bringing the changes to precisely what has been approved. Further reviews would be gratefully received. llvm-svn: 174055
* Changed to static_cast, due to post-commit review.Filipe Cabecinhas2013-01-301-2/+2
| | | | llvm-svn: 173980
* Cast to remove the narrowing conversion error in c++11.Filipe Cabecinhas2013-01-301-2/+2
| | | | llvm-svn: 173978
* Handle passing non-Qualtypes to %diff better. Instead of asserting, fall backRichard Trieu2013-01-301-5/+23
| | | | | | to printing the default case. This is a fix for PR15023. llvm-svn: 173965
* Move UTF conversion routines from clang/lib/Basic to llvm/lib/SupportDmitri Gribenko2013-01-303-649/+0
| | | | | | This is required to use them in TableGen. llvm-svn: 173924
* <limits.h> includes <linux/limits.h> on Linux, no need to special-case itDmitri Gribenko2013-01-261-3/+1
| | | | llvm-svn: 173578
* Since we're stuck with realpath for the header <-> module mapping,Douglas Gregor2013-01-261-0/+28
| | | | | | | | factor the realpath calls into FileManager::getCanonicalName() so we can cache the results of this epically slow operation. 5% speedup on my modules test, and realpath drops out of the profile. llvm-svn: 173542
* First pass at abstracting out a class for the target C++ ABI.John McCall2013-01-252-2/+19
| | | | llvm-svn: 173514
* PowerPC: fix __builtin_eh_return_data_regno returnAdhemerval Zanella2013-01-221-0/+5
| | | | llvm-svn: 173188
* [mips] Enable inlining of atomic ops on mips32 and mips64.Akira Hatanaka2013-01-181-0/+2
| | | | llvm-svn: 172855
* [ubsan] Add support for -fsanitize-blacklistWill Dietz2013-01-182-2/+8
| | | | llvm-svn: 172808
* Implement parsing, AST, (de-)serialization, and placeholder globalDouglas Gregor2013-01-141-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | metadata for linking against the libraries/frameworks for imported modules. The module map language is extended with a new "link" directive that specifies what library or framework to link against when a module is imported, e.g., link "clangAST" or link framework "MyFramework" Importing the corresponding module (or any of its submodules) will eventually link against the named library/framework. For now, I've added some placeholder global metadata that encodes the imported libraries/frameworks, so that we can test that this information gets through to the IR. The format of the data is still under discussion. llvm-svn: 172437
* Remove useless 'llvm::' qualifier from names like StringRef and others that areDmitri Gribenko2013-01-124-19/+17
| | | | | | brought into 'clang' namespace by clang/Basic/LLVM.h llvm-svn: 172323
* Fix -Wunused-comparison for comparisons in arguments to function-like macros.Matt Beaumont-Gay2013-01-121-2/+9
| | | | | | | | | | | Previously, -Wunused-comparison ignored comparisons in both macro bodies and macro arguments, but we would still emit a -Wunused-value warning for either. Now we correctly emit -Wunused-comparison for expressions in macro arguments. Also, add isMacroBodyExpansion to SourceManager, to go along with isMacroArgExpansion. llvm-svn: 172279
* Enable intel_ocl_bicc for x86_64 target only. Remove fix from 171969 that ↵Guy Benyei2013-01-101-1/+3
| | | | | | enabled this extension for multiple targets. llvm-svn: 172052
* [mips] Fix data layout string. Add 64 to the list of native integer widthsAkira Hatanaka2013-01-051-6/+6
| | | | | | and add stack alignment information. llvm-svn: 171588
* DiagnosticIds: Fix offset/ID calculation, no impact outside this code.Argyrios Kyrtzidis2013-01-021-2/+4
| | | | | | | | | | | | Patch by Will Dietz: Minor touchup so the values of Offset/ID reflect their intention. Previously, the sum (Offset+ID) was correct, but Offset/ID individually were wrong. Caught by investigating unsigned overflow reported by -fsanitize=integer. llvm-svn: 171421
* Correct Hexagon DataLayout string. Fixes bug 14744.Anshuman Dasgupta2013-01-021-1/+1
| | | | | | Patch by Krzysztof Parzyszek! llvm-svn: 171415
* s/CXX0X/CXX11/g, except for __GNU_EXPERIMENTAL_CXX0X__, and update a few ↵Richard Smith2013-01-021-3/+3
| | | | | | nearby 'C++0x' comments. llvm-svn: 171372
* Rewrite #includes for llvm/Foo.h to llvm/IR/Foo.h as appropriate toChandler Carruth2013-01-021-1/+1
| | | | | | | | reflect the migration in r171366. Re-sort the #include lines to reflect the new paths. llvm-svn: 171369
* s/CPlusPlus0x/CPlusPlus11/gRichard Smith2013-01-024-5/+5
| | | | llvm-svn: 171367
* Add intel_ocl_bicc calling convention as a function attribute to clang. The ↵Guy Benyei2012-12-251-1/+2
| | | | | | calling convention is already implemented in LLVM. llvm-svn: 171056
* Add ARM cortex-r5 subtarget as available mcpuQuentin Colombet2012-12-211-0/+2
| | | | llvm-svn: 170909
* Remove namespace qualifier that lead to build breakage.Daniel Jasper2012-12-201-2/+2
| | | | llvm-svn: 170759
* Move operator precedence calculation to new headerDaniel Jasper2012-12-202-0/+77
| | | | | | | Thereby, it can be reused by clang-format and others. Review: http://llvm-reviews.chandlerc.com/D229 llvm-svn: 170757
* Revert r170500. It over-zealously converted *ALL* things named Attributes, ↵Bill Wendling2012-12-201-6/+6
| | | | | | which is wrong here. llvm-svn: 170721
* Fix code that attempted to produce a diagnostic with one DiagnosticEngine, thenRichard Smith2012-12-201-5/+1
| | | | | | | | produce a note for that diagnostic either with a different DiagnosticEngine or after calling DiagnosticEngine::Reset(). That didn't make any sense, and did the wrong thing if the original diagnostic was suppressed. llvm-svn: 170636
* Rename the 'Attributes' class to 'Attribute'. It's going to represent a ↵Bill Wendling2012-12-191-6/+6
| | | | | | single attribute in the future. llvm-svn: 170500
* Don't use SourceLineCache in getColumnNumber if LastLineNoResult is past the ↵Craig Topper2012-12-161-1/+2
| | | | | | end of the cache. Fixes PR14570. llvm-svn: 170281
* Targets.cpp: [cygwin] Add the predefined macro "_X86_", according to newer ↵NAKAMURA Takumi2012-12-141-0/+1
| | | | | | version of cygwin/w32api. llvm-svn: 170188
* Remove little endian specification from SPIR data layout - SPIR doesn't ↵Guy Benyei2012-12-131-2/+2
| | | | | | define endiannes in the data layout. llvm-svn: 170125
* Initial support for FreeBSD on ARM.Rafael Espindola2012-12-131-1/+3
| | | | | | Patch by Andrew Turner. llvm-svn: 170096
* PR14581: Make SourceLocation::printToString work, or it will always return ↵Benjamin Kramer2012-12-121-1/+1
| | | | | | | | an empty string. No test case, this is debugging code. llvm-svn: 169980
* Use @import rather than @__experimental_modules_import, since theDouglas Gregor2012-12-111-1/+1
| | | | | | latter is rather a mess to type. llvm-svn: 169919
* Add SPIR32/SPIR64 targets to ClangGuy Benyei2012-12-111-0/+98
| | | | llvm-svn: 169917
* Speed up looking up static diagnostic infos.Benjamin Kramer2012-12-111-8/+41
| | | | | | | | | | | Instead of doing a binary search over the whole diagnostic table (which weighs a whopping 48k on x86_64), use the existing enums to compute the index in the table. This avoids loading any unneeded data from the table and avoids littering CPU caches with it. This code is in a hot path for code with many diagnostics. 1% speedup on -fsyntax-only gcc.c, which emits a lot of warnings. llvm-svn: 169890
* Extend stat query APIs to explicitly specify if the query is forArgyrios Kyrtzidis2012-12-112-21/+19
| | | | | | | | | | a file or directory, allowing just a stat call if a file descriptor is not needed. Doing just 'stat' is faster than 'open/fstat/close'. This has the effect of cutting down system time for validating the input files of a PCH. llvm-svn: 169831
* Virtual method overrides can no longer have mismatched calling conventions. ↵Aaron Ballman2012-12-091-4/+4
| | | | | | This fixes PR14339. llvm-svn: 169705
* long double should be 64 bits on FreeBSD/MIPS64. It possibly should be onDavid Chisnall2012-12-081-0/+4
| | | | | | | | Linux too, as I think we inherited it from there. The ABI spec says 128-bit, although I think SGI's compiler on IRIX may be the only thing ever to support this. llvm-svn: 169674
* Fix analysis based warnings so that all warnings are emitted when compilingDeLesley Hutchins2012-12-072-0/+5
| | | | | | | | | with -Werror. Previously, compiling with -Werror would emit only the first warning in a compilation unit, because clang assumes that once an error occurs, further analysis is unlikely to return valid results. However, warnings that have been upgraded to errors should not be treated as "errors" in this sense. llvm-svn: 169649
* Adapt to LLVM commit 169291 which streamlines the usage of NaCl/NativeClientEli Bendersky2012-12-041-4/+4
| | | | | | in the triple. llvm-svn: 169292
* Sort all of Clang's files under 'lib', and fix up the broken headersChandler Carruth2012-12-0410-19/+17
| | | | | | | | | | | | | uncovered. This required manually correcting all of the incorrect main-module headers I could find, and running the new llvm/utils/sort_includes.py script over the files. I also manually added quite a few missing headers that were uncovered by shuffling the order or moving headers up to be main-module-headers. llvm-svn: 169237
* Don't emit a warning with an input/output parameter. We assume the user ↵Bill Wendling2012-11-301-1/+3
| | | | | | knows what they're doing here. llvm-svn: 169059
* Don't warn if the input size is less than the register size. Also don't warn ifBill Wendling2012-11-301-1/+3
| | | | | | | the output size is greater than the register size. No truncation occurs with those. Reword warning to make it clearer what's the problem is. llvm-svn: 169054
* Add ARM cortex-a5 subtargetQuentin Colombet2012-11-291-1/+1
| | | | llvm-svn: 168958
OpenPOWER on IntegriCloud