|
Revision tags: llvmorg-20.1.0, llvmorg-20.1.0-rc3, llvmorg-20.1.0-rc2, llvmorg-20.1.0-rc1, llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init, llvmorg-14.0.6, llvmorg-14.0.5, llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1, llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2, llvmorg-14.0.0-rc1, llvmorg-15-init |
|
| #
f15014ff |
| 26-Jan-2022 |
Benjamin Kramer <[email protected]> |
Revert "Rename llvm::array_lengthof into llvm::size to match std::size from C++17"
This reverts commit ef8206320769ad31422a803a0d6de6077fd231d2.
- It conflicts with the existing llvm::size in STLEx
Revert "Rename llvm::array_lengthof into llvm::size to match std::size from C++17"
This reverts commit ef8206320769ad31422a803a0d6de6077fd231d2.
- It conflicts with the existing llvm::size in STLExtras, which will now never be called. - Calling it without llvm:: breaks C++17 compat
show more ...
|
| #
ef820632 |
| 26-Jan-2022 |
serge-sans-paille <[email protected]> |
Rename llvm::array_lengthof into llvm::size to match std::size from C++17
As a conquence move llvm::array_lengthof from STLExtras.h to STLForwardCompat.h (which is included by STLExtras.h so no buil
Rename llvm::array_lengthof into llvm::size to match std::size from C++17
As a conquence move llvm::array_lengthof from STLExtras.h to STLForwardCompat.h (which is included by STLExtras.h so no build breakage expected).
show more ...
|
|
Revision tags: llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2 |
|
| #
6c75ab5f |
| 06-Dec-2021 |
Aaron Ballman <[email protected]> |
Introduce _BitInt, deprecate _ExtInt
WG14 adopted the _ExtInt feature from Clang for C23, but renamed the type to be _BitInt. This patch does the vast majority of the work to rename _ExtInt to _BitI
Introduce _BitInt, deprecate _ExtInt
WG14 adopted the _ExtInt feature from Clang for C23, but renamed the type to be _BitInt. This patch does the vast majority of the work to rename _ExtInt to _BitInt, which accounts for most of its size. The new type is exposed in older C modes and all C++ modes as a conforming extension. However, there are functional changes worth calling out:
* Deprecates _ExtInt with a fix-it to help users migrate to _BitInt. * Updates the mangling for the type. * Updates the documentation and adds a release note to warn users what is going on. * Adds new diagnostics for use of _BitInt to call out when it's used as a Clang extension or as a pre-C23 compatibility concern. * Adds new tests for the new diagnostic behaviors.
I want to call out the ABI break specifically. We do not believe that this break will cause a significant imposition for early adopters of the feature, and so this is being done as a full break. If it turns out there are critical uses where recompilation is not an option for some reason, we can consider using ABI tags to ease the transition.
show more ...
|
|
Revision tags: llvmorg-13.0.1-rc1 |
|
| #
85e56589 |
| 09-Oct-2021 |
Qiu Chaofan <[email protected]> |
[Clang] Enable _Complex __ibm128 type
fae0dfa implemented the new __ibm128 type, this patch enables its complex form.
Reviewed By: rjmccall
Differential Revision: https://reviews.llvm.org/D109948
|
|
Revision tags: llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3 |
|
| #
8b3d944a |
| 02-Sep-2021 |
Lei Huang <[email protected]> |
[PowerPC] Disable vector types when not supported by subtarget features
Update clang to treat vector unsigned long long and friends as invalid for AltiVec without VSX.
Reported in: https://bugs.llv
[PowerPC] Disable vector types when not supported by subtarget features
Update clang to treat vector unsigned long long and friends as invalid for AltiVec without VSX.
Reported in: https://bugs.llvm.org/show_bug.cgi?id=47782
Reviewed By: nemanjai, amyk
Differential Revision: https://reviews.llvm.org/D109178
show more ...
|
| #
fae0dfa6 |
| 06-Sep-2021 |
Qiu Chaofan <[email protected]> |
[Clang] Add __ibm128 type to represent ppc_fp128
Currently, we have no front-end type for ppc_fp128 type in IR. PowerPC target generates ppc_fp128 type from long double now, but there's option (-mab
[Clang] Add __ibm128 type to represent ppc_fp128
Currently, we have no front-end type for ppc_fp128 type in IR. PowerPC target generates ppc_fp128 type from long double now, but there's option (-mabi=(ieee|ibm)longdouble) to control it and we're going to do transition from IBM extended double-double ppc_fp128 to IEEE fp128 in the future.
This patch adds type __ibm128 which always represents ppc_fp128 in IR, as what GCC did for that type. Without this type in Clang, compilation will fail if compiling against future version of libstdcxx (which uses __ibm128 in headers).
Although all operations in backend for __ibm128 is done by software, only PowerPC enables support for it.
There's something not implemented in this commit, which can be done in future ones:
- Literal suffix for __ibm128 type. w/W is suitable as GCC documented. - __attribute__((mode(IF))) should be for __ibm128. - Complex __ibm128 type.
Reviewed By: rjmccall
Differential Revision: https://reviews.llvm.org/D93377
show more ...
|
|
Revision tags: llvmorg-13.0.0-rc2 |
|
| #
f9bc1b3b |
| 24-Aug-2021 |
Justas Janickas <[email protected]> |
[OpenCL] Defines helper function for kernel language compatible OpenCL version
This change defines a helper function getOpenCLCompatibleVersion() inside LangOptions class. The function contains mapp
[OpenCL] Defines helper function for kernel language compatible OpenCL version
This change defines a helper function getOpenCLCompatibleVersion() inside LangOptions class. The function contains mapping between C++ for OpenCL versions and their corresponding compatible OpenCL versions. This mapping function should be updated each time a new C++ for OpenCL language version is introduced. The helper function is expected to simplify conditions on OpenCL C and C++ for OpenCL versions inside compiler code.
Code refactoring performed.
Differential Revision: https://reviews.llvm.org/D108693
show more ...
|
| #
5aeca3b0 |
| 18-Aug-2021 |
Wang, Pengfei <[email protected]> |
[CFE][X86] Enable complex _Float16 support
Support complex _Float16 on X86 in C/C++ following the latest X86 psABI. (https://gitlab.com/x86-psABIs)
Reviewed By: LuoYuanke
Differential Revision: ht
[CFE][X86] Enable complex _Float16 support
Support complex _Float16 on X86 in C/C++ following the latest X86 psABI. (https://gitlab.com/x86-psABIs)
Reviewed By: LuoYuanke
Differential Revision: https://reviews.llvm.org/D105331
show more ...
|
|
Revision tags: llvmorg-13.0.0-rc1, llvmorg-14-init, llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3, llvmorg-12.0.1-rc2 |
|
| #
116179c2 |
| 31-May-2021 |
Abbas Sabra <[email protected]> |
Re-commit [clang] Add support for the "abstract" contextual keyword of MSVC
https://docs.microsoft.com/en-us/cpp/extensions/abstract-cpp-component-extensions?view=msvc-160 Note: like the already sup
Re-commit [clang] Add support for the "abstract" contextual keyword of MSVC
https://docs.microsoft.com/en-us/cpp/extensions/abstract-cpp-component-extensions?view=msvc-160 Note: like the already supported "sealed" keyword, the "abstract" keyword is supported by MSVC by default.
This re-commits 818338add77411f5e9713247ea66142f332ef350 with added initialization of Parser::Ident_abstract.
Differential revision: https://reviews.llvm.org/D102517
show more ...
|
| #
c36ff642 |
| 31-May-2021 |
Mikhail Goncharov <[email protected]> |
Revert "[clang] Add support for the "abstract" contextual keyword of MSVC"
This reverts commit 818338add77411f5e9713247ea66142f332ef350.
Tests fail under sanitizer: https://lab.llvm.org/buildbot/#/
Revert "[clang] Add support for the "abstract" contextual keyword of MSVC"
This reverts commit 818338add77411f5e9713247ea66142f332ef350.
Tests fail under sanitizer: https://lab.llvm.org/buildbot/#/builders/5/builds/8150
show more ...
|
| #
818338ad |
| 31-May-2021 |
Abbas Sabra <[email protected]> |
[clang] Add support for the "abstract" contextual keyword of MSVC
https://docs.microsoft.com/en-us/cpp/extensions/abstract-cpp-component-extensions?view=msvc-160 Note: like the already supported "se
[clang] Add support for the "abstract" contextual keyword of MSVC
https://docs.microsoft.com/en-us/cpp/extensions/abstract-cpp-component-extensions?view=msvc-160 Note: like the already supported "sealed" keyword, the "abstract" keyword is supported by MSVC by default.
Differential revision: https://reviews.llvm.org/D102517
show more ...
|
|
Revision tags: llvmorg-12.0.1-rc1, llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4, llvmorg-12.0.0-rc3 |
|
| #
840643bb |
| 05-Mar-2021 |
Anton Zabaznov <[email protected]> |
[OpenCL] Refactor diagnostic for OpenCL extension/feature
There is no need to check for enabled pragma for core or optional core features, thus this check is removed
Reviewed By: Anastasia
Differe
[OpenCL] Refactor diagnostic for OpenCL extension/feature
There is no need to check for enabled pragma for core or optional core features, thus this check is removed
Reviewed By: Anastasia
Differential Revision: https://reviews.llvm.org/D97058
show more ...
|
|
Revision tags: llvmorg-12.0.0-rc2, llvmorg-11.1.0, llvmorg-11.1.0-rc3, llvmorg-12.0.0-rc1, llvmorg-13-init, llvmorg-11.1.0-rc2 |
|
| #
17f8c458 |
| 14-Jan-2021 |
Mikhail Maltsev <[email protected]> |
[clang] Use SourceLocations in unions [NFCI]
Currently, there are many instances where `SourceLocation` objects are converted to raw representation to be stored in structs that are used as fields of
[clang] Use SourceLocations in unions [NFCI]
Currently, there are many instances where `SourceLocation` objects are converted to raw representation to be stored in structs that are used as fields of tagged unions.
This is done to make the corresponding structs trivial. Triviality allows avoiding undefined behavior when implicitly changing the active member of the union.
However, in most cases, we can explicitly construct an active member using placement new. This patch adds the required active member selections and replaces `SourceLocation`-s represented as `unsigned int` with proper `SourceLocation`-s.
One notable exception is `DeclarationNameLoc`: the objects of this class are often not properly initialized (so the code currently relies on its default constructor which uses memset). This class will be fixed in a separate patch.
Reviewed By: dblaikie
Differential Revision: https://reviews.llvm.org/D94237
show more ...
|
|
Revision tags: llvmorg-11.1.0-rc1, llvmorg-11.0.1, llvmorg-11.0.1-rc2, llvmorg-11.0.1-rc1 |
|
| #
41b65f16 |
| 16-Nov-2020 |
Thorsten <[email protected]> |
Convert ConstexprKind from Specifiers.h to a scoped enum; NFC
|
| #
f7c881b8 |
| 16-Nov-2020 |
Aaron Ballman <[email protected]> |
Adding some explicit casts to appease build bots; NFC
|
| #
7c6412e0 |
| 16-Nov-2020 |
Thorsten <[email protected]> |
Convert TypeSpecifierSign from Specifiers.h to a scoped enum; NFC
|
| #
a6ac2b32 |
| 16-Nov-2020 |
Thorsten <[email protected]> |
Convert TypeSpecifiersPipe from Specifiers.h to a scoped enum; NFC
|
| #
e6aa0654 |
| 15-Nov-2020 |
faisalv <[email protected]> |
[NFC, Refactor] Modernize the TypeSpecifierWidth enum (Specifiers.h) to a scoped enum
Reviewed here: https://reviews.llvm.org/D91409 by Aaron. Highlights of the review: - avoid an underlying type
[NFC, Refactor] Modernize the TypeSpecifierWidth enum (Specifiers.h) to a scoped enum
Reviewed here: https://reviews.llvm.org/D91409 by Aaron. Highlights of the review: - avoid an underlying type for enums - avoid enum bit fields (MSVC packing anomalies) and favor static_casts to unsigned bit-fields
Patch by Thorsten Schuett <[email protected]> w some minor fixes in SemaType.cpp where a couple asserts had to be repaired to deal with lack of implicit coversion to int.
Thanks Thorsten!
show more ...
|
| #
e4d27932 |
| 11-Nov-2020 |
Faisal Vali <[email protected]> |
[NFC, Refactor] Rename the (scoped) enum DeclaratorContext's enumerators to remove duplication
Since these are scoped enumerators, they have to be prefixed by DeclaratorContext, so lets remove Conte
[NFC, Refactor] Rename the (scoped) enum DeclaratorContext's enumerators to remove duplication
Since these are scoped enumerators, they have to be prefixed by DeclaratorContext, so lets remove Context from the name, and return some characters to the multiverse.
Patch was reviewed here: https://reviews.llvm.org/D91011
Thank you to aaron, bruno, wyatt and barry for indulging me.
show more ...
|
| #
5dbccc6c |
| 28-Oct-2020 |
Aaron Puchert <[email protected]> |
Better source location for -Wignored-qualifiers on trailing return types
We collect the source location of a trailing return type in the parser, improving the location for regular functions and prov
Better source location for -Wignored-qualifiers on trailing return types
We collect the source location of a trailing return type in the parser, improving the location for regular functions and providing a location for lambdas, where previously there was none.
Fixes PR47732.
Reviewed By: aaron.ballman
Differential Revision: https://reviews.llvm.org/D90129
show more ...
|
| #
12609448 |
| 18-Oct-2020 |
Hubert Tong <[email protected]> |
[PowerPC][AIX] Make `__vector [un]signed long` an error
The semantics associated with `__vector [un]signed long` are neither consistently specified nor consistently implemented.
The IBM XL compiler
[PowerPC][AIX] Make `__vector [un]signed long` an error
The semantics associated with `__vector [un]signed long` are neither consistently specified nor consistently implemented.
The IBM XL compilers on AIX traditionally treated these as deprecated aliases for the corresponding `__vector int` type in both 32-bit and 64-bit modes. The newer, Clang-based, IBM XL compilers on AIX make usage of the previously deprecated types an error. This is also consistent with IBM XL C/C++ for Linux on Power (on little endian distributions).
In line with the above, this patch upgrades (on AIX) the deprecation of `__vector long` to become removal.
Reviewed By: ZarkoCA
Differential Revision: https://reviews.llvm.org/D89443
show more ...
|
|
Revision tags: llvmorg-11.0.0, llvmorg-11.0.0-rc6, llvmorg-11.0.0-rc5, llvmorg-11.0.0-rc4, llvmorg-11.0.0-rc3 |
|
| #
fe86dbb3 |
| 21-Aug-2020 |
Gousemoodhin Nadaf <[email protected]> |
[clang]: Remove assertion which checks explicit declaration
explicit keyword is declared outside of class is invalid, invalid explicit declaration is handled inside DiagnoseFunctionSpecifiers() fun
[clang]: Remove assertion which checks explicit declaration
explicit keyword is declared outside of class is invalid, invalid explicit declaration is handled inside DiagnoseFunctionSpecifiers() function. To avoid compiler crash in case of invalid explicit declaration, remove assertion.
Reviewed By: rsmith
Differential Revision: https://reviews.llvm.org/D83929
show more ...
|
|
Revision tags: llvmorg-11.0.0-rc2, llvmorg-11.0.0-rc1 |
|
| #
6c18f7db |
| 22-Jul-2020 |
Richard Smith <[email protected]> |
For PR46800, implement the GCC __builtin_complex builtin.
glibc's implementation of the CMPLX macro uses it (with -fgnuc-version set to 4.7 or later).
|
|
Revision tags: llvmorg-12-init, llvmorg-10.0.1, llvmorg-10.0.1-rc4, llvmorg-10.0.1-rc3, llvmorg-10.0.1-rc2 |
|
| #
f4c337ab |
| 15-Jun-2020 |
Ahsan Saghir <[email protected]> |
[PowerPC] Add support for vector bool __int128 for Power10
Summary: This patch adds support for `vector bool __int128` type for Power10.
Reviewers: #powerpc, hfinkel, lei, stefanp, amyk
Reviewed B
[PowerPC] Add support for vector bool __int128 for Power10
Summary: This patch adds support for `vector bool __int128` type for Power10.
Reviewers: #powerpc, hfinkel, lei, stefanp, amyk
Reviewed By: #powerpc, lei, amyk
Subscribers: lei, amyk, wuzish, nemanjai, shchenz, cfe-commits
Tags: #llvm, #powerpc, #clang
Differential Revision: https://reviews.llvm.org/D81816
show more ...
|
| #
ecd682bb |
| 04-Jun-2020 |
Ties Stuij <[email protected]> |
[ARM] Add __bf16 as new Bfloat16 C Type
Summary: This patch upstreams support for a new storage only bfloat16 C type. This type is used to implement primitive support for bfloat16 data, in line with
[ARM] Add __bf16 as new Bfloat16 C Type
Summary: This patch upstreams support for a new storage only bfloat16 C type. This type is used to implement primitive support for bfloat16 data, in line with the Bfloat16 extension of the Armv8.6-a architecture, as detailed here:
https://community.arm.com/developer/ip-products/processors/b/processors-ip-blog/posts/arm-architecture-developments-armv8-6-a
The bfloat type, and its properties are specified in the Arm Architecture Reference Manual:
https://developer.arm.com/docs/ddi0487/latest/arm-architecture-reference-manual-armv8-for-armv8-a-architecture-profile
In detail this patch: - introduces an opaque, storage-only C-type __bf16, which introduces a new bfloat IR type.
This is part of a patch series, starting with command-line and Bfloat16 assembly support. The subsequent patches will upstream intrinsics support for BFloat16, followed by Matrix Multiplication and the remaining Virtualization features of the armv8.6-a architecture.
The following people contributed to this patch: - Luke Cheeseman - Momchil Velikov - Alexandros Lamprineas - Luke Geeson - Simon Tatham - Ties Stuij
Reviewers: SjoerdMeijer, rjmccall, rsmith, liutianle, RKSimon, craig.topper, jfb, LukeGeeson, fpetrogalli
Reviewed By: SjoerdMeijer
Subscribers: labrinea, majnemer, asmith, dexonsmith, kristof.beyls, arphaman, danielkiss, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D76077
show more ...
|