| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 231026
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
This reverts commit r229123. It was a red herring, the bug was present
without r229082.
llvm-svn: 229205
|
|
|
|
| |
llvm-svn: 229123
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* /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
|
|
|
|
|
|
|
|
| |
The /volatile:iso flag is our default behaviour, so it can be ignored.
Parse /volatile:ms as unsupported.
llvm-svn: 224202
|
|
|
|
| |
llvm-svn: 224201
|
|
|
|
|
|
|
| |
/Gd is the default calling convention setting, so we don't
need to take any action.
llvm-svn: 224200
|
|
|
|
|
|
| |
We don't currently support any of the calling convention options.
llvm-svn: 224199
|
|
|
|
|
|
|
| |
Also fix the ignored options test which didn't fail properly on
unknown options.
llvm-svn: 222013
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
It's already tested in cl-x86-flags.c, and can only be used
when targeting X86.
llvm-svn: 213179
|
|
|
|
| |
llvm-svn: 213170
|
|
|
|
|
|
| |
The CoreOption flag got lost in the changes.
llvm-svn: 213164
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
This maps the /EP argument to both -E and -P.
Patch by Ehsan Akhgari!
Differential Reviion: http://reviews.llvm.org/D4133
llvm-svn: 210935
|
|
|
|
|
|
| |
(It's also allowed with /EP, but we haven't implemented that option yet.)
llvm-svn: 210695
|
|
|
|
|
|
|
| |
MSVC doesn't have an option to enable TBAA, so make -fstrict-aliasing
and -fno-strict-aliasing available in clang-cl.
llvm-svn: 205924
|
|
|
|
|
|
| |
Note that /Gy no longer implies -fdata-sections.
llvm-svn: 205716
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 204736
|
|
|
|
|
|
|
|
|
|
| |
/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
|
|
|
|
|
|
|
|
| |
/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
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
This is an undocumented, but reportedly widely used flag.
We don't support it, but should be able to parse it.
llvm-svn: 201588
|
|
|
|
|
|
|
|
|
| |
These flags control the inheritance model initially used by the
translation unit.
Differential Revision: http://llvm-reviews.chandlerc.com/D2741
llvm-svn: 201175
|
|
|
|
|
|
| |
We don't currently support this option, but we should be able to parse it.
llvm-svn: 199787
|
|
|
|
| |
llvm-svn: 197827
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 194523
|
|
|
|
| |
llvm-svn: 194502
|
|
|
|
|
|
| |
We don't support these options, but should at least parse them.
llvm-svn: 193702
|
|
|
|
|
|
| |
Patch by Jeff Muizelaar.
llvm-svn: 193642
|
|
|
|
| |
llvm-svn: 192465
|
|
|
|
|
|
| |
This was just broken.
llvm-svn: 192405
|
|
|
|
|
|
| |
And add a test to check that they work.
llvm-svn: 192402
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Patch by Jeff Muizelaar, with added test case.
llvm-svn: 191442
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 190832
|