summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic
Commit message (Collapse)AuthorAgeFilesLines
...
* Revert commit revision r168953, to change the commit message, which was emptyQuentin Colombet2012-11-291-1/+1
| | | | llvm-svn: 168956
* (no commit message)Quentin Colombet2012-11-291-1/+1
| | | | llvm-svn: 168953
* Fix the definition of the vfork() builtin on Haiku. PR14378.Eli Friedman2012-11-272-0/+2
| | | | llvm-svn: 168674
* Add missing "break". Thanks to Craig for spotting it.Eli Friedman2012-11-261-0/+1
| | | | | | I'm looking at ways to fix the relevant test so it can catch this sort of mistake. llvm-svn: 168618
* Enable inlining of 4 byte atomic ops on ppc32, 8 byte atomic ops on ppc64.Benjamin Kramer2012-11-171-1/+6
| | | | | | Also fixes a bit/byte mismatch when checking if a target supports atomic ops of a certain size. llvm-svn: 168260
* Add missing features for misc x86 CPUs to CPU feature translation. Patch by ↵Eli Friedman2012-11-171-1/+14
| | | | | | Jung-uk Kim. llvm-svn: 168239
* Clean up X86 target feature translation code slightly. No intended ↵Eli Friedman2012-11-171-14/+3
| | | | | | functional change. Patch by Jung-uk Kim. llvm-svn: 168237
* Since CreateTargetInfo is taking ownership of the target options, passDouglas Gregor2012-11-161-15/+15
| | | | | | it as a pointer. llvm-svn: 168136
* Add -cc1 option -fno-diagnostics-use-presumed-location, a handy mode forRichard Smith2012-11-141-2/+3
| | | | | | | | | working with preprocessed testcases. This causes source locations in diagnostics to point at the spelling location instead of the presumed location, while still keeping the semantic effects of the line directives (entering and leaving system-header mode, primarily). llvm-svn: 168004
* Remove the cellspu port.Eric Christopher2012-11-141-9/+5
| | | | | | Approved by Chris Lattner. llvm-svn: 167983
* The register constraint could mean a 16- or 8-bit register.Bill Wendling2012-11-121-1/+1
| | | | llvm-svn: 167735
* Check that the input size is correct for the given constraint.Bill Wendling2012-11-121-0/+13
| | | | | | | | | The 'a', 'c', and 'd' constraints on i386 mean a 32-bit register. We cannot place a 64-bit value into the 32-bit register. Error out instead of causing the compiler to spew general badness. <rdar://problem/12415959> llvm-svn: 167717
* Remove unneeded includes from IdentifierTableNico Weber2012-11-111-1/+0
| | | | llvm-svn: 167694
* Add clang support of RTM from TSXMichael Liao2012-11-101-3/+19
| | | | | | | | | | | | - New options '-mrtm'/'-mno-rtm' are added to enable/disable RTM feature - Builtin macro '__RTM__' is defined if RTM feature is enabled - RTM intrinsic header is added and introduces 3 new intrinsics, namely '_xbegin', '_xend', and '_xabort'. - 3 new builtins are added to keep compatible with gcc, namely '__builtin_ia32_xbegin', '__builtin_ia32_xend', and '__builtin_ia32_xabort'. - Test cases for pre-defined macro and new intrinsic codegen are added. llvm-svn: 167665
* Add a SourceLocation::printToString() that returns in a std::string what dump()Argyrios Kyrtzidis2012-11-091-0/+7
| | | | | | writes to stderr; for debugging purposes. llvm-svn: 167629
* Set TLSSupported to false on Haiku.Benjamin Kramer2012-11-081-0/+1
| | | | | | | | | | | Haiku does not support this (yet). Leaving it set to true leads to configure scripts detecting __thread being available and Clang emitting code for it, resulting in binaries the runtime_loader will refuse to load. Patch by Jonathan Schleifer! llvm-svn: 167576
* Basic: Windows doesn't define S_IFIFO.Daniel Dunbar2012-11-061-1/+4
| | | | llvm-svn: 167468
* Frontend: Add support for reading named pipes as the main file.Daniel Dunbar2012-11-051-0/+4
| | | | | | | | - The whole {File,Source}Manager is built around wanting to pre-determine the size of files, so we can't fit this in naturally. Instead, we handle it like we do STDIN, where we just replace the main file contents upfront. llvm-svn: 167419
* Rename LangOptions members for address sanitizer and thread sanitizer fromRichard Smith2012-11-051-1/+1
| | | | | | *Sanitizer to Sanitize* in preparation for later patches. llvm-svn: 167405
* isLegalUTF8() was giving the wrong answerSeth Cantrell2012-10-301-1/+1
| | | | | | invalid but not caught by isLegalUTF8(): 0xED 0x75 0x84 llvm-svn: 167063
* This patch adds alignment information for long double to the 64-bit PowerPCBill Schmidt2012-10-291-3/+10
| | | | | | | | | | | | | | | | | | ELF subtarget. The existing description string is moved from PPC64TargetInfo to its DarwinTargetInfo subclass, to avoid any changes to the Darwin ABI. PPC64TargetInfo now has two possible description strings: one for FreeBSD, which requires 8-byte alignment, and a default string that requires 16-byte alignment. I've added a test for PPC64 Linux to verify the 16-byte alignment. If somebody wants to add a separate test for FreeBSD, that would be great. Note that there is a companion patch to update the alignment information in LLVM, which I am committing now as well. llvm-svn: 166927
* Handle '*' and '#' asm constraint modifiers.Ulrich Weigand2012-10-291-0/+4
| | | | llvm-svn: 166924
* Recommit Eric's code to validate ASM string's constraints and modifiers.Bill Wendling2012-10-251-0/+24
| | | | | | | | | | | | | This code checks the ASM string to see if the output size is able to fit within the variable specified as the output. For instance, scalar-to-vector conversions may not really work. It's on by default, but can be turned off with a flag if you think you know what you're doing. This is placed under a flag ('-Wasm-operand-widths') and flag group ('-Wasm'). <rdar://problem/12284092> llvm-svn: 166737
* Modify the targets to set appropriate calling convention defaults and C ↵David Tweed2012-10-251-3/+3
| | | | | | | | variables when using a gnueabihf or aapcs-vfp target. Tested by me and Wei-Ren Chen. llvm-svn: 166679
* Revert r166647 to rethink the patch...Bill Wendling2012-10-251-23/+0
| | | | llvm-svn: 166655
* Add some support for diagnosing possibly mismatched constraint, type size andBill Wendling2012-10-251-0/+23
| | | | | | | modifiers. (From an idea by Eric...) <rdar://problem/12284092> llvm-svn: 166647
* Make DiagnosticOptions intrusively reference-counted, and make sureDouglas Gregor2012-10-231-2/+4
| | | | | | | the various stakeholders bump up the reference count. In particular, the diagnostics engine now keeps the DiagnosticOptions object alive. llvm-svn: 166508
* Fix pre-commit refacto failure.Daniel Dunbar2012-10-221-1/+1
| | | | llvm-svn: 166431
* driver/Darwin: Follow up to last patch, M-class CPUs are AAPCS but not EABI.Daniel Dunbar2012-10-221-1/+3
| | | | llvm-svn: 166430
* When associating file ranges of macro arguments with theirArgyrios Kyrtzidis2012-10-201-37/+82
| | | | | | | | | | macro expansion ranges, make sure to check all the FileID entries that are contained in the spelling range of the expansion for the macro argument. Fixes rdar://12537982 llvm-svn: 166359
* Teach getColumnNumber to use the line cache to get the start of the line if ↵Craig Topper2012-10-191-0/+11
| | | | | | its on the same line as the last call to getLineNumber. Prevents needing to scan backwards for the new line. Fixes PR14106. llvm-svn: 166265
* Serialize TargetOptions into an AST file, and make sure that we keepDouglas Gregor2012-10-161-4/+8
| | | | | | | target options around so they can be accessed at any point (rather than keeping them transient). llvm-svn: 166072
* Add pnaclcall convention to Native Client targets.Derek Schuff2012-10-161-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | Because PNaCl bitcode must be target-independent, it uses some different bitcode representations from other targets (e.g. byval and sret for structures). This means that without additional type information, it cannot meet some native ABI requirements for some targets (e.g. passing structures containing unions by value on x86-64). To allow generation of code which uses the correct native ABIs, we also support triples such as x86_64-nacl, which uses target-dependent IR (as opposed to le32-nacl, which uses byval and sret). To allow interoperation between the two types of code, this patch adds a calling convention attribute to be used in code compiled with the target-dependent triple, which will generate code using the le32-style bitcode. This calling convention does not need to be explicitly supported in the backend because it determines bitcode representation rather than native conventions (the backend just needs to undersand how to handle byval and sret for the Native Client OS). This patch implements __attribute__((pnaclcall)) to generate calls in bitcode according to the le32 bitcode conventions, an attribute which is accepted by any Native Client target, but issues a warning otherwise. llvm-svn: 166065
* Teach TargetInfo to hold on to the TargetOptions with which it wasDouglas Gregor2012-10-152-1/+3
| | | | | | created. llvm-svn: 165943
* Introduce the notion of excluded headers into the module mapDouglas Gregor2012-10-151-0/+7
| | | | | | | | description. Previously, one could emulate this behavior by placing the header in an always-unavailable submodule, but Argyrios guilted me into expressing this idea properly. llvm-svn: 165921
* Add TargetInfo for r600.Eli Friedman2012-10-121-0/+68
| | | | | | Patch by Tom Stellard. llvm-svn: 165850
* Silence dead store warning. It is conceptually possible we willTed Kremenek2012-10-121-0/+1
| | | | | | | add more code that references SourceFile, so removing the dead store doesn't seem appropriate for the long term. llvm-svn: 165837
* Properly factor Native Client defines to support NaCl as an OSDerek Schuff2012-10-111-9/+44
| | | | | | with x86/ARM architecture llvm-svn: 165722
* Make X86_64ABIInfo clean for ABIs with 32 bit pointers, such as X32Derek Schuff2012-10-111-8/+9
| | | | | | and Native Client llvm-svn: 165715
* X86: add F16C support in ClangManman Ren2012-10-111-1/+17
| | | | | | | | | Support the following intrinsics: _mm_cvtph_ps, _mm256_cvtph_ps, _mm_cvtps_ph, _mm256_cvtps_ph rdar://12407875 llvm-svn: 165685
* Fix PR 11709: Change the definition of va_list to meet AAPCS requirementLogan Chien2012-10-101-3/+7
| | | | | | | | | | | | | AAPCS ABI Section 7.1.4 [1] specifies that va_list should be defined as struct __va_list { void *__ap;}; And in C++, it is defined in namespace std. [1] http://infocenter.arm.com/help/topic /com.arm.doc.ihi0042d/IHI0042D_aapcs.pdf Patch by Weiming Zhao. llvm-svn: 165609
* Allowing individual targets to determine whether a given calling convention ↵Aaron Ballman2012-10-021-0/+26
| | | | | | | | is allowed or ignored with warning. This allows for correct name mangling for x64 targets on Windows, which in turn allows for linking against the Win32 APIs. Fixes PR13782 llvm-svn: 165015
* Add ARM VFPv4 feature and enable it by default for Swift.Bob Wilson2012-09-291-16/+30
| | | | llvm-svn: 164906
* Add armv7s and some other arm variants supported by Mach-O files.Bob Wilson2012-09-291-0/+2
| | | | llvm-svn: 164905
* In the Module class, add a reference to the corresponding AST file.Argyrios Kyrtzidis2012-09-291-2/+2
| | | | llvm-svn: 164873
* Set Diag.ErrorOccurred even if a DiagnosticConsumer does not want it inDaniel Jasper2012-09-281-3/+2
| | | | | | | | | | | diagnostic count. If a DiagnosticConsumer sub-class overwrites IncludeInDiagnosticCounts, this should change diagnostic counts. However, it currently also influences Diag.ErrorOccurred, which in turn influences the behavior of parsing and semantic analysis (in a way that can make it crash). llvm-svn: 164824
* Macro history (de-)serialization. Deserialization currently reads only the ↵Alexander Kornienko2012-09-251-0/+1
| | | | | | | | | | | | | | | | latest macro definition. Needs more work. Summary: Passes all tests (+ the new one with code completion), but needs a thorough review in part related to modules. Reviewers: doug.gregor Reviewed By: alexfh CC: cfe-commits, rsmith Differential Revision: http://llvm-reviews.chandlerc.com/D41 llvm-svn: 164610
* Use llvm::getOrdinalSuffix to print ordinal numbers in diagnostics.Jordan Rose2012-09-221-17/+2
| | | | | | Just a refactoring of common infrastructure. No intended functionality change. llvm-svn: 164443
* Disable source fortification on Darwin with AddressSanitizer.Alexander Potapenko2012-09-201-0/+3
| | | | | | ASan doesn't play well with -D_FORTIFY_SOURCE, which is enabled by default starting at OS X 10.7 llvm-svn: 164299
* Add e500mc and e5500 to the list of valid PPC CPU names.Hal Finkel2012-09-181-0/+2
| | | | | | Patch by Tobias von Koch! llvm-svn: 164176
OpenPOWER on IntegriCloud