#
a0f50d73 |
| 18-Jan-2020 |
Saar Raz <saar@raz.email> |
[Concepts] Requires Expressions
Implement support for C++2a requires-expressions.
Re-commit after compilation failure on some platforms due to alignment issues with PointerIntPair.
Differential Re
[Concepts] Requires Expressions
Implement support for C++2a requires-expressions.
Re-commit after compilation failure on some platforms due to alignment issues with PointerIntPair.
Differential Revision: https://reviews.llvm.org/D50360
show more ...
|
#
baa84d8c |
| 18-Jan-2020 |
Saar Raz <saar@raz.email> |
Revert "[Concepts] Requires Expressions"
This reverts commit 027931899763409e2c61a84bdee6057b5e838ffa.
There have been some failing tests on some platforms, reverting while investigating.
|
#
02793189 |
| 18-Jan-2020 |
Saar Raz <saar@raz.email> |
[Concepts] Requires Expressions
Implement support for C++2a requires-expressions.
Differential Revision: https://reviews.llvm.org/D50360
|
#
f4a45c2c |
| 19-Dec-2019 |
Richard Smith <richard@metafoo.co.uk> |
Fix crash on init-capture packs where the type of the initializer is non-dependent.
|
#
df2e2ab0 |
| 19-Dec-2019 |
Richard Smith <richard@metafoo.co.uk> |
Implement latest C++ feature test macro recommendations.
We don't yet advertise init capture packs, because I found some bugs while testing it. We reject-valid and then crash on both of these:
temp
Implement latest C++ feature test macro recommendations.
We don't yet advertise init capture packs, because I found some bugs while testing it. We reject-valid and then crash on both of these:
template<int ...a> auto x = [...y = a] {}; template<int ...a> auto x = [y = a...] {};
show more ...
|
#
bc633a42 |
| 16-Dec-2019 |
Richard Smith <richard@metafoo.co.uk> |
Mark the major papers for C++20 consistent comparisons as "done", and start publishing the corresponding feature-test macro.
|
#
cb30ad72 |
| 10-Dec-2019 |
Alexey Bader <alexey.bader@intel.com> |
[SYCL] Add support for auxiliary triple specification to Frontend
Summary: Add host predefined macros to compilation for SYCL device, which is required for pre-processing host specific includes (e.g
[SYCL] Add support for auxiliary triple specification to Frontend
Summary: Add host predefined macros to compilation for SYCL device, which is required for pre-processing host specific includes (e.g. system headers).
Reviewers: ABataev, jdoerfert
Subscribers: ebevhan, Anastasia, cfe-commits, keryell, Naghasan, Fznamznon
Tags: #clang
Differential Revision: https://reviews.llvm.org/D71286
Signed-off-by: Alexey Bader <alexey.bader@intel.com>
show more ...
|
#
78424e5f |
| 21-Oct-2019 |
Bjorn Pettersson <bjorn.a.pettersson@ericsson.com> |
Prune include of DataLayout.h from include/clang/Basic/TargetInfo.h. NFC
Summary: Use a forward declaration of DataLayout instead of including DataLayout.h in clangs TargetInfo.h. This reduces inclu
Prune include of DataLayout.h from include/clang/Basic/TargetInfo.h. NFC
Summary: Use a forward declaration of DataLayout instead of including DataLayout.h in clangs TargetInfo.h. This reduces include dependencies toward DataLayout.h (and other headers such as DerivedTypes.h, Type.h that is included by DataLayout.h).
Needed to move implemantation of TargetInfo::resetDataLayout from TargetInfo.h to TargetInfo.cpp.
Reviewers: rnk
Reviewed By: rnk
Subscribers: jvesely, nhaehnle, cfe-commits, llvm-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D69262
llvm-svn: 375438
show more ...
|
#
c5d14b5c |
| 14-Oct-2019 |
Jan Korous <jkorous@apple.com> |
[clang-scan-deps] Support for clang --analyze in clang-scan-deps
The goal is to have 100% fidelity in clang-scan-deps behavior when --analyze is present in compilation command.
At the same time I d
[clang-scan-deps] Support for clang --analyze in clang-scan-deps
The goal is to have 100% fidelity in clang-scan-deps behavior when --analyze is present in compilation command.
At the same time I don't want to break clang-tidy which expects __static_analyzer__ macro defined as built-in.
I introduce new cc1 options (-setup-static-analyzer) that controls the macro definition and is conditionally set in driver.
Differential Revision: https://reviews.llvm.org/D68093
llvm-svn: 374815
show more ...
|
#
5e866e41 |
| 10-Oct-2019 |
Reid Kleckner <rnk@google.com> |
Add -fgnuc-version= to control __GNUC__ and other GCC macros
I noticed that compiling on Windows with -fno-ms-compatibility had the side effect of defining __GNUC__, along with __GNUG__, __GXX_RTTI_
Add -fgnuc-version= to control __GNUC__ and other GCC macros
I noticed that compiling on Windows with -fno-ms-compatibility had the side effect of defining __GNUC__, along with __GNUG__, __GXX_RTTI__, and a number of other macros for GCC compatibility. This is undesirable and causes Chromium to do things like mix __attribute__ and __declspec, which doesn't work. We should have a positive language option to enable GCC compatibility features so that we can experiment with -fno-ms-compatibility on Windows. This change adds -fgnuc-version= to be that option.
My issue aside, users have, for a long time, reported that __GNUC__ doesn't match their expectations in one way or another. We have encouraged users to migrate code away from this macro, but new code continues to be written assuming a GCC-only environment. There's really nothing we can do to stop that. By adding this flag, we can allow them to choose their own adventure with __GNUC__.
This overlaps a bit with the "GNUMode" language option from -std=gnu*. The gnu language mode tends to enable non-conforming behaviors that we'd rather not enable by default, but the we want to set things like __GXX_RTTI__ by default, so I've kept these separate.
Helps address PR42817
Reviewed By: hans, nickdesaulniers, MaskRay
Differential Revision: https://reviews.llvm.org/D68055
llvm-svn: 374449
show more ...
|
#
69e9d84b |
| 03-Oct-2019 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Mark P0784R7 as complete and start defining its feature-test macro.
Note that this only covers the language side of this feature. (The library side has its own feature test macro.)
llvm-svn: 373548
|
#
b26e9e2a |
| 24-Sep-2019 |
Jan Korous <jkorous@apple.com> |
Revert "[static analyzer] Define __clang_analyzer__ macro in driver"
This reverts commit fbd13570b0d5f92ef2cf6bcfe7cc2f6178500187.
llvm-svn: 372687
|
#
fbd13570 |
| 24-Sep-2019 |
Jan Korous <jkorous@apple.com> |
[static analyzer] Define __clang_analyzer__ macro in driver
Differential Revision: https://reviews.llvm.org/D67938
llvm-svn: 372679
|
#
a6e8b685 |
| 04-Sep-2019 |
Richard Smith <richard-llvm@metafoo.co.uk> |
[c++20] P1143R2: Add support for the C++20 'constinit' keyword.
This is mostly the same as the [[clang::require_constant_initialization]] attribute, but has a couple of additional syntactic and sema
[c++20] P1143R2: Add support for the C++20 'constinit' keyword.
This is mostly the same as the [[clang::require_constant_initialization]] attribute, but has a couple of additional syntactic and semantic restrictions.
In passing, I added a warning for the attribute form being added after we have already seen the initialization of the variable (but before we see the definition); that case previously slipped between the cracks and the attribute was silently ignored.
llvm-svn: 370972
show more ...
|
#
62b072d4 |
| 19-Aug-2019 |
Erich Keane <erich.keane@intel.com> |
Implement P1668R1
Allow inline assembly statements in unexecuted branches of constexpr functions.
llvm-svn: 369281
|
#
ef58804e |
| 12-Aug-2019 |
Anastasia Stulova <anastasia.stulova@arm.com> |
[OpenCL] Fix lang mode predefined macros for C++ mode.
In C++ mode we should only avoid adding __OPENCL_C_VERSION__, all other predefined macros about the language mode are still valid.
This change
[OpenCL] Fix lang mode predefined macros for C++ mode.
In C++ mode we should only avoid adding __OPENCL_C_VERSION__, all other predefined macros about the language mode are still valid.
This change also fixes the language version check in the headers accordingly.
Differential Revision: https://reviews.llvm.org/D65941
llvm-svn: 368552
show more ...
|
#
a06155dd |
| 07-Aug-2019 |
Alexey Bataev <a.bataev@hotmail.com> |
[OPENMP]Set default version to OpenMP 4.5.
Since clang fully supports OpenMP 4.5, set the default version to 4.5 instead of 3.1.
llvm-svn: 368172
|
#
2e3a07fc |
| 07-Aug-2019 |
Alexey Bataev <a.bataev@hotmail.com> |
[OPENMP]Add standard macro value _OPENMP for OpenMP 5.0.
According to the OpenMP standard, compiler must define _OPENMP macro, which has value in format yyyymm, where yyyy is the year of the standar
[OPENMP]Add standard macro value _OPENMP for OpenMP 5.0.
According to the OpenMP standard, compiler must define _OPENMP macro, which has value in format yyyymm, where yyyy is the year of the standard and mm is the month of the standard. For OpenMP 5.0 this value must be set to 201811.
llvm-svn: 368170
show more ...
|
Revision tags: llvmorg-10-init |
|
#
46b55fa5 |
| 18-Jul-2019 |
Anastasia Stulova <anastasia.stulova@arm.com> |
[OpenCL] Update comments/diagnostics to refer to C++ for OpenCL
Clang doesn't implement OpenCL C++, change the comments to reflect that.
Differential Revision: https://reviews.llvm.org/D64867
llvm
[OpenCL] Update comments/diagnostics to refer to C++ for OpenCL
Clang doesn't implement OpenCL C++, change the comments to reflect that.
Differential Revision: https://reviews.llvm.org/D64867
llvm-svn: 366421
show more ...
|
#
56799837 |
| 15-Jul-2019 |
Sylvestre Ledru <sylvestre@debian.org> |
Update __VERSION__ to remove the hardcoded 4.2.1 version
Summary: Just like in https://reviews.llvm.org/D56803 for -dumpversion
Reviewers: rnk
Reviewed By: rnk
Subscribers: dexonsmith, lebedev.ri
Update __VERSION__ to remove the hardcoded 4.2.1 version
Summary: Just like in https://reviews.llvm.org/D56803 for -dumpversion
Reviewers: rnk
Reviewed By: rnk
Subscribers: dexonsmith, lebedev.ri, hubert.reinterpretcast, xbolva00, fedor.sergeev, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D63048
llvm-svn: 366091
show more ...
|
#
21a92a8a |
| 13-Jul-2019 |
Sylvestre Ledru <sylvestre@debian.org> |
This reverts commit 632a36bfcfc8273c1861f04ff6758d863c47c784.
Some targets such as Python 2.7.16 still use VERSION in their builds. Without VERSION defined, the source code has syntax errors.
Rever
This reverts commit 632a36bfcfc8273c1861f04ff6758d863c47c784.
Some targets such as Python 2.7.16 still use VERSION in their builds. Without VERSION defined, the source code has syntax errors.
Reverting as it will probably break many other things.
Noticed by Sterling Augustine
llvm-svn: 365992
show more ...
|
#
60358021 |
| 12-Jul-2019 |
Sylvestre Ledru <sylvestre@debian.org> |
Remove __VERSION__
Summary: It has been introduced in 2011 for gcc compat: https://github.com/llvm-mirror/clang/commit/ad1a4c6e89594e704775ddb6b036ac982fd68cad it is probably time to remove it
Rev
Remove __VERSION__
Summary: It has been introduced in 2011 for gcc compat: https://github.com/llvm-mirror/clang/commit/ad1a4c6e89594e704775ddb6b036ac982fd68cad it is probably time to remove it
Reviewers: rnk, dexonsmith
Reviewed By: rnk
Subscribers: dschuff, aheejin, fedor.sergeev, arphaman, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D64062
llvm-svn: 365962
show more ...
|
Revision tags: llvmorg-8.0.1, llvmorg-8.0.1-rc4, llvmorg-8.0.1-rc3, llvmorg-8.0.1-rc2 |
|
#
059b823e |
| 31-May-2019 |
John McCall <rjmccall@apple.com> |
Fix the predefined exponent limit macros for the 16-bit IEEE format.
The magnitude range of normalized _Float16 is 2^-14 (~6e-5) to (2-2^-10)*2^15 (65504). You might think, then, that the code is c
Fix the predefined exponent limit macros for the 16-bit IEEE format.
The magnitude range of normalized _Float16 is 2^-14 (~6e-5) to (2-2^-10)*2^15 (65504). You might think, then, that the code is correct to defne FLT16_MIN_EXP and FLT16_MAX_EXP to be -14 and 15 respectively. However, for some reason the C specification actually specifies a bias for these macros:
C11 5.2.4.2.2:
- minimum negative integer such that FLT_RADIX raised to one less than that power is a normalized floating-point number, e_min: FLT_MIN_EXP DBL_MIN_EXP LDBL_MIN_EXP
- maximum integer such that FLT_RADIX raised to one less than that power is a representable finite floating-point number, e_max: FLT_MAX_EXP DBL_MAX_EXP LDBL_MAX_EXP
FLT16_MIN_EXP and FLT16_MAX_EXP should clearly be biased the same way, and other compilers do in fact do so, as do our OpenCL headers for `half`.
Additionally, FLT16_MIN_10_EXP is just wrong.
llvm-svn: 362183
show more ...
|
Revision tags: llvmorg-8.0.1-rc1 |
|
#
eba9a6e0 |
| 09-May-2019 |
Anastasia Stulova <anastasia.stulova@arm.com> |
[SPIR] Simplified target checking.
Switched to Triple::isSPIR() helper to simplify code.
Patch by kpet (Kevin Petit)!
Differential revision: https://reviews.llvm.org/D61639
llvm-svn: 360325
|
#
76b9027f |
| 09-May-2019 |
Richard Smith <richard-llvm@metafoo.co.uk> |
[c++20] Add support for explicit(bool), as described in P0892R2.
Patch by Tyker!
Differential Revision: https://reviews.llvm.org/D60934
llvm-svn: 360311
|