llvm-project/clang/tools/libclang
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
..
ARCMigrate.cpp
BuildSystem.cpp
CIndex.cpp [clang] Introduce SourceLocation::[U]IntTy typedefs. 2021-07-21 10:45:46 +01:00
CIndexCXX.cpp
CIndexCodeCompletion.cpp [CodeComplete] Basic code completion for attribute names. 2021-08-12 23:49:10 +02:00
CIndexDiagnostic.cpp Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
CIndexDiagnostic.h
CIndexHigh.cpp
CIndexInclusionStack.cpp SourceManager: Clarify that FileInfo always has a ContentCache, NFC 2020-10-23 12:38:53 -04:00
CIndexUSRs.cpp
CIndexer.cpp [SystemZ][z/OS] Set more text files as text 2021-04-19 09:31:46 -04:00
CIndexer.h Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
CLog.h Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
CMakeLists.txt [clang] Move the soname declaration in a variable at the top of the file 2021-08-27 09:07:12 +02:00
CXComment.cpp [Wdocumentation] Implement \anchor 2019-12-21 14:52:21 +01:00
CXComment.h
CXCompilationDatabase.cpp
CXCursor.cpp [OpenMP] Implement '#pragma omp unroll'. 2021-06-10 14:30:17 -05:00
CXCursor.h [clang] Reformat cindex. NFC. 2020-03-25 11:11:48 -05:00
CXIndexDataConsumer.cpp Change Module::ASTFile and ModuleFile::File => Optional<FileEntryRef>, NFC 2020-11-02 15:11:51 -05:00
CXIndexDataConsumer.h [NFC] Fix typos in Clangd and Clang 2019-12-16 10:54:40 +01:00
CXLoadedDiagnostic.cpp [Clang] Migrate llvm::make_unique to std::make_unique 2019-08-14 23:04:18 +00:00
CXLoadedDiagnostic.h
CXSourceLocation.cpp Avoid including FileManager.h from SourceManager.h 2020-03-11 13:53:12 -07:00
CXSourceLocation.h [libclang] Fix error handler in translateSourceLocation. 2021-06-18 13:43:14 +01:00
CXStoredDiagnostic.cpp
CXString.cpp
CXString.h
CXTranslationUnit.h
CXType.cpp [Clang] Add __ibm128 type to represent ppc_fp128 2021-09-06 18:00:58 +08:00
CXType.h
CursorVisitor.h [libclang]: visit BindingDecl in DecompositionDecl 2020-05-02 22:18:31 +02:00
FatalErrorHandler.cpp NFC, add a missing stdlib include for the use of abort 2020-09-29 08:50:51 -07:00
Index_Internal.h
Indexing.cpp Frontend: Remove unused parameter from ASTUnit::LoadFromCompilerInvocationAction, NFC 2020-11-13 17:47:17 -05:00
Rewrite.cpp [libclang] Add CXRewriter to libclang API 2020-09-04 14:17:03 -07:00
libclang.map [clang] Fix libclang linking on Solaris 2021-08-07 21:14:15 +02:00
linker-script-to-export-list.py libclang: Fixes for the python script that generates the export list 2021-07-26 18:39:53 -07:00