summaryrefslogtreecommitdiffstats
path: root/clang/test/Preprocessor
Commit message (Collapse)AuthorAgeFilesLines
...
* Add support for -march=bdver4.Benjamin Kramer2014-05-021-0/+70
| | | | llvm-svn: 207848
* [ARM64/AArch64] Define the correct value for __ARM_NEON_FPBradley Smith2014-05-021-2/+7
| | | | llvm-svn: 207842
* [ARM64/AArch64] Hook up CRC32 subtarget feature to the driverBradley Smith2014-05-021-0/+5
| | | | llvm-svn: 207841
* do not warn about unknown pragmas in modes that do not handle them (pr9537)Lubos Lunak2014-05-011-0/+10
| | | | | | | And refactor to have just one place in code that sets up the empty pragma handlers. llvm-svn: 207758
* Fix and restore the macro-multiline.c testAlp Toker2014-04-192-8/+7
| | | | | | | | | | | | | This test didn't work as intended and was ultimately disabled some years ago in r169458. Indeed it's not clear if the '\n' was ever passed through to the driver correctly given that lit would insert '&& {' at the newline. Test rewritten to use printf/xargs to insert '\n' in a more reliable manner and to use FileCheck for verification. llvm-svn: 206703
* [ARM64] Add ARM64 RUN lines to a bunch of tests that had AARCH64 RUN lines.James Molloy2014-04-172-0/+3
| | | | | | | This covers all tests in tests/Driver and tests/Preprocessor, but there are some failing tests in test/Sema that need looking into. llvm-svn: 206464
* Revert "Move -fms-extensions predefined macros into InitPreprocessor"Reid Kleckner2014-04-161-6/+2
| | | | | | | | | | This reverts commit r206413. This was proposed before, but it's not clear if this is really a good idea: http://reviews.llvm.org/D3034 llvm-svn: 206415
* Move -fms-extensions predefined macros into InitPreprocessorReid Kleckner2014-04-161-2/+6
| | | | | | | If someone on Linux asks for -fms-extensions, there's no reason not to define the feature test macros that MSVC defines. llvm-svn: 206413
* [ARM64] Allow the disabling of NEON and crypto instructions. Update tests to ↵James Molloy2014-04-161-2/+0
| | | | | | pass -target-feature +neon. llvm-svn: 206394
* [ARM64] Fix up predefines, including adding big endian support to Targets.cppJames Molloy2014-04-161-0/+2
| | | | llvm-svn: 206390
* Driver: add target definition for Windows on ARMSaleem Abdulrasool2014-04-041-0/+33
| | | | | | | | | This introduces the definitions needed for the Windows on ARM target. Add target definitions for both the MSVC environment and the MSVC + Itanium C++ ABI environment. The Visual Studio definitions correspond to the definitions provided by Visual Studio 2012. llvm-svn: 205650
* Put macro redefinition warnings under -Wmacro-redefinedReid Kleckner2014-04-041-0/+19
| | | | | | | | | | | This is consistent with -Wbuiltin-macro-redefined, and puts this common extension warning under a flag. Reviewers: rsmith Differential Revision: http://llvm-reviews.chandlerc.com/D3283 llvm-svn: 205591
* clang/test/Preprocessor/headermap-rel2.c: Recognize dos path.NAKAMURA Takumi2014-03-301-2/+2
| | | | llvm-svn: 205152
* Force a header file input to the headermap test to have differentChandler Carruth2014-03-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | contents than the header file by the same name under the system header search root. Surprisingly, this is required to get the test to pass on some systems. So, it turns out that there exist filesystems in the world which unique the inode of all files based on their contents. This results in two files with the same contents at different paths suddenly having the same inode. This doesn't actually cause any problems in practice as the contents are the same, and the path used to access the files are the same. However, it can cause tests like this one to be more brittle because the file manager ends up de-duplicating the file entries by inode. We don't have any other really easy ways to observe the behavior shift because the whole point is that the #include written in the source code doesn't contain the information -- instead it is contained in the header map. If folks have other solutions they would prefer, I'm more than happy to work on them, but this seems a reasonable way to ensure that the test in question exercises the code it wants to exercise. llvm-svn: 205149
* [test] Add a triple to the test.Argyrios Kyrtzidis2014-03-291-2/+2
| | | | llvm-svn: 205073
* [test] Add a RUN line to get a hint on why the test is failing at the buildbots.Argyrios Kyrtzidis2014-03-291-0/+1
| | | | llvm-svn: 205072
* [HeaderSearch] Make sure we clear the mapped name from the ↵Argyrios Kyrtzidis2014-03-294-0/+15
| | | | | | | | LookupFileCacheInfo when we reset the start point. rdar://16462455 llvm-svn: 205071
* Add ARM big endian Target (armeb, thumbeb)Christian Pirker2014-03-281-2/+122
| | | | | | Reviewed at http://llvm-reviews.chandlerc.com/D3096 llvm-svn: 205008
* From Matt Thomas: use long long for [u]int64_t and [u]intmax_t onJoerg Sonnenberger2014-03-261-5/+5
| | | | | | NetBSD/aarch64 to simplify code sharing with NetBSD/arm. llvm-svn: 204798
* Update the powerpc64le check to include CALL_ELF=2 check.Will Schmidt2014-03-241-0/+1
| | | | | | | This is a testcase follow-up to r204627. (see also r204614 for CALL_ELF usage). llvm-svn: 204669
* AArch64_BE test case for predefined macrosChristian Pirker2014-03-241-2/+110
| | | | llvm-svn: 204604
* [HeaderSearch] Fix issue where if a headermap entry maps the filename to a ↵Argyrios Kyrtzidis2014-03-111-0/+2
| | | | | | | | | | framework import (non-absolute path) then we fail to find it if it is re-included later on. rdar://16285490 llvm-svn: 203542
* Make __LITTLE_ENDIAN__/__BIG_ENDOAN__ common PredefinedMacrosRobert Lytton2014-03-101-0/+11
| | | | llvm-svn: 203455
* Revert "Preprocessor: Add __ALIGNOF_MAX_ALIGN_T__"David Majnemer2014-03-021-27/+0
| | | | | | | This commit reverts r201037, it's functionality is not needed given the definition of std::max_align_t in libcxx circa r201843. llvm-svn: 202667
* clang/test/Preprocessor/init.c: Split conditions to win32 and non-win32.NAKAMURA Takumi2014-02-251-1/+5
| | | | | FIXME: Implement and check x86_64-cygwin. llvm-svn: 202094
* If preprocessing results in a token with leading whitespace that was expandedRichard Smith2014-02-241-1/+1
| | | | | | | from a macro in column 0, ensure that we print whitespace before it in the -E output. Patch by Harald van Dijk! llvm-svn: 202070
* If the first token in a macro that appears at the start of a line expands toRichard Smith2014-02-241-1/+8
| | | | | | | nothing, be sure to inform the *next* token expanded from the macro that it is now at the start of a line. Patch by Harald van Dijk! llvm-svn: 202068
* Implement -fno-short-wcharRichard Barton2014-02-241-0/+6
| | | | llvm-svn: 202058
* [AArch64] Change int64_t from 'long long int' to 'long int' for AArch64 target.Kevin Qin2014-02-241-5/+105
| | | | | | | | | | 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
* Update __cplusplus to match the value in the C++14 DIS preview (D3937).Richard Smith2014-02-241-2/+2
| | | | llvm-svn: 202003
* Expand macros in pragmas with -fms-extensions and -EReid Kleckner2014-02-201-0/+20
| | | | | | | | | | | | | | gcc never expands macros in pragmas and MSVC always expands macros before processing pragmas. Clang usually allows macro expansion, except in a handful of pragmas, most of which are handled by the lexer. Also remove PPCallbacks for pragmas that are currently handled in the parser. Without a Parser, such as with clang -E, these callbacks would never be called. Fixes PR18576. llvm-svn: 201821
* Add missing test file for r201615Reid Kleckner2014-02-181-0/+3
| | | | llvm-svn: 201617
* Fix false positives in -Wmsvc-include by continuing header searchReid Kleckner2014-02-182-1/+5
| | | | | | | | | | | This makes Clang and LLVM -Wmsvc-include clean. I believe the correct behavior here is to avoid updating the cache when we find the header via MSVC's search rules. Differential Revision: http://llvm-reviews.chandlerc.com/D2733 llvm-svn: 201615
* Fix broken CHECK linesNico Rieck2014-02-162-2/+2
| | | | llvm-svn: 201477
* Fix broken RUN linesNico Rieck2014-02-161-5/+5
| | | | llvm-svn: 201475
* Move test inputs into the Inputs directory (improvement/fix to r201419)David Blaikie2014-02-153-1/+1
| | | | llvm-svn: 201458
* If the headermap maps the filename to a framework include ("Foo.h" -> ↵Argyrios Kyrtzidis2014-02-143-0/+12
| | | | | | | | | | | | | | "Foo/Foo.h"), continue header lookup using the framework include as filename. This allows us to conveniently treat #import "Foo.h" as an implicit module import if we can resolve "Foo/Foo.h" as such. rdar://16042979 llvm-svn: 201419
* Enable AArch64 NEON by default.Jiangning Liu2014-02-141-2/+2
| | | | llvm-svn: 201384
* Preprocessor: Add __ALIGNOF_MAX_ALIGN_T__David Majnemer2014-02-091-0/+26
| | | | | | | | | | TargetInfo::getSuitableAlign() was introduced in r146762 and is defined as alignof(std::max_align_t). Introduce __ALIGNOF_MAX_ALIGN_T__ which exposes getSuitableAlign() so that libc++ may take advantage of it. llvm-svn: 201037
* Fix the range for Malayam UCNs in C99.Joey Gouly2014-02-051-1/+1
| | | | llvm-svn: 200845
* Fix whitespace handling in empty macro expansionsJustin Bogner2014-02-041-3/+33
| | | | | | | | | | | | | When a macro expansion does not result in any tokens, and the macro name is preceded by whitespace, the whitespace should be passed to the first token that follows the macro expansion. Similarly when a macro expansion ends with a placemarker token, and that placemarker token is preceded by whitespace. This worked already for top-level macro expansions, but is now extended to also work for nested macro expansions. Patch by Harald van Dijk! llvm-svn: 200787
* Fix whitespace handling in empty macro argumentsJustin Bogner2014-02-041-0/+7
| | | | | | | | | | | | | When a function-like macro definition ends with one of the macro's parameters, and the argument is empty, any whitespace before the parameter name in the macro definition needs to be preserved. Promoting the existing NextTokGetsSpace to a preserved bit-field and checking it at the end of the macro expansion allows it to be moved to the first token following the macro expansion result. Patch by Harald van Dijk! llvm-svn: 200786
* Fix whitespace handling in ## operatorJustin Bogner2014-02-042-3/+17
| | | | | | | | | | | | | | | | | In x ## y, where x and y are regular tokens, whitespace between x and ## is ignored, and whitespace between ## and y is also ignored. When either x or y is a function argument, whitespace was preserved, but it should not be. This patch removes the checks for whitespace before ## and before y, and in the special case where x is an empty macro argument and y is a regular token, actively removes whitespace before y. One existing test is affected by that change, but as clang's output now matches the standard's requirements and that of GCC, I've tweaked the testcase. Patch by Harald van Dijk! llvm-svn: 200785
* Test pre-defined macros of aarch64-netbsd.Joerg Sonnenberger2014-02-021-0/+100
| | | | llvm-svn: 200656
* Revert "Fix assertion failures on annot_* tokens in clang -E"Ben Langmuir2014-01-303-10/+0
| | | | | | | This is causing a failure in the msan buildbot that I am having trouble reproducing. Reverting until I can figure out what went wrong. llvm-svn: 200492
* Fix assertion failures on annot_* tokens in clang -EBen Langmuir2014-01-303-0/+10
| | | | | | | In particular, #pragma clang __debug, and #include implicitly changed into @import were causing assertion failures. llvm-svn: 200475
* [Mips] Fix __mips macro definition.Simon Atanasyan2014-01-271-4/+4
| | | | llvm-svn: 200223
* [Mips] Change default CPU for MIPS 32/64 targets. Now they are ↵Simon Atanasyan2014-01-271-12/+12
| | | | | | mips32r2/mips64r2 respectively. llvm-svn: 200222
* [Mips] Add tests to check MIPS arch macros.Simon Atanasyan2014-01-271-0/+44
| | | | llvm-svn: 200221
* PR18465: [Thumbv8] add predefined macrosWeiming Zhao2014-01-221-0/+20
| | | | | | | | | | 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
OpenPOWER on IntegriCloud