summaryrefslogtreecommitdiffstats
path: root/clang/test/Headers/ms-intrin.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Make ms-intrin.cpp test require the x86 target.Nico Weber2015-09-231-0/+2
| | | | llvm-svn: 248355
* Add bug number to FIXME comment.Nico Weber2015-09-221-1/+1
| | | | llvm-svn: 248235
* ms Intrin.h: Fix __movsw's and __stosw's inline asm.Nico Weber2015-09-221-2/+34
| | | | | | | | | | | Before, clang's internal assembler would reject the inline asm in clang's Intrin.h. To make sure this doesn't happen for other Intrin.h functions using __asm__ blocks, add 32-bit and 64-bit codegen tests for Intrin.h. Sadly, these tests discovered that __readcr3 and __writecr3 have bad implementations in 64-bit builds. This will have to be fixed in a follow-up. llvm-svn: 248234
* Remove definitions from Intrin.h that already exist in one of the other x86 ↵Craig Topper2014-11-031-0/+5
| | | | | | intrinsic headers. Add a run line with Broadwell as the cpu type to ms-intrin.cpp test to catch some of these in the future. llvm-svn: 221127
* Driver: bifurcate extended and basic MSC versioningSaleem Abdulrasool2014-07-161-4/+4
| | | | | | | | | | | | | | | | | | | | | | | This restores the original behaviour of -fmsc-version. The older option remains as a mechanism for specifying the basic version information. A secondary option, -fms-compatibility-version permits the user to specify an extended version to the driver. The new version takes the value as a dot-separated value rather than the major * 100 + minor format that -fmsc-version format. This makes it easier to specify the value as well as a more flexible manner for specifying the value. Specifying both values is considered an error. The older parameter is left solely as a driver option, which is normalised into the newer parameter. This allows us to retain a single code path in the compiler itself whilst preserving the semantics of the old parameter as well as avoid having to determine which of two formats are being used by the invocation. The test changes are due to the fact that the compiler no longer supports the old option, and is a direct conversion to the new option. llvm-svn: 213119
* test: merge arm-intrin into ms-intrin, fix invocationSaleem Abdulrasool2014-07-081-0/+5
| | | | | | | | This merges the two tests into one since there is no real reason to separate them. It also fixes the test invocation to specify -fms-compatibility without which we would end up without an Intrin.h header. llvm-svn: 212563
* MS intrinsics: don't declare __readeflags and __writeeflags in Intrin.hHans Wennborg2014-03-121-0/+5
| | | | | | | | They're already defined in ia32intrin.h, and this would cause including Intrin.h in 64-bit mode to fail because of conflicting types. Update ms-intrin.cpp to also run in 64-bit mode to catch things like this. llvm-svn: 203714
* Intrin.h: include setjmp.h to get a jmp_buf definitionHans Wennborg2014-01-281-1/+2
| | | | | | | This makes sure that the ms-intrin.cpp test passes by providing a mock setjmp.h as a test input. llvm-svn: 200344
* ms-intrin.cpp: add -Werror to the testHans Wennborg2014-01-171-1/+1
| | | | llvm-svn: 199450
* ms-intrin.cpp: no need for -verify anymoreHans Wennborg2014-01-171-1/+1
| | | | llvm-svn: 199442
* Relax the ms-intrin.cpp testHans Wennborg2014-01-161-11/+0
| | | | | | | | The part that checks that certain functions are marked deprecated doesn't seem that useful, and it has the bad effect that the test hard-coded the locations of the notes from that test. llvm-svn: 199441
* Implemented delayed processing of 'unavailable' checking, just like with ↵Ted Kremenek2013-12-181-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | 'deprecated'. Fixes <rdar://problem/15584219> and <rdar://problem/12241361>. This change looks large, but all it does is reuse and consolidate the delayed diagnostic logic for deprecation warnings with unavailability warnings. By doing so, it showed various inconsistencies between the diagnostics, which were close, but not consistent. It also revealed some missing "note:"'s in the deprecated diagnostics that were showing up in the unavailable diagnostics, etc. This change also changes the wording of the core deprecation diagnostics. Instead of saying "function has been explicitly marked deprecated" we now saw "'X' has been been explicitly marked deprecated". It turns out providing a bit more context is useful, and often we got the actual term wrong or it was not very precise (e.g., "function" instead of "destructor"). By just saying the name of the thing that is deprecated/deleted/unavailable we define this issue away. This diagnostic can likely be further wordsmithed to be shorter. llvm-svn: 197627
* Add implementations of the MSVC barrier intrinsicsReid Kleckner2013-10-171-1/+12
| | | | | | | | | | | | | | | | Summary: These are deprecated in VS 2012 according to MSDN. They don't actually compile down to any code. They prevent the compiler from reordering memory accesses across the barrier, which is what a memory-clobbering volatile asm does. Reviewers: echristo CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D1954 llvm-svn: 192860
* Switch tests in test/Headers to use %clang_cc1 rather than %clang. ThereChandler Carruth2013-09-201-1/+3
| | | | | | | | is no need to go through the driver indirection here, and it clutters things up as dependencies can sneak in for specific things the driver is doing. llvm-svn: 191107
* Use -ffreestanding in ms-intrin.cpp and define size_t manually.Reid Kleckner2013-09-191-5/+5
| | | | llvm-svn: 190985
* Avoid including <stdlib.h> in the intrin.h testReid Kleckner2013-09-191-0/+5
| | | | llvm-svn: 190979
* Fix ifdef ordering at the end of Intrin.h from r190965Reid Kleckner2013-09-191-0/+6
Test that intrin.h at least parses in C++ TUs. llvm-svn: 190978
OpenPOWER on IntegriCloud