summaryrefslogtreecommitdiffstats
path: root/clang/test/Driver/cl-options.c
Commit message (Collapse)AuthorAgeFilesLines
* MS ABI: Implement driver-level support for thread-safe staticsDavid Majnemer2015-03-221-0/+8
| | | | | | | | | | | Decide whether or not to use thread-safe statics depending on whether or not we have an explicit request from the driver. If we don't have an explicit request, infer which behavior to use depending on the compatibility version we are targeting. N.B. CodeGen support is still ongoing. llvm-svn: 232906
* clang-cl: Correctly ignore /openmp- (PR22748)Hans Wennborg2015-03-021-2/+4
| | | | llvm-svn: 231026
* clang-cl: Ignore /Fd silentlyReid Kleckner2015-02-251-1/+1
| | | | | | | | | While it's true that we don't create the PDB as requested on the command line, this is a well-documented limitation. Warning about it doesn't help people using legacy build systems with clang-cl, and it makes the clang-cl self-host very noisy. llvm-svn: 230527
* clang-cl: Map /wd4996 to -Wno-deprecated-declarationsReid Kleckner2015-02-171-3/+4
| | | | | | | | | | This is typically used to suppress warnings about calling snprintf and other "deprecated" POSIX functions. Accepting this flag helps avoid tons of useless warnings when trying out clang-cl on a new project. Patch by Scott Graham! llvm-svn: 229583
* Revert "Revert r229082 for a bit, it caused PR22577."David Majnemer2015-02-141-0/+6
| | | | | | | This reverts commit r229123. It was a red herring, the bug was present without r229082. llvm-svn: 229205
* Revert r229082 for a bit, it caused PR22577.Nico Weber2015-02-131-6/+0
| | | | llvm-svn: 229123
* MS ABI: Implement /volatile:msDavid Majnemer2015-02-131-0/+6
| | | | | | | | | | | | The /volatile:ms semantics turn volatile loads and stores into atomic acquire and release operations. This distinction is important because volatile memory operations do not form a happens-before relationship with non-atomic memory. This means that a volatile store is not sufficient for implementing a mutex unlock routine. Differential Revision: http://reviews.llvm.org/D7580 llvm-svn: 229082
* Implement command line options for stack probe spaceHans Wennborg2015-01-201-1/+7
| | | | | | | | | | | | | This code adds the -mstack-probe-size command line option and implements the /Gs compiler switch for clang-cl. This should fix http://llvm.org/bugs/show_bug.cgi?id=21896 Patch by Andrew H! Differential Revision: http://reviews.llvm.org/D6685 llvm-svn: 226601
* clang-cl: Various changes to /Zc: handling.Nico Weber2014-12-231-6/+0
| | | | | | | | | | | | | | | * /Zc:trigraphs and /Zc:trigraphs- are now honored * /Zc:strictStrings is now honored * /Zc:auto is now honored/ignored (clang does the Right Thing for this already) Also add a dedicated test for the various /Zc: flags. clang-cl doesn't always agree with cl.exe on the default values for /Zc flags. For example, I think clang always behaves as if /Zc:inline is passed, and warns if the user explicitly passes /Zc:inline- Fixes PR21974. llvm-svn: 224791
* clang-cl: Fix handling of the /volatile flag (PR21893)Hans Wennborg2014-12-131-1/+2
| | | | | | | | The /volatile:iso flag is our default behaviour, so it can be ignored. Parse /volatile:ms as unsupported. llvm-svn: 224202
* clang-cl: ignore /cgthreads (PR21894)Hans Wennborg2014-12-131-0/+2
| | | | llvm-svn: 224201
* clang-cl: Make /Gd ignored instead of unsupportedHans Wennborg2014-12-131-0/+1
| | | | | | | /Gd is the default calling convention setting, so we don't need to take any action. llvm-svn: 224200
* clang-cl: Add unsupported /Gv option (PR21892)Hans Wennborg2014-12-131-0/+1
| | | | | | We don't currently support any of the calling convention options. llvm-svn: 224199
* clang-cl: Ignore the new /Zo[-] option (PR21571)Hans Wennborg2014-11-141-1/+4
| | | | | | | Also fix the ignored options test which didn't fail properly on unknown options. llvm-svn: 222013
* clang-cl: Add support for /ZpDavid Majnemer2014-07-251-2/+6
| | | | | | | | | CL's /Zp flag is analogous to GCC's -fpack-struct, it controls the default maximum alignment of records. Differential Revision: http://reviews.llvm.org/D4671 llvm-svn: 213958
* clang-cl: ignore /showIncludes when combined with /E (PR20336)Hans Wennborg2014-07-211-0/+4
| | | | | | | | Both /showIncludes and /E write to stdout. Allowing both results in interleaved output and an error when double-closing the file descriptor, intended to catch issues like this. llvm-svn: 213589
* Don't use -msse2 in test/Driver/cl-options.cHans Wennborg2014-07-161-1/+0
| | | | | | | It's already tested in cl-x86-flags.c, and can only be used when targeting X86. llvm-svn: 213179
* clang-cl: expand test coverage for "core" optionsHans Wennborg2014-07-161-2/+9
| | | | llvm-svn: 213170
* clang-cl: make sure we still parse -fms-version= after r213119Hans Wennborg2014-07-161-0/+6
| | | | | | The CoreOption flag got lost in the changes. llvm-svn: 213164
* clang-cl: Implement the -arch flagEhsan Akhgari2014-07-151-1/+0
| | | | | | | | | | | | | | | Summary: This implements the -arch flag for both x86 and x86-64 by letting them affect the default target features we pass to cc1. -m machine flags will override the features set by -arch. Reviewers: hansw Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D4519 llvm-svn: 213083
* Require an x86 registered target for this test by splitting it outReid Kleckner2014-07-121-6/+0
| | | | | | | This is a shot in the dark to fix the hexagon bot, so I'm not 100% sure this is the issue. llvm-svn: 212871
* clang-cl: Make all x86 CPU feature flags available, such as -msse3Reid Kleckner2014-07-121-2/+4
| | | | | | | | | | | | | Ideally, we would use the /arch cl.exe flag for this stuff. Unfortunately, MSVC supports only 5 /arch flag values, which isn't nearly enough to cover all the CPU features that LLVM cares about. At the very least, we need to know about SSE3 and SSE4.1 in addition to SSE, SSE2, AVX, and AVX2. In the future we should add the relevant /arch mappings in addition to these gcc-style -m flags. llvm-svn: 212869
* Driver: Handle /GR- in a compatible way with MSVCDavid Majnemer2014-07-011-3/+5
| | | | | | | | | | | | | | | | | There are slight differences between /GR- and -fno-rtti which made mapping one to the other inappropriate. -fno-rtti disables dynamic_cast, typeid, and does not emit RTTI related information for the v-table. /GR- does not generate complete object locators and thus will not reference them in vftables. However, constructs like dynamic_cast and typeid are permitted. This should bring our implementation of RTTI up to semantic parity with MSVC modulo bugs. llvm-svn: 212138
* clang-cl: Ignore /Zc:inline and /Zc:rvalueCastReid Kleckner2014-07-011-0/+2
| | | | | | | | | | These flags enable behavior in MSVC that Clang has by default. /Zc:inline essentially marks all COMDATs as discardable. In LLVM parlance, this means using linkonce_odr linkage, which is what we already do. llvm-svn: 212117
* Add support for the /EP argument to clang-clHans Wennborg2014-06-131-1/+5
| | | | | | | | | | This maps the /EP argument to both -E and -P. Patch by Ehsan Akhgari! Differential Reviion: http://reviews.llvm.org/D4133 llvm-svn: 210935
* clang-cl: accept the /C option with /P (PR19978)Hans Wennborg2014-06-111-2/+9
| | | | | | (It's also allowed with /EP, but we haven't implemented that option yet.) llvm-svn: 210695
* clang-cl: Disable TBAA by default for MSVC compatibilityReid Kleckner2014-04-091-0/+8
| | | | | | | MSVC doesn't have an option to enable TBAA, so make -fstrict-aliasing and -fno-strict-aliasing available in clang-cl. llvm-svn: 205924
* clang-cl: make /Gw map to -fdata-sectionsDavid Majnemer2014-04-071-2/+6
| | | | | | Note that /Gy no longer implies -fdata-sections. llvm-svn: 205716
* Add clang-cl alias to allow users to disable c4005Reid Kleckner2014-04-041-0/+4
| | | | | | | | If we ever want three or more aliases, at that point we should put MSVC warning ids in DiagnosticGroups.td. We can use that to support #pragma warning. llvm-svn: 205598
* Try to fix the cl-options.c test on ARM botsHans Wennborg2014-03-281-5/+7
| | | | | | | | | | | | | | | The test was failing because clang-cl changes the default triple to target MSVC-style Win32. This is kind of wonky, but hasn't been a problem until we started warning: warning: unknown platform, assuming -mfloat-abi=soft Some of the tests in cl-options.c were running with -Werror, causing them to fail. Fixing this by FileCheck-ifying those tests instead of using -Werror. llvm-svn: 205049
* clang-cl: make /Gy imply -fdata-sections in addition to -ffunction-sectionsHans Wennborg2014-03-251-0/+2
| | | | llvm-svn: 204736
* Driver: Map /Gy to -ffunction-sectionsDavid Majnemer2014-03-231-2/+6
| | | | | | | | | | /Gy is equivalent to -ffunction-sections. /Gy- is equivalent to -fno-function-sections. Currently, LLVM doesn't do anything interesting with -ffunction-sections under WinCOFF. llvm-svn: 204564
* Driver: cleanup /vd2 testDavid Majnemer2014-03-231-1/+3
| | | | | | | | /vd2 is not ignored anymore, remove it from the ignored list. Add a test to ensure that it does the right thing. llvm-svn: 204563
* clang-cl: use -fno-rtti by defaultHans Wennborg2014-02-251-0/+6
| | | | | | | Generating RTTI in the MS ABI is currently not supported, and the failures are confusing to users, so let's disable it by default for now. llvm-svn: 202178
* clang-cl: Parse the /d2Zi+ flag (PR18728)Hans Wennborg2014-02-181-0/+1
| | | | | | | This is an undocumented, but reportedly widely used flag. We don't support it, but should be able to parse it. llvm-svn: 201588
* MS ABI: Add support for the -vm{b,g,s,m,v} flagsDavid Majnemer2014-02-111-4/+18
| | | | | | | | | These flags control the inheritance model initially used by the translation unit. Differential Revision: http://llvm-reviews.chandlerc.com/D2741 llvm-svn: 201175
* clang-cl: make /Zp a Joined option (PR18503)Hans Wennborg2014-01-221-0/+1
| | | | | | We don't currently support this option, but we should be able to parse it. llvm-svn: 199787
* clang-cl: Support /P and /E (preprocess to file or stdout)Hans Wennborg2013-12-201-4/+4
| | | | llvm-svn: 197827
* clang-cl: Make the driver parse all(?) msvc flagsHans Wennborg2013-11-151-12/+109
| | | | | | | | | | | Even if we don't support a flag, we should be able to parse it to provide a better error message than the current default "error: no such file or directory: '/foo'" (which we should probably also tweak, btw). This also tries to clean up the test file a bit. llvm-svn: 194837
* clang-cl: parse the /Yc flag (PR17895)Hans Wennborg2013-11-121-1/+1
| | | | llvm-svn: 194523
* clang-cl: parse the /GT optionHans Wennborg2013-11-121-1/+1
| | | | llvm-svn: 194502
* clang-cl: Parse the /arch, /Yu and /Fp options (PR17736)Hans Wennborg2013-10-301-0/+1
| | | | | | We don't support these options, but should at least parse them. llvm-svn: 193702
* Add support for the separate version of /FI.Rafael Espindola2013-10-291-0/+3
| | | | | | Patch by Jeff Muizelaar. llvm-svn: 193642
* clang-cl: Mark /FA and /Fa as unsupported optionsHans Wennborg2013-10-111-0/+1
| | | | llvm-svn: 192465
* clang-cl: simplify the -m32 -m64 testHans Wennborg2013-10-101-4/+1
| | | | | | This was just broken. llvm-svn: 192405
* clang-cl: Expose the -m32 and -m64 command-line optionsHans Wennborg2013-10-101-0/+7
| | | | | | And add a test to check that they work. llvm-svn: 192402
* clang-cl: ignore the /sdl[-] flagHans Wennborg2013-10-081-0/+1
| | | | | | | In cl.exe, this flag turns some warnings into errors and adds some codegen security checks. I don't think we intend to support this. llvm-svn: 192201
* clang-cl: Add /FI (forced include) as an alias for -includeReid Kleckner2013-09-261-3/+6
| | | | | | Patch by Jeff Muizelaar, with added test case. llvm-svn: 191442
* clang-cl: ignore ths /GS- flagHans Wennborg2013-09-171-1/+1
| | | | | | | | The /GS- flag is used to turn off run-time buffer security checks (/GS). Since no such checks are enabled in the first place, I think we should just ignore this flag. llvm-svn: 190900
* cl-options.c just use touch to create that .obj fileHans Wennborg2013-09-171-1/+1
| | | | llvm-svn: 190832
OpenPOWER on IntegriCloud