llvm-project/clang/lib/Index
Qiu Chaofan fae0dfa642 [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
2021-09-06 18:00:58 +08:00
..
CMakeLists.txt Index: Remove unused internal header SimpleFormatContext.h, NFC 2020-12-04 15:10:27 -08:00
CommentToXML.cpp Avoid including FileManager.h from SourceManager.h 2020-03-11 13:53:12 -07:00
FileIndexRecord.cpp [llvm][clang][NFC] updates inline licence info 2021-08-11 02:48:53 +00:00
FileIndexRecord.h [index] Fix performance regression with indexing macros 2021-06-16 10:16:26 -07:00
IndexBody.cpp [clang] RecursiveASTVisitor visits ObjCPropertyRefExpr's class receiver 2021-06-01 14:45:25 -04:00
IndexDecl.cpp [Index] Ignore nullptr decls for indexing 2021-05-06 13:12:26 -07:00
IndexSymbol.cpp [clang] p1099 using enum part 2 2021-06-08 11:11:46 -07:00
IndexTypeSourceInfo.cpp [clang] Do not consider the template arguments of bases to be bases themselves 2020-09-01 19:18:03 -04:00
IndexingAction.cpp Speculatively fix this harder and with improved spelling capabilities. 2021-05-27 09:54:09 -04:00
IndexingContext.cpp [index] Improve macro indexing support 2021-04-06 09:12:14 -07:00
IndexingContext.h [index] Improve macro indexing support 2021-04-06 09:12:14 -07:00
USRGeneration.cpp [Clang] Add __ibm128 type to represent ppc_fp128 2021-09-06 18:00:58 +08:00