#
7ffc3fbb |
| 20-Mar-2015 |
Reid Kleckner <reid@kleckner.net> |
C++14: Disable sized deallocation by default due to ABI breakage
There are no widely deployed standard libraries providing sized deallocation functions, so we have to punt and ask the user if they w
C++14: Disable sized deallocation by default due to ABI breakage
There are no widely deployed standard libraries providing sized deallocation functions, so we have to punt and ask the user if they want us to use sized deallocation. In the future, when such libraries are deployed, we can teach the driver to detect them and enable this feature.
N3536 claimed that a weak thunk from sized to unsized deallocation could be emitted to avoid breaking backwards compatibility with standard libraries not providing sized deallocation. However, this approach and other variations don't work in practice.
With the weak function approach, the thunk has to have default visibility in order to ensure that it is overridden by other DSOs providing sized deallocation. Weak, default visibility symbols are particularly expensive on MachO, so John McCall was considering disabling this feature by default on Darwin. It also changes behavior ELF linking behavior, causing certain otherwise unreferenced object files from an archive to be pulled into the link.
Our second approach was to use an extern_weak function declaration and do an inline conditional branch at the deletion call site. This doesn't work because extern_weak only works on MachO if you have some archive providing the default value of the extern_weak symbol. Arranging to provide such an archive has the same challenges as providing the symbol in the standard library. Not to mention that extern_weak doesn't really work on COFF.
Reviewers: rsmith, rjmccall
Differential Revision: http://reviews.llvm.org/D8467
llvm-svn: 232788
show more ...
|
#
f3d3db65 |
| 19-Mar-2015 |
Artem Belevich <tra@google.com> |
Remove .CUDAIsDevice flags from CodeGenOpts as it's already available in LangOpts.
Differential Revision: http://reviews.llvm.org/D8385
llvm-svn: 232749
|
#
83a6dcc4 |
| 19-Mar-2015 |
Artem Belevich <tra@google.com> |
Ensure that we still parse preprocessed CUDA files as CUDA when we use -save-temps option.
Summary: Fixes PR22926.
Review: http://reviews.llvm.org/D8383 llvm-svn: 232737
|
#
92e1b62d |
| 18-Mar-2015 |
Yaron Keren <yaron.keren@gmail.com> |
Remove many superfluous SmallString::str() calls.
Now that SmallString is a first-class citizen, most SmallString::str() calls are not required. This patch removes a whole bunch of them, yet there a
Remove many superfluous SmallString::str() calls.
Now that SmallString is a first-class citizen, most SmallString::str() calls are not required. This patch removes a whole bunch of them, yet there are lots more.
There are two use cases where str() is really needed: 1) To use one of StringRef member functions which is not available in SmallString. 2) To convert to std::string, as StringRef implicitly converts while SmallString do not. We may wish to change this, but it may introduce ambiguity.
llvm-svn: 232622
show more ...
|
Revision tags: llvmorg-3.5.2, llvmorg-3.5.2-rc1 |
|
#
c888dd0c |
| 17-Mar-2015 |
Michael Zolotukhin <mzolotukhin@apple.com> |
Add fveclib option.
Review: http://reviews.llvm.org/D8097 llvm-svn: 232533
|
#
4e46237c |
| 16-Mar-2015 |
Justin Bogner <mail@justinbogner.com> |
GCOV: Expose the -coverage-exit-block-before-body flag in clang -cc1
This exposes the optional exit block placement logic from r232438 as a clang -cc1 option. There is a test on the llvm side, but t
GCOV: Expose the -coverage-exit-block-before-body flag in clang -cc1
This exposes the optional exit block placement logic from r232438 as a clang -cc1 option. There is a test on the llvm side, but there isn't really a way to inspect the gcov options from clang to test it here as well.
llvm-svn: 232439
show more ...
|
#
b111ec94 |
| 02-Mar-2015 |
Bob Wilson <bob.wilson@apple.com> |
Add clang support for Objective-C application extensions.
This adds the -fapplication-extension option, along with the ios_app_extension and macosx_app_extension availability attributes. Patch by Te
Add clang support for Objective-C application extensions.
This adds the -fapplication-extension option, along with the ios_app_extension and macosx_app_extension availability attributes. Patch by Ted Kremenek
llvm-svn: 230989
show more ...
|
#
1df0fea5 |
| 26-Feb-2015 |
Reid Kleckner <reid@kleckner.net> |
Add -fuse-line-directive flag to control usage of #line with -E
Currently -fms-extensions controls this behavior, which doesn't make much sense. It means we can't identify what is and isn't a system
Add -fuse-line-directive flag to control usage of #line with -E
Currently -fms-extensions controls this behavior, which doesn't make much sense. It means we can't identify what is and isn't a system header when compiling our own preprocessed output, because #line doesn't represent this information.
If someone is feeding Clang's preprocessed output to another compiler, they can use this flag.
Fixes PR20553.
Reviewers: rsmith
Differential Revision: http://reviews.llvm.org/D5217
llvm-svn: 230587
show more ...
|
Revision tags: llvmorg-3.6.0 |
|
#
a50178c2 |
| 24-Feb-2015 |
Jacques Pienaar <jpienaar@google.com> |
CUDA: Add option to allow host device functions to call host functions
Commiting code from review http://reviews.llvm.org/D7841
llvm-svn: 230385
|
#
6b07a1c6 |
| 20-Feb-2015 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add -funique-section-names and -fno-unique-section-names options.
For now -funique-section-names is the default, so no change in default behavior.
The total .o size in a build of llvm and clang goe
Add -funique-section-names and -fno-unique-section-names options.
For now -funique-section-names is the default, so no change in default behavior.
The total .o size in a build of llvm and clang goes from 241687775 to 230649031 bytes if -fno-unique-section-names is used.
llvm-svn: 230031
show more ...
|
#
d2e8b04d |
| 20-Feb-2015 |
Manuel Klimek <klimek@google.com> |
Add -fno-implicit-modules.
If this flag is set, we error out when a module build is required. This is useful in environments where all required modules are passed via -fmodule-file.
llvm-svn: 230006
|
#
89088232 |
| 20-Feb-2015 |
Larisse Voufo <lvoufo@google.com> |
Add -fno-sized-deallocation option for completeness of fix in r229241 in documentation in r229818.
llvm-svn: 229950
|
#
07236733 |
| 19-Feb-2015 |
Ben Langmuir <blangmuir@apple.com> |
Revert adding hostname to module hash
I didn't realize how easily the hostname could change - for example just changing wireless networks seems to prompt it in some cases.
Users can always set thei
Revert adding hostname to module hash
I didn't realize how easily the hostname could change - for example just changing wireless networks seems to prompt it in some cases.
Users can always set their own local module cache path to avoid this.
This reverts commits r228592, 228594, 228601 and 228613. rdar://19287368
llvm-svn: 229815
show more ...
|
Revision tags: llvmorg-3.6.0-rc4 |
|
#
e990a3f6 |
| 18-Feb-2015 |
Larisse Voufo <lvoufo@google.com> |
Rename flags and options to match current naming: from -fdef-sized-delete to -fdefine-sized-deallocation, and from DefaultSizedDelete to DefineSizedDeallocation.
llvm-svn: 229597
|
#
5526f4f0 |
| 14-Feb-2015 |
Larisse Voufo <lvoufo@google.com> |
Revise the implementation logic of sized deallocation: Do not automatically generate weak definitions of the sized operator delete (in terms of unsized operator delete). Instead, provide the funciton
Revise the implementation logic of sized deallocation: Do not automatically generate weak definitions of the sized operator delete (in terms of unsized operator delete). Instead, provide the funcitonality via a new compiler flag, -fdef-sized-delete. The current implementation causes link-time ODR violations when the delete symbols are exported into the dynamic table.
llvm-svn: 229241
show more ...
|
#
a5b195a1 |
| 14-Feb-2015 |
David Majnemer <david.majnemer@gmail.com> |
Revert "Revert r229082 for a bit, it caused PR22577."
This reverts commit r229123. It was a red herring, the bug was present without r229082.
llvm-svn: 229205
|
#
7ce96b85 |
| 13-Feb-2015 |
Nico Weber <nicolasweber@gmx.de> |
Revert r229082 for a bit, it caused PR22577.
llvm-svn: 229123
|
#
abc482ef |
| 13-Feb-2015 |
David Majnemer <david.majnemer@gmail.com> |
MS ABI: Implement /volatile:ms
The /volatile:ms semantics turn volatile loads and stores into atomic acquire and release operations. This distinction is important because volatile memory operations
MS ABI: Implement /volatile:ms
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
show more ...
|
Revision tags: llvmorg-3.6.0-rc3 |
|
#
541c202b |
| 09-Feb-2015 |
Ben Langmuir <blangmuir@apple.com> |
Be more conservative about gethostname()'s truncating behaviour
Don't assume it will provide an error or null-terminate the string on truncation, since POSIX doesn't guarantee either behaviour (alth
Be more conservative about gethostname()'s truncating behaviour
Don't assume it will provide an error or null-terminate the string on truncation, since POSIX doesn't guarantee either behaviour (although Linux and Darwin at least will do the 'right thing').
llvm-svn: 228613
show more ...
|
#
9be5d1ec |
| 09-Feb-2015 |
Ben Langmuir <blangmuir@apple.com> |
Update r228592 for when gethostname() returns an error
If gethostname() is not successful, just skip adding the hostname to the module hash. And don't bother setting hostname[255] = 0, since if get
Update r228592 for when gethostname() returns an error
If gethostname() is not successful, just skip adding the hostname to the module hash. And don't bother setting hostname[255] = 0, since if gethostname() is successful, it will be null-terminated already (and if it's not successful we don't read the string now.
llvm-svn: 228601
show more ...
|
#
521954e8 |
| 09-Feb-2015 |
Ben Langmuir <blangmuir@apple.com> |
Add missing include from r228592
llvm-svn: 228594
|
#
d072eea5 |
| 09-Feb-2015 |
Ben Langmuir <blangmuir@apple.com> |
Add the hostname to the module hash to avoid sharing between hosts
Sharing between hosts will cause problems for the LockFileManager, which can timeout waiting for a process that has already died.
Add the hostname to the module hash to avoid sharing between hosts
Sharing between hosts will cause problems for the LockFileManager, which can timeout waiting for a process that has already died.
llvm-svn: 228592
show more ...
|
#
a511cdd2 |
| 04-Feb-2015 |
Alexey Samsonov <vonosmas@gmail.com> |
Allow to specify multiple -fsanitize-blacklist= arguments.
Summary: Allow user to provide multiple blacklists by passing several -fsanitize-blacklist= options. These options now don't override defau
Allow to specify multiple -fsanitize-blacklist= arguments.
Summary: Allow user to provide multiple blacklists by passing several -fsanitize-blacklist= options. These options now don't override default blacklist from Clang resource directory, which is always applied (which fixes PR22431).
-fno-sanitize-blacklist option now disables all blacklists that were specified earlier in the command line (including the default one).
This change depends on http://reviews.llvm.org/D7367.
Test Plan: regression test suite
Reviewers: timurrrr
Subscribers: cfe-commits, kcc, pcc
Differential Revision: http://reviews.llvm.org/D7368
llvm-svn: 228156
show more ...
|
#
532d2104 |
| 02-Feb-2015 |
Ben Langmuir <blangmuir@apple.com> |
Add cc1 option '-fmodule-feature' to add custom values for 'requires' decls
This allows clang-based tools to specify custom features that can be tested by the 'requires' declaration in a module map
Add cc1 option '-fmodule-feature' to add custom values for 'requires' decls
This allows clang-based tools to specify custom features that can be tested by the 'requires' declaration in a module map file.
llvm-svn: 227868
show more ...
|
#
8ab003a0 |
| 02-Feb-2015 |
David Majnemer <david.majnemer@gmail.com> |
The prefix 'Ms-' should be 'MS-'
Clang is otherwise consistent that Microsoft be abbreviated as MS, not Ms.
llvm-svn: 227842
|