Revision tags: llvmorg-3.7.0, llvmorg-3.7.0-rc4, llvmorg-3.7.0-rc3, studio-1.4, llvmorg-3.7.0-rc2 |
|
#
fb2398d0 |
| 17-Jul-2015 |
Adrian Prantl <aprantl@apple.com> |
Make the clang module container format selectable from the command line. - introduces a new cc1 option -fmodule-format=[raw,obj] with 'raw' being the default - supports arbitrary module container f
Make the clang module container format selectable from the command line. - introduces a new cc1 option -fmodule-format=[raw,obj] with 'raw' being the default - supports arbitrary module container formats that libclang is agnostic to - adds the format to the module hash to avoid collisions - splits the old PCHContainerOperations into PCHContainerWriter and a PCHContainerReader.
Thanks to Richard Smith for reviewing this patch!
llvm-svn: 242499
show more ...
|
Revision tags: llvmorg-3.7.0-rc1 |
|
#
59e3d755 |
| 24-Jun-2015 |
Douglas Gregor <dgregor@apple.com> |
Add __nonnull/__nullable/__null_unspecified predefines for Darwin.
Addresses the rest of rdar://problem/21530726.
llvm-svn: 240597
|
Revision tags: llvmorg-3.6.2, llvmorg-3.6.2-rc1 |
|
#
bb165fb0 |
| 20-Jun-2015 |
Adrian Prantl <aprantl@apple.com> |
Introduce a PCHContainerOperations interface (NFC).
A PCHContainerOperations abstract interface provides operations for creating and unwrapping containers for serialized ASTs (precompiled headers an
Introduce a PCHContainerOperations interface (NFC).
A PCHContainerOperations abstract interface provides operations for creating and unwrapping containers for serialized ASTs (precompiled headers and clang modules). The default implementation is RawPCHContainerOperations, which uses a flat file for the output.
The main application for this interface will be an ObjectFilePCHContainerOperations implementation that uses LLVM to wrap the module in an ELF/Mach-O/COFF container to store debug info alongside the AST.
rdar://problem/20091852
llvm-svn: 240225
show more ...
|
#
24d59d14 |
| 22-May-2015 |
Faisal Vali <faisalv@yahoo.com> |
"This adds -fconcepts-ts as a cc1 option for enabling the in-progress implementation of the Concepts TS. The recommended feature test macro __cpp_experimental_concepts is set to 1 (as opposed to 2015
"This adds -fconcepts-ts as a cc1 option for enabling the in-progress implementation of the Concepts TS. The recommended feature test macro __cpp_experimental_concepts is set to 1 (as opposed to 201501) to indicate that the feature is enabled, but the implementation is incomplete.
The link to the Concepts TS in cxx_status is updated to refer to the PDTS (N4377). Additional changes related to __has_feature and __has_extension are to follow in a later change.
Relevant tests include:
test/Lexer/cxx-features.cpp
The test file is updated with testing of the C++14 + Concepts TS mode. The expected behaviour is the same as that of the C++14 modes except for the case of __cpp_experimental_concepts."
- Hubert Tong.
Being committed for Hubert (as per his understanding with Richard Smith) as we start work on the concepts-ts following our preliminary strategy session earlier today.
The patch is tiny and seems quite standard.
Thanks Hubert!
llvm-svn: 237982
show more ...
|
Revision tags: llvmorg-3.6.1 |
|
#
470d9424 |
| 13-May-2015 |
Peter Collingbourne <peter@pcc.me.uk> |
Make GNUInline consistent with whether we use traditional GNU inline semantics.
Previously we were setting LangOptions::GNUInline (which controls whether we use traditional GNU inline semantics) if
Make GNUInline consistent with whether we use traditional GNU inline semantics.
Previously we were setting LangOptions::GNUInline (which controls whether we use traditional GNU inline semantics) if the language did not have the C99 feature flag set. The trouble with this is that C++ family languages also do not have that flag set, so we ended up setting this flag in C++ modes (and working around it in a few places downstream by also checking CPlusPlus).
The fix is to check whether the C89 flag is set for the target language, rather than whether the C99 flag is cleared. This also lets us remove most CPlusPlus checks. We continue to test CPlusPlus when deciding whether to pre-define the __GNUC_GNU_INLINE__ macro for consistency with GCC.
There is a change in semantics in two other places where we weren't checking both CPlusPlus and GNUInline (FunctionDecl::doesDeclarationForceExternallyVisibleDefinition and FunctionDecl::isInlineDefinitionExternallyVisible), but this change seems to put us back into line with GCC's semantics (test case: test/CodeGen/inline.c).
While at it, forbid -fgnu89-inline in C++ modes, as GCC doesn't support it, it didn't have any effect before, and supporting it just makes things more complicated.
Differential Revision: http://reviews.llvm.org/D9333
llvm-svn: 237299
show more ...
|
Revision tags: llvmorg-3.6.1-rc1, llvmorg-3.5.2, llvmorg-3.5.2-rc1, llvmorg-3.6.0 |
|
#
4992099b |
| 23-Feb-2015 |
Ed Schouten <ed@80386.nl> |
Add C11 *_DECIMAL_DIG.
Before C11 there was only the DECIMAL_DIG definition. As of C11, we now have one definition per floating point type (e.g. DBL_DECIMAL_DIG). Change the existing code to define
Add C11 *_DECIMAL_DIG.
Before C11 there was only the DECIMAL_DIG definition. As of C11, we now have one definition per floating point type (e.g. DBL_DECIMAL_DIG). Change the existing code to define the new versions. To remain backward compatible, define __DECIMAL_DIG__ as __LDBL_DECIMAL_DIG__.
Also update the tests. It seems that some of the existing test vectors were incorrect. Change all tests for __DECIMAL_DIG__ to expect __LDBL_DECIMAL_DIG__. Add tests for *_DECIMAL_DIG for FreeBSD/amd64, as I happen to have such a system laying around. I've validated that the values are in sync with <float.h>.
llvm-svn: 230207
show more ...
|
Revision tags: llvmorg-3.6.0-rc4, llvmorg-3.6.0-rc3 |
|
#
ea50312b |
| 12-Feb-2015 |
Vasileios Kalintiris <Vasileios.Kalintiris@imgtec.com> |
[mips] Partially revert r223927: Removing __SIZEOF_INT128__ macro for MIPS64
Partially revert r223927 because LLVM gained support for 128-bit integers in r227089. Modify and keep the tests that veri
[mips] Partially revert r223927: Removing __SIZEOF_INT128__ macro for MIPS64
Partially revert r223927 because LLVM gained support for 128-bit integers in r227089. Modify and keep the tests that verify the definition of the macro __SIZEOF_INT128__ for MIPS64 BE & LE in the preprocessor.
llvm-svn: 228918
show more ...
|
#
a6a19f1e |
| 06-Feb-2015 |
Tim Northover <tnorthover@apple.com> |
Preprocessor: support __BIGGEST_ALIGNMENT__ macro
For compatibility with GCC (and because it's generally helpful information otherwise inaccessible to the preprocessor). This appears to be canonical
Preprocessor: support __BIGGEST_ALIGNMENT__ macro
For compatibility with GCC (and because it's generally helpful information otherwise inaccessible to the preprocessor). This appears to be canonically the alignment of max_align_t (e.g. on i386, __BIGGEST_ALIGNMENT__ is 4 even though vector types will be given greater alignment).
Patch mostly by Mats Petersson
llvm-svn: 228367
show more ...
|
Revision tags: llvmorg-3.6.0-rc2, llvmorg-3.6.0-rc1, llvmorg-3.5.1, llvmorg-3.5.1-rc2 |
|
#
d83248e6 |
| 10-Dec-2014 |
Simon Atanasyan <simon@atanasyan.com> |
[mips] Removing __SIZEOF_INT128__ macro for MIPS64
This is a temporary workaround while MIPS64 has not yet fully supported 128-bit integers. But declaration of int128 type is necessary even though `
[mips] Removing __SIZEOF_INT128__ macro for MIPS64
This is a temporary workaround while MIPS64 has not yet fully supported 128-bit integers. But declaration of int128 type is necessary even though `__SIZEOF_INT128__` is undefined because c++ standard header files like `limits` throw error message if `__int128` is not available.
Patch by Sagar Thakur.
Differential Revision: http://reviews.llvm.org/D6402
llvm-svn: 223927
show more ...
|
Revision tags: llvmorg-3.5.1-rc1 |
|
#
bbc01785 |
| 03-Dec-2014 |
Reid Kleckner <reid@kleckner.net> |
CUDA host device code with two code paths
Summary: Allow CUDA host device functions with two code paths using __CUDA_ARCH__ to differentiate between code path being compiled.
For example: __host_
CUDA host device code with two code paths
Summary: Allow CUDA host device functions with two code paths using __CUDA_ARCH__ to differentiate between code path being compiled.
For example: __host__ __device__ void host_device_function(void) { #ifdef __CUDA_ARCH__ device_only_function(); #else host_only_function(); #endif }
Patch by Jacques Pienaar.
Reviewed By: rnk
Differential Revision: http://reviews.llvm.org/D6457
llvm-svn: 223271
show more ...
|
#
e070b99b |
| 14-Nov-2014 |
Reid Kleckner <reid@kleckner.net> |
Remove -fseh-exceptions in favor of checking the triple
This option was misleading because it looked like it enabled the language feature of SEH (__try / __except), when this option was really contr
Remove -fseh-exceptions in favor of checking the triple
This option was misleading because it looked like it enabled the language feature of SEH (__try / __except), when this option was really controlling which EH personality function to use. Mingw only supports SEH and SjLj EH on x86_64, so we can simply do away with this flag.
llvm-svn: 221963
show more ...
|
#
38af8561 |
| 12-Nov-2014 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Update Clang's SD-6 support to match N4200 (except for __has_cpp_attribute, which we don't yet implement).
llvm-svn: 221816
|
#
8ef921a4 |
| 27-Oct-2014 |
David Majnemer <david.majnemer@gmail.com> |
Frontend: Define __EXCEPTIONS if -fexceptions is passed
GCC defines __EXCEPTIONS, regardless of language mode, if -fexceptions is passed. We should do the same.
This fixes PR21358.
llvm-svn: 2207
Frontend: Define __EXCEPTIONS if -fexceptions is passed
GCC defines __EXCEPTIONS, regardless of language mode, if -fexceptions is passed. We should do the same.
This fixes PR21358.
llvm-svn: 220714
show more ...
|
#
7a6f3644 |
| 21-Oct-2014 |
Aaron Ballman <aaron@aaronballman.com> |
Follow-up commit to r211657 which introduced these macros, but not for MSVC. This turns out to break our freestanding tests on Windows when compiling in MSVC-compatible mode. It was decided (http://l
Follow-up commit to r211657 which introduced these macros, but not for MSVC. This turns out to break our freestanding tests on Windows when compiling in MSVC-compatible mode. It was decided (http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20141020/116942.html is the start of the thread) to support this as part of Clang's interface on all platforms.
llvm-svn: 220312
show more ...
|
#
8f45c9cc |
| 15-Sep-2014 |
Reid Kleckner <reid@kleckner.net> |
Add -fseh-exceptions for MinGW-w64
This adds a flag called -fseh-exceptions that uses the native Windows .pdata and .xdata unwind mechanism to throw exceptions. The other EH possibilities are DWARF
Add -fseh-exceptions for MinGW-w64
This adds a flag called -fseh-exceptions that uses the native Windows .pdata and .xdata unwind mechanism to throw exceptions. The other EH possibilities are DWARF and SJLJ exceptions.
Patch by Martell Malone!
Reviewed By: asl, rnk
Differential Revision: http://reviews.llvm.org/D3419
llvm-svn: 217790
show more ...
|
Revision tags: llvmorg-3.5.0, llvmorg-3.5.0-rc4, llvmorg-3.5.0-rc3 |
|
#
dd69ef38 |
| 19-Aug-2014 |
Aaron Ballman <aaron@aaronballman.com> |
C++1y is now C++14!
Changes diagnostic options, language standard options, diagnostic identifiers, diagnostic wording to use c++14 instead of c++1y. It also modifies related test cases to use the up
C++1y is now C++14!
Changes diagnostic options, language standard options, diagnostic identifiers, diagnostic wording to use c++14 instead of c++1y. It also modifies related test cases to use the updated diagnostic wording.
llvm-svn: 215982
show more ...
|
#
9af34aea |
| 12-Aug-2014 |
Manuel Klimek <klimek@google.com> |
Correctly implement -include search logic.
According to the gcc docs, -include uses the current working directory for the lookup instead of the main source file.
This patch gets rid of NormalizeInc
Correctly implement -include search logic.
According to the gcc docs, -include uses the current working directory for the lookup instead of the main source file.
This patch gets rid of NormalizeIncludePath (which relied on an implementation detail of FileManager / FileEntry for the include path logic to work), and instead hands the correct lookup information down to LookupFile.
This will allow us to change the FileEntry's behavior regarding its Name caching.
llvm-svn: 215433
show more ...
|
#
7400e596 |
| 08-Aug-2014 |
Bob Wilson <bob.wilson@apple.com> |
Predefine IB_DESIGNABLE and IBInspectable macros. <rdar://problem/17441860>
These macros are used as markers for Interface Builder and need to be defined to empty strings since they have no impact o
Predefine IB_DESIGNABLE and IBInspectable macros. <rdar://problem/17441860>
These macros are used as markers for Interface Builder and need to be defined to empty strings since they have no impact on the code.
Patch by Ted Kremenek.
llvm-svn: 215259
show more ...
|
Revision tags: llvmorg-3.5.0-rc2, llvmorg-3.5.0-rc1 |
|
#
587deea8 |
| 17-Jul-2014 |
Joerg Sonnenberger <joerg@bec.de> |
If char/short are shorter than int, do not use U as suffix for constants. Comparing int against a constant of the given type like UINT8_MAX will otherwise force a promotion to unsigned int, which is
If char/short are shorter than int, do not use U as suffix for constants. Comparing int against a constant of the given type like UINT8_MAX will otherwise force a promotion to unsigned int, which is typically not expected.
llvm-svn: 213301
show more ...
|
#
3042f7e7 |
| 17-Jul-2014 |
Joerg Sonnenberger <joerg@bec.de> |
Always set the C suffix macro, even if it is empty.
llvm-svn: 213299
|
#
b3a4969b |
| 17-Jul-2014 |
Joerg Sonnenberger <joerg@bec.de> |
Provide __SIG_ATOMIC_MAX__ next to __SIG_ATOMIC_WIDTH__.
llvm-svn: 213289
|
#
f6432d83 |
| 15-Jul-2014 |
Joerg Sonnenberger <joerg@bec.de> |
Add __INTMAX_C_SUFFIX__ and __UINTMAX_C_SUFFIX__.
llvm-svn: 213097
|
#
cc43c858 |
| 15-Jul-2014 |
Joerg Sonnenberger <joerg@bec.de> |
Don't create non-temporary twines.
llvm-svn: 213066
|
#
62277b37 |
| 15-Jul-2014 |
Joerg Sonnenberger <joerg@bec.de> |
Make sure int64_t and uint64_t are consistent.
llvm-svn: 213065
|
#
be324f98 |
| 15-Jul-2014 |
Joerg Sonnenberger <joerg@bec.de> |
Provide builtin macros as template for PRIab and SCNab, matching the underlaying types.
llvm-svn: 213063
|