summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic
Commit message (Collapse)AuthorAgeFilesLines
* [OPENMP] First changes for Parsing and Sema for 'omp simd' directive supportAlexey Bataev2014-02-271-0/+9
| | | | llvm-svn: 202360
* Add a 'use-external-names' option to VFS overlay filesBen Langmuir2014-02-271-15/+46
| | | | | | | | | | | | | | | | When true, sets the name of the file to be the name from 'external-contents'. Otherwise, you get the virtual path that the file was looked up by. This will not affect any non-virtual paths, or fully virtual paths (for which there is no reasonable 'external' name anyway). The setting is available globally, but can be overriden on a per-file basis. The goal is that this setting will control which path you see in debug info, diagnostics, etc. which are sensitive to which path is used. That will come in future patches that pass the name through to FileManager. llvm-svn: 202329
* Give sparcv9 the ability to set the target cpu. Change it from acceptingRoman Divacky2014-02-251-0/+16
| | | | | | | -march which doesnt exist on sparc gcc to -mcpu. While here adjust a few tests to not write an unused temporary file. llvm-svn: 202177
* Add a driver option -ivfsoverlayBen Langmuir2014-02-251-1/+1
| | | | | | | Reads the description of a virtual filesystem from a file and overlays it over the real file system. llvm-svn: 202176
* Add AArch64 big endian Target (aarch64_be)Christian Pirker2014-02-251-6/+49
| | | | llvm-svn: 202151
* Allow multi-component paths in VFS file nodesBen Langmuir2014-02-251-20/+31
| | | | | | | | | | | | | | | | This allows the 'name' field to contain a path, like { 'type': 'directory', 'name': '/path/to/dir', 'contents': [ ... ] } which not only simplifies reading and writing these files (for humans), but makes it possible to easily modify locations via textual replacement, which would not have worked in the old scheme. E.g. sed s:<ROOT>:<NEW ROOT> llvm-svn: 202109
* Pass through context for DiagHandler in VFSBen Langmuir2014-02-241-2/+5
| | | | | | | This allows the unit tests to not use global state when checking diagnostics. llvm-svn: 202072
* [AArch64] Change int64_t from 'long long int' to 'long int' for AArch64 target.Kevin Qin2014-02-241-0/+3
| | | | | | | | | | Most 64-bit targets define int64_t as long int, and AArch64 should make same definition to follow LP64 model. In GNU tool chain, int64_t is defined as long int for 64-bit target. So to get consistent with GNU, it's better Changing int64_t from 'long long int' to 'long int', otherwise clang will get different name mangling suffix compared with g++. llvm-svn: 202004
* Silence a warning from r201905Ben Langmuir2014-02-221-0/+1
| | | | | | | Avoid a warning about reaching the end of a non-void function after a covered switch. llvm-svn: 201919
* Add a VFSFromYAML class and a parser to create itBen Langmuir2014-02-211-4/+576
| | | | | | | | | | | | | | | Provides a way to create a virtual file system using a YAML file that supports mapping a file to a path on an 'external' file system. The external file system will typically be the 'real' file system, but for testing it can be changed. A future patch will add a clang option to allow the user to specify such a file and overlay it, but for now this code is only exercised by the unit tests. Differential Revision: http://llvm-reviews.chandlerc.com/D2835 llvm-svn: 201905
* [CMake] Get rid of explicit dependencies to include/clang/*.inc and ↵NAKAMURA Takumi2014-02-211-17/+0
| | | | | | | | | | | | | | | | | | | introduce CLANG_TABLEGEN_TARGETS. This does; - clang_tablegen() adds each tblgen'd target to global property CLANG_TABLEGEN_TARGETS as list. - List of targets is added to LLVM_COMMON_DEPENDS. - all clang libraries and targets depend on generated headers. You might wonder this would be regression, but in fact, this is little loss. - Almost all of clang libraries depend on tblgen'd files and clang-tblgen. - clang-tblgen may cause short stall-out but doesn't cause unconditional rebuild. - Each library's dependencies to tblgen'd files might vary along headers' structure. It made hard to track and update *really optimal* dependencies. Each dependency to intrinsics_gen and ClangSACheckers is left as DEPENDS. llvm-svn: 201842
* Fix gcc -Wparentheses warning.Patrik Hagglund2014-02-211-1/+1
| | | | llvm-svn: 201840
* Recommit virtual file systemBen Langmuir2014-02-204-73/+251
| | | | | | | | | | | Previously reverted in r201755 due to causing an assertion failure. I've removed the offending assertion, and taught the CompilerInstance to create a default virtual file system inside createFileManager. In the future, we should be able to reach into the CompilerInvocation to customize this behaviour without breaking clients that don't care. llvm-svn: 201818
* [mips] Make it impossible to have UnknownABI in CodeGen and Integrated ↵Daniel Sanders2014-02-201-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | Assembler. Summary: This removes the need to coerce UnknownABI to the default ABI (O32 for MIPS32, N64 for MIPS64 [*]) in both MipsSubtarget and MipsAsmParser. Clang has been updated to disable both possible default ABI's before enabling the ABI it intends to use. [*] N64 being the default for MIPS64 is not actually correct. However N32 is not fully implemented/tested yet. Depends on: D2830 Reviewers: jacksprat, matheusalmeida Reviewed By: matheusalmeida Differential Revision: http://llvm-reviews.chandlerc.com/D2832 Differential Revision: http://llvm-reviews.chandlerc.com/D2846 llvm-svn: 201792
* Reverting the virtual file system implementation, because it triggers an ↵Juergen Ributzka2014-02-204-251/+73
| | | | | | | | | | assertion in our internal build bots. This reverts commits 201618, 201635, 201636, 201639, 201685, 201691, and 201696. llvm-svn: 201755
* Use llvm::DeleteContainerSeconds when possibleReid Kleckner2014-02-191-4/+1
| | | | llvm-svn: 201739
* 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
OpenPOWER on IntegriCloud