summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic
Commit message (Collapse)AuthorAgeFilesLines
...
* Reduce verbosity in the virtual file system using LLVM.hBen Langmuir2014-02-191-8/+6
| | | | | | No functional change llvm-svn: 201696
* Remove typo from r201618Ben Langmuir2014-02-191-1/+1
| | | | | | Fixes PR18895 llvm-svn: 201685
* Add an OverlayFileSystem classBen Langmuir2014-02-191-0/+33
| | | | | | | Provides a way to merge multiple vfs::FileSystem objects into a single filesystem. llvm-svn: 201635
* Initial implementation of virtual file systemBen Langmuir2014-02-194-73/+220
| | | | | | | | | | | | This adds the minimum virtual file system support to start migrating FileManager onto the VFS. Originally discussed here: http://lists.cs.uiuc.edu/pipermail/cfe-dev/2014-February/035188.html Differential Revision: http://llvm-reviews.chandlerc.com/D2745 llvm-svn: 201618
* [OPENMP] 'if' clause support (no CodeGen support)Alexey Bataev2014-02-131-0/+2
| | | | llvm-svn: 201297
* ARM: implement support for crypto intrinsics in arm_neon.hTim Northover2014-02-031-0/+8
| | | | llvm-svn: 200708
* NetBSD uses signed wchar_t on AArch64. It also wants __LITTLE_ENDIAN__ /Joerg Sonnenberger2014-02-021-0/+11
| | | | | | __BIG_ENDIAN__ as on other architectures. llvm-svn: 200655
* ARM & AArch64: share the BI__builtin_neon enum defs.Tim Northover2014-01-301-0/+14
| | | | llvm-svn: 200470
* SPARCv9 supports atomic operations up to 64 bits.Jakob Stoklund Olesen2014-01-301-0/+1
| | | | | | Patch by Roman Divacky! llvm-svn: 200452
* Cortex-M3 and Cortex-M4 should not enable hwdiv-arm (committing again, with ↵Artyom Skrobov2014-01-291-2/+3
| | | | | | an updated test) llvm-svn: 200385
* Revert "Cortex-M3 and Cortex-M4 should not enable hwdiv-arm"Reid Kleckner2014-01-271-3/+2
| | | | | | | | | This reverts commit r200233. The test required a registered ARM target, it was testing LLVM's generated assembly, and it should have been an IRGen test. llvm-svn: 200242
* Cortex-M3 and Cortex-M4 should not enable hwdiv-armArtyom Skrobov2014-01-271-2/+3
| | | | llvm-svn: 200233
* XCore target exception handlingRobert Lytton2014-01-271-0/+4
| | | | | | Implement __builtin_eh_return_data_regno() llvm-svn: 200231
* [Mips] Fix __mips macro definition.Simon Atanasyan2014-01-271-1/+7
| | | | llvm-svn: 200223
* [Mips] Change default CPU for MIPS 32/64 targets. Now they are ↵Simon Atanasyan2014-01-271-2/+2
| | | | | | mips32r2/mips64r2 respectively. llvm-svn: 200222
* Fix r195149. Triple should correctly reflect that target. If it contains ios,Evan Cheng2014-01-261-31/+25
| | | | | | | | | e.g. thumbv7m-apple-ios3.0.0-eabi, then it should mean it's an iOS target. For embedded targets, the OS should be unknown, e.g. thumbv7m-apple-unknown-macho. Since Tim has recently fixed the triple, r195149 is no longer needed. rdar://15911035 llvm-svn: 200164
* Use canonical spelling of NetBSDJoerg Sonnenberger2014-01-261-1/+1
| | | | llvm-svn: 200157
* Fix -Wreturn-type build failure on ASTMatchers, plus an intended assertAlp Toker2014-01-261-1/+1
| | | | llvm-svn: 200140
* Update docstrings following the param name change in r200132Alp Toker2014-01-261-3/+3
| | | | llvm-svn: 200137
* Remove flawed diagnostic mapping functionsAlp Toker2014-01-261-35/+0
| | | | | | | These haven't been usable since the early return was accidentally removed some years ago causing all cases to fall through to the !Enabled condition. llvm-svn: 200123
* PR18465: [Thumbv8] add predefined macrosWeiming Zhao2014-01-221-4/+8
| | | | | | | | | | currently, for thumbv8, two predefined macros are missing: define __THUMB_INTERWORK__ 1 define __THUMB_INTERWORK__ 1 This patch adds them for thumbv8. llvm-svn: 199819
* [ARM] Add ACLE enum/wchar size predefinesBradley Smith2014-01-201-0/+6
| | | | llvm-svn: 199642
* SPARCv9 implements long double as an IEEE quad.Jakob Stoklund Olesen2014-01-161-0/+6
| | | | llvm-svn: 199399
* MachO: use *-*-*-macho for MachO embedded targets.Tim Northover2014-01-161-3/+6
| | | | | | | | | | | | Previously we had bodged together some hacks mapping MachO embedded targets (i.e. mainly ARM v6M and v7M) to the "*-*-darwin-eabi" triple. This is incorrect in both details (they don't run Darwin and they're not EABI in any real sense). This commit appropriates the existing "MachO" environment for the purpose instead. llvm-svn: 199367
* Remove support for armv7f slice. <rdar://problem/12478440>Bob Wilson2014-01-151-2/+1
| | | | | | This was never used for anything so we should just get rid of it. llvm-svn: 199336
* Ensure i686-nacl long long is aligned 8 bytes (like malign-double)Jan Wen Voung2014-01-151-0/+2
| | | | | | | Set NaCl OSTargetInfo to have LongLongAlign = 64. Otherwise, it will pick up the setting of 32 from X86_32TargetInfo. llvm-svn: 199335
* Remove the -cxx-abi command-line flag.Hans Wennborg2014-01-142-8/+4
| | | | | | | | | | | | | | | This makes the C++ ABI depend entirely on the target: MS ABI for -win32 triples, Itanium otherwise. It's no longer possible to do weird combinations. To be able to run a test with a specific ABI without constraining it to a specific triple, new substitutions are added to lit: %itanium_abi_triple and %ms_abi_triple can be used to get the current target triple adjusted to the desired ABI. For example, if the test suite is running with the i686-pc-win32 target, %itanium_abi_triple will expand to i686-pc-mingw32. Differential Revision: http://llvm-reviews.chandlerc.com/D2545 llvm-svn: 199250
* Rename language option MicrosoftMode to MSVCCompatAlp Toker2014-01-141-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | There's been long-standing confusion over the role of these two options. This commit makes the necessary changes to differentiate them clearly, following up from r198936. MicrosoftExt (aka. fms-extensions): Enable largely unobjectionable Microsoft language extensions to ease portability. This mode, also supported by gcc, is used for building software like FreeBSD and Linux kernel extensions that share code with Windows drivers. MSVCCompat (aka. -fms-compatibility, formerly MicrosoftMode): Turn on a special mode supporting 'heinous' extensions for drop-in compatibility with the Microsoft Visual C++ product. Standards-compilant C and C++ code isn't guaranteed to work in this mode. Implies MicrosoftExt. Note that full -fms-compatibility mode is currently enabled by default on the Windows target, which may need tuning to serve as a reasonable default. See cfe-commits for the full discourse, thread 'r198497 - Move MS predefined type_info out of InitializePredefinedMacros' No change in behaviour. llvm-svn: 199209
* Remove trailing spacesSylvestre Ledru2014-01-141-2/+2
| | | | llvm-svn: 199199
* Hook up NetBSD/aarch64.Joerg Sonnenberger2014-01-131-0/+2
| | | | llvm-svn: 199124
* Use 'w' instead of 'c' to represent the win32 mangling.Rafael Espindola2014-01-101-2/+2
| | | | | | | This change was requested to avoid confusion if we ever support non windows coff systems. llvm-svn: 198939
* [cmake] Write Version.inc at cmake time, not at build time.Nico Weber2014-01-071-14/+7
| | | | | | | | In SVN checkouts, clang_revision_tag is rerun on every build, even if nothing else is dirty. After this change, Version.inc is only written at cmake time, so that empty builds run 0 build steps (like r191784 apparently did for git). llvm-svn: 198704
* Shorten the output of `clang-format --version`, include revision number.Nico Weber2014-01-071-1/+5
| | | | | | | | | | | | | | | | | Before: $ clang-format --version LLVM (http://llvm.org/): LLVM version 3.5svn Optimized build with assertions. Built Jan 3 2014 (14:28:46). Default target: x86_64-apple-darwin13.0.0 Host CPU: core-avx-i Now: $ bin/clang-format --version clang-format version 3.5 (198452) llvm-svn: 198694
* Sort all the #include lines with LLVM's utils/sort_includes.py whichChandler Carruth2014-01-072-2/+2
| | | | | | | encodes the canonical rules for LLVM's style. I noticed this had drifted quite a bit when cleaning up LLVM, so wanted to clean up Clang as well. llvm-svn: 198686
* Bring back magic constants in the digraph diagnosticAlp Toker2014-01-071-2/+0
| | | | | | | | This backs out changes in commit r198605 and part of r198604, replacing the original tok::kw_template with a slightly more obvious placeholder tok::unknown. llvm-svn: 198666
* Prospective MSVC 2010 build fixAlp Toker2014-01-061-3/+3
| | | | | | | Try to fix Compiler Error C2011 following r198607 by removing enum from 'enum TokenKind' parameter types. llvm-svn: 198621
* Support diagnostic formatting of keyword tokensAlp Toker2014-01-062-7/+21
| | | | | | | | | Implemented with a new getKeywordSpelling() accessor. Unlike getTokenName() the result of this function is stable and may be used in diagnostic output. Uses of this feature are split out into the subsequent commit. llvm-svn: 198604
* Rename getTokenSimpleSpelling() to getPunctuatorSpelling()Alp Toker2014-01-062-2/+2
| | | | | | | That's what it does, what the documentation says it does and what callers expect it to do. llvm-svn: 198603
* Apply some LLVM_READONLY / LLVM_READNONE on diagnostic functionsAlp Toker2014-01-061-3/+5
| | | | llvm-svn: 198598
* Only mark dump() function definitions 'used' in debug buildsAlp Toker2014-01-041-3/+4
| | | | | | | | | | | | | | | | This has the dual effect of (1) enabling more dead-stripping in release builds and (2) ensuring that debug helper functions aren't stripped away in debug builds, as they're intended to be called from the debugger. Note that the attribute is applied to definitions rather than declarations in headers going forward because it's now conditional on NDEBUG: /// \brief Mark debug helper function definitions like dump() that should not be /// stripped from debug builds. Requires corresponding macro added in LLVM r198456. llvm-svn: 198489
* Refactored Builtin::Context::isPrintfLike and isScanfLike into a helper ↵Aaron Ballman2014-01-031-28/+23
| | | | | | | | function. The implementations are identical, except for the format arguments being searched for. No functional changes intended. llvm-svn: 198446
* Update for llvm's DataLayout including mangling information.Rafael Espindola2014-01-031-38/+57
| | | | llvm-svn: 198439
* Reformat the description strings. No functionality change.Rafael Espindola2014-01-031-81/+33
| | | | llvm-svn: 198430
* Fixed a FIXME; created a print method for Selectors that accepts a ↵Aaron Ballman2014-01-031-0/+4
| | | | | | | | raw_ostream, and started using it in places it made sense. No functional changes intended, just API cleanliness. llvm-svn: 198428
* Remove the now unused 's' specifications.Rafael Espindola2014-01-021-3/+3
| | | | llvm-svn: 198308
* Pass the aapcs and apcs features down to llvm.Rafael Espindola2014-01-021-0/+5
| | | | | | | No functionality change, but unblocks asserting that llvm's and clang's datalayout strings are the same. llvm-svn: 198306
* Teach the diagnostics engine about the Attr type to make reporting on ↵Aaron Ballman2013-12-261-0/+1
| | | | | | semantic attributes easier (and not require hard-coded strings). This requires a getSpelling() function on the Attr class, which is table-driven. Updates a handful of cases where a hard-coded string was being used to test the functionality out. Updating associated test cases for the improved quoting. llvm-svn: 198055
* Support and use token kinds as diagnostic argumentsAlp Toker2013-12-241-0/+29
| | | | | | | | | | | | | | | | | | | Introduce proper facilities to render token spellings using the diagnostic formatter. Replaces most of the hard-coded diagnostic messages related to expected tokens, which all shared the same semantics but had to be multiply defined due to variations in token order or quote marks. The associated parser changes are largely mechanical but they expose commonality in whole chunks of the parser that can now be factored away. This commit uses C++11 typed enums along with a speculative legacy fallback until the transition is complete. Requires corresponding changes in LLVM r197895. llvm-svn: 197972
* Document the Message parameter of getCustomDiagID()Alp Toker2013-12-231-0/+3
| | | | | | A lot of callers have been using this facility incorrectly. llvm-svn: 197920
* Small simplification: p0 is the same as p.Rafael Espindola2013-12-191-1/+1
| | | | llvm-svn: 197700
OpenPOWER on IntegriCloud