summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
* This patch introduces A15 as a target in Clang.Silviu Baranga2012-09-131-2/+2
| | | | llvm-svn: 163804
* Do not construct StringRef from NULL argument.Anton Korobeynikov2012-09-081-1/+1
| | | | llvm-svn: 163465
* Provide some ACLE C defines. This should fix PR13796Anton Korobeynikov2012-09-081-4/+19
| | | | llvm-svn: 163464
* When a bad UTF-8 encoding or bogus escape sequence is encountered in aRichard Smith2012-09-082-11/+27
| | | | | | | string literal, produce a diagnostic pointing at the erroneous character range, not at the start of the literal. llvm-svn: 163459
* Enabling the UTF conversion routines that were previously conditionally ↵Enrico Granata2012-09-061-2/+0
| | | | | | ifdef'ed out. This change is required to support enhancements in the LLDB data formatters llvm-svn: 163331
* Dont cast away const needlessly. Found by gcc48 -Wcast-qual.Roman Divacky2012-09-061-1/+1
| | | | llvm-svn: 163325
* Allow disabling of wchar_t type.Abramo Bagnara2012-09-051-0/+2
| | | | llvm-svn: 163221
* Rename ANDROIDEABI to Android.Logan Chien2012-09-021-1/+1
| | | | | | | | | | | | | Most of the code guarded with ANDROIDEABI are not ARM-specific, and having no relation with arm-eabi. Thus, it will be more natural to call this environment "Android" instead of "ANDROIDEABI". Note: We are not using ANDROID because several projects are using "-DANDROID" as the conditional compilation flag. llvm-svn: 163088
* Define __mips64 / __mips64__ macros for MIPS 64-bit targets.Simon Atanasyan2012-08-291-0/+3
| | | | | | The patch suggested by Brad Smith. llvm-svn: 162858
* Use getTargetDefines() virtual function in MipsTargetInfoBase successorsSimon Atanasyan2012-08-291-14/+12
| | | | | | | to define all macros for MIPS targets. Remove redundant virtual function getArchDefines(). Two virtual functions for this task are really too much. llvm-svn: 162853
* Factor out MIPS macro definitions common for all MIPS targets.Simon Atanasyan2012-08-291-12/+4
| | | | llvm-svn: 162852
* Define _MIPS_ARCH and _MIPS_ARCH_<cpu name> macros for MIPS targets.Simon Atanasyan2012-08-291-0/+3
| | | | | | The patch suggested by Logan Chien. llvm-svn: 162840
* Avoid binding a reference to a dereferenced null pointer, if we try to emit aRichard Smith2012-08-171-0/+3
| | | | | | diagnostic before we have a source manager. llvm-svn: 162070
* Remove FIXME, the constraints contain more options than theEric Christopher2012-08-161-1/+0
| | | | | | current available documentation. llvm-svn: 162065
* Add a missing 'break' to ensure that we reject inline assemblyEric Christopher2012-08-161-1/+1
| | | | | | constraints we don't recognize. llvm-svn: 162064
* Fix undefined behavior: reference bound to dereferenced null pointer.Richard Smith2012-08-141-1/+2
| | | | llvm-svn: 161899
* Fix undefined behavior: don't bind a dereferenced null pointer to a reference.Richard Smith2012-08-141-1/+1
| | | | | | No functionality change. llvm-svn: 161832
* Frontend: define _LP64 in a target-independent wayDylan Noblesmith2012-08-101-6/+0
| | | | | | | | | | | | | | Instead of adding it to each individual subclass in Targets.cpp, simply check the appropriate target values. Where before it was only on x86_64 and ppc64, it's now also defined on mips64 and nvptx64. Also add a bunch of negative tests to ensure it is *not* defined on any other architectures while we're here. llvm-svn: 161685
* Add missing cctype includes.Joerg Sonnenberger2012-08-102-0/+2
| | | | llvm-svn: 161660
* clang support for Bitrig (an OpenBSD fork); patch by David Hill.Eli Friedman2012-08-081-0/+53
| | | | llvm-svn: 161546
* Revert part of r161175 which was wrong for OpenBSD's PowerPC target.Hans Wennborg2012-08-081-1/+0
| | | | | | Contributed by Brad Smith <brad@comstyle.com> llvm-svn: 161481
* Add OpenBSD arch targets for powerpc, arm, mips64, mips64el and sparc.Hans Wennborg2012-08-021-1/+13
| | | | | | Contributed by Brad Smith <brad@comstyle.com> llvm-svn: 161175
* TLS is not supported on OpenBSDHans Wennborg2012-08-011-0/+1
| | | | | | | This fixes PR13502 and adds a test to keep track of which targets support TLS and which do not. llvm-svn: 161124
* Fixes a segfault in Tooling when using pch's:Manuel Klimek2012-07-311-0/+4
| | | | | | | | Clear the FileManager's stat cache in between running translation units, as the stat cache loaded from a pch is only valid for one compiler invocation. llvm-svn: 161047
* Add a function to convert a single Unicode code point to a UTF8 sequence.Dmitri Gribenko2012-07-272-2/+17
| | | | llvm-svn: 160890
* clang/lib: [CMake] Reformat, alphabetize lists.NAKAMURA Takumi2012-07-271-1/+1
| | | | llvm-svn: 160850
* Change the way KEYNOMS is defined to be more comprehensible. Francois Pichet2012-07-241-2/+2
| | | | llvm-svn: 160663
* char16_t and char32_t are defined via typedef in MSVC 11 RC. So introduce a ↵Francois Pichet2012-07-221-1/+5
| | | | | | way to disable keywords under Microsoft mode. llvm-svn: 160612
* Add a per target max vector alignment field (e.g., 32-byte alignment for x86 ↵Chad Rosier2012-07-132-0/+3
| | | | | | | | | | due to AVX). Currently, if no aligned attribute is specified the alignment of a vector is inferred from its size. Thus, very large vectors will be over-aligned with no benefit. Target owners should set this target max. llvm-svn: 160209
* Modify tree printing mode for template type diffing. If a diagnostic hasRichard Trieu2012-07-131-2/+3
| | | | | | | multiple %diff's, only print the first tree and fallback to inline printing for the rest of the diagnostic. llvm-svn: 160193
* Add the ObjFW runtime. Patch by Jonathan Schleifer!John McCall2012-07-121-0/+3
| | | | llvm-svn: 160102
* clang/lib/Basic/CMakeLists.txt: Add missing dependency, ClangDiagnosticComment.NAKAMURA Takumi2012-07-121-0/+1
| | | | llvm-svn: 160096
* Enable comment parsing and semantic analysis to emit diagnostics. A fewDmitri Gribenko2012-07-111-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | diagnostics implemented -- see testcases. I created a new TableGen file for comment diagnostics, DiagnosticCommentKinds.td, because comment diagnostics don't logically fit into AST diagnostics file. But I don't feel strongly about it. This also implements support for self-closing HTML tags in comment lexer and parser (for example, <br />). In order to issue precise diagnostics CommentSema needs to know the declaration the comment is attached to. There is no easy way to find a decl by comment, so we match comments and decls in lockstep: after parsing one declgroup we check if we have any new, not yet attached comments. If we do -- then we do the usual comment-finding process. It is interesting that this automatically handles trailing comments. We pick up not only comments that precede the declaration, but also comments that *follow* the declaration -- thanks to the lookahead in the lexer: after parsing the declgroup we've consumed the semicolon and looked ahead through comments. Added -Wdocumentation-html flag for semantic HTML errors to allow the user to disable only HTML warnings (but not HTML parse errors, which we emit as warnings in -Wdocumentation). llvm-svn: 160078
* Introduce a flag in SourceManager to treat non-system source filesArgyrios Kyrtzidis2012-07-112-8/+22
| | | | | | | | | | | | | | | | | | | | as "volatile", meaning there's a high enough chance that they may change while we are trying to use them. This flag is only enabled by libclang. Currently "volatile" source files will be stat'ed immediately before opening them, because the file size stat info may not be accurate since when we got it (e.g. from the PCH). This avoids crashes when trying to reference mmap'ed memory from a file whose size is not what we expect. Note that there's still a window for a racing issue to occur but the window for it should be way smaller than before. We can consider later on to avoid mmap completely on such files. rdar://11612916 llvm-svn: 160074
* Emit -verify diagnostics even when we have a fatal error.Jordan Rose2012-07-112-25/+33
| | | | | | | | | | | | | | Previously we'd halt at the fatal error as expected, but not actually emit any -verify-related diagnostics. This lets us catch cases that emit a /different/ fatal error from the one we expected. This is implemented by adding a "force emit" mode to DiagnosticBuilder, which will cause diagnostics to immediately be emitted regardless of current suppression. Needless to say this should probably be used /very/ sparingly. Patch by Andy Gibbs! Tests for all of Andy's -verify patches coming soon. llvm-svn: 160053
* Fix handling of curly braces in NVPTX inline asmJustin Holewinski2012-07-111-0/+1
| | | | | | | | Fixes bug 13322 Patch by Dmitry Mikushin llvm-svn: 160050
* LLVM_ON_WIN32 case: use the proper key in the UniqueFiles map.Axel Naumann2012-07-111-1/+7
| | | | llvm-svn: 160041
* Improve r159256 following Chandler's comments:Axel Naumann2012-07-101-10/+9
| | | | | | Implement UniqueFileContainer::erase(), camelCase, add comment on future optimizations of the cache versus de-optimizations of invalidations. llvm-svn: 159997
* Properly update the FormattedArgs vector when the template type diffing fallsRichard Trieu2012-07-101-0/+9
| | | | | | back to regular type printing. llvm-svn: 159976
OpenPOWER on IntegriCloud