llvm-project/clang/lib/AST
Aaron Ballman e4a42c5b64 Change __auto_type behavior with qualifiers to match GCC behavior
Currently, Clang handles some qualifiers correctly for __auto_type, but
it does not handle the restrict or _Atomic qualifiers in the same way
that GCC does. This patch handles those qualifiers so that they attach
to the deduced type the same as const and volatile already do.

This fixes https://github.com/llvm/llvm-project/issues/53652
2022-03-23 13:25:31 -04:00
..
Interp [clang][NFC] Wrap TYPE_SWITCH in "do while (0)" in the interpreter 2022-01-24 09:05:27 -08:00
APValue.cpp [AST] Print NTTP args as string-literals when possible 2022-03-01 19:34:27 -06:00
ASTConcept.cpp [llvm][clang][NFC] updates inline licence info 2021-08-11 02:48:53 +00:00
ASTConsumer.cpp
ASTContext.cpp Change __auto_type behavior with qualifiers to match GCC behavior 2022-03-23 13:25:31 -04:00
ASTDiagnostic.cpp [AST] Fix typo in assert messages 2022-03-08 11:06:50 +00:00
ASTDumper.cpp [AST] injected-class-name is not a redecl, even in template specializations 2021-11-02 14:37:45 +01:00
ASTImporter.cpp [clang][AST][ASTImporter] Set record to complete during import of its members. 2022-02-14 08:27:44 +01:00
ASTImporterLookupTable.cpp [clang][ASTImporter] Update lookup table correctly at deduction guides. 2021-12-06 20:40:16 +01:00
ASTStructuralEquivalence.cpp [Attr] Fix a btf_type_tag AST generation 2022-03-16 08:46:52 -07:00
ASTTypeTraits.cpp [clang] Add `ObjCProtocolLoc` to represent protocol references 2022-02-18 15:24:00 -05:00
AttrDocTable.cpp Revert "Rename llvm::array_lengthof into llvm::size to match std::size from C++17" 2022-01-26 16:55:53 +01:00
AttrImpl.cpp [clang][OpenMP5.1] Initial parsing/sema for 'indirect' clause 2022-01-10 16:58:56 -08:00
CMakeLists.txt [gn build] manually port 18f9e25ce1 (AttrDocTable) 2021-08-12 21:30:59 -04:00
CXXABI.h [clang] Remove unused forward declarations (NFC) 2022-01-08 11:56:40 -08:00
CXXInheritance.cpp [clang] Use llvm::erase_if (NFC) 2021-10-17 13:50:29 -07:00
Comment.cpp Use llvm::any_of and llvm::all_of (NFC) 2021-12-11 11:54:37 -08:00
CommentBriefParser.cpp [AST] Remove an unnecessary continue (NFC) 2021-12-11 23:04:08 -08:00
CommentCommandTraits.cpp Revert "Rename llvm::array_lengthof into llvm::size to match std::size from C++17" 2022-01-26 16:55:53 +01:00
CommentLexer.cpp Comment parsing: Don't recognize commands in single-line double quotation 2022-01-14 22:46:07 +01:00
CommentParser.cpp
CommentSema.cpp Comment AST: Recognize function-like objects via return type (NFC) 2021-11-12 21:11:11 +01:00
ComparisonCategories.cpp [clang] Fix a few more comment typos to cycle bots 2021-09-20 20:06:03 -04:00
ComputeDependence.cpp [clang] Make CXXDefaultArgExpr inherit dependence from the inner Expr 2021-06-10 14:51:08 +02:00
DataCollection.cpp
Decl.cpp [Clang][NFC] Some `const` for `IdentifierInfo *`s feeding `DeclarationName` 2022-03-23 11:07:56 -04:00
DeclBase.cpp [C++20] [Module] fix bug 47716 and implement [module.interface]/p6 2022-01-24 10:25:25 +08:00
DeclCXX.cpp [NFC] DeclCXX: Fix -Wreorder-ctor 2022-01-25 14:29:35 -08:00
DeclFriend.cpp
DeclGroup.cpp
DeclObjC.cpp [Clang][Sema] Fix attribute mismatch warning for ObjC class properties 2022-01-11 12:10:18 +00:00
DeclOpenMP.cpp [OPENMP]Redesign of OMPExecutableDirective/OMPDeclarativeDirective representation. 2020-08-06 12:25:19 -04:00
DeclPrinter.cpp Fix the declaration printer to properly handle prototypes in C 2022-02-17 13:54:09 -05:00
DeclTemplate.cpp [AST] Print NTTP args as string-literals when possible 2022-03-01 19:34:27 -06:00
DeclarationName.cpp [NFC][AST] Return underlying strings directly instead of OS.str() 2021-12-09 16:05:46 -08:00
Expr.cpp Ignore FullExpr when traversing cast sub-expressions 2022-03-21 15:05:53 -04:00
ExprCXX.cpp [Clang] Introduce Swift async calling convention. 2021-07-09 11:50:10 -07:00
ExprClassification.cpp [clang] NFC: change uses of `Expr->getValueKind` into `is?Value` 2021-07-28 03:09:31 +02:00
ExprConcepts.cpp [clang] Remove redundant member initialization (NFC) 2022-01-02 10:20:23 -08:00
ExprConstant.cpp [Clang][C++2b] P2242R3: Non-literal variables [...] in constexpr 2022-03-22 19:51:19 +01:00
ExprObjC.cpp [clang] NFC: refactor multiple implementations of getDecltypeForParenthesizedExpr 2021-07-28 23:27:43 +02:00
ExternalASTMerger.cpp [clang] Use llvm::erase_if (NFC) 2021-10-17 13:50:29 -07:00
ExternalASTSource.cpp
FormatString.cpp [clang] Remove unused "using" (NFC) 2021-12-29 08:27:29 -08:00
FormatStringParsing.h
InheritViz.cpp
ItaniumCXXABI.cpp Change __builtin_sycl_unique_stable_name to just use an Itanium mangling 2021-09-28 06:41:03 -07:00
ItaniumMangle.cpp [Attr] Fix a btf_type_tag AST generation 2022-03-16 08:46:52 -07:00
JSONNodeDumper.cpp [JSONNodeDumper] Do not print mangled names for local variables (PR49111) 2021-12-23 08:55:41 +01:00
Linkage.h [c++20] For P0732R2 / P1907R1: Basic code generation and name 2020-11-09 22:10:27 -08:00
Mangle.cpp [clang][#52782] Bail on incomplete parameter type in stdcall name mangling 2022-01-05 17:58:24 +01:00
MicrosoftCXXABI.cpp [clang] Remove redundant member initialization (NFC) 2022-01-12 22:12:01 -08:00
MicrosoftMangle.cpp [clang] MicrosoftCXXNameMangler::mangleObjCKindOfType - use castAs<> instead of getAs<> to avoid dereference of nullptr 2022-02-12 20:11:21 +00:00
NSAPI.cpp [Clang] Add __ibm128 type to represent ppc_fp128 2021-09-06 18:00:58 +08:00
NestedNameSpecifier.cpp Fully qualify template template parameters when printing 2021-09-02 15:04:34 -07:00
ODRHash.cpp Revert "Following up on PR48517, fix handling of template arguments that refer" 2021-01-20 15:55:35 +01:00
OSLog.cpp [Sema] Warn about printf %n on Android and Fuchsia 2022-01-21 21:00:39 +00:00
OpenMPClause.cpp [Clang][OpenMP] Add the support for atomic compare in parser 2021-12-24 08:16:51 -05:00
ParentMap.cpp Use DenseMap::lookup (NFC) 2021-12-17 18:19:25 -08:00
ParentMapContext.cpp [clang] Add `ObjCProtocolLoc` to represent protocol references 2022-02-18 15:24:00 -05:00
PrintfFormatString.cpp [Sema] Warn about printf %n on Android and Fuchsia 2022-01-21 21:00:39 +00:00
QualTypeNames.cpp Reland "[AST] Add UsingType: a sugar type for types found via UsingDecl" 2021-12-20 18:03:15 +01:00
RawCommentList.cpp [clang][extract-api] Add global record support 2022-03-16 15:13:55 -07:00
RecordLayout.cpp [AIX] Implement AIX special alignment rule about double/long double 2020-07-27 15:13:03 -04:00
RecordLayoutBuilder.cpp GCC ABI Compatibility: Preserve alignment of non-pod members in packed structs 2022-01-28 11:04:20 -08:00
ScanfFormatString.cpp
SelectorLocationsKind.cpp
Stmt.cpp [clang] number labels in asm goto strings after tied inputs 2022-01-11 12:09:24 -08:00
StmtCXX.cpp [C++20] [Coroutines] Implement return value optimization for get_return_object 2022-02-16 13:38:00 +08:00
StmtIterator.cpp
StmtObjC.cpp [clang] Convert ObjCAtTryStmt to llvm::TrailingObjects 2021-10-27 08:57:05 -04:00
StmtOpenMP.cpp [OpenMP] Initial parsing/sema for the 'omp parallel loop' construct 2022-03-22 13:55:47 -07:00
StmtPrinter.cpp [OpenMP] Initial parsing/sema for the 'omp parallel loop' construct 2022-03-22 13:55:47 -07:00
StmtProfile.cpp [OpenMP] Initial parsing/sema for the 'omp parallel loop' construct 2022-03-22 13:55:47 -07:00
StmtViz.cpp
TemplateBase.cpp [AST] Print NTTP args as string-literals when possible 2022-03-01 19:34:27 -06:00
TemplateName.cpp [CodeCompletion][clangd] Clean __uglified parameter names in completion & hover 2022-01-26 15:51:17 +01:00
TextNodeDumper.cpp [clang] Produce a "multiversion" annotation in textual AST output. 2022-03-21 13:39:44 -04:00
Type.cpp Revert "[clang] roll-forward "[clang] Mark `trivial_abi` types as "trivially relocatable""." 2022-03-23 04:54:00 -07:00
TypeLoc.cpp [Attr] Fix a btf_type_tag AST generation 2022-03-16 08:46:52 -07:00
TypePrinter.cpp [Attr] Fix a btf_type_tag AST generation 2022-03-16 08:46:52 -07:00
VTTBuilder.cpp
VTableBuilder.cpp Use llvm::append_range instead of push_back loops where applicable. NFCI. 2022-03-18 01:25:34 +01:00