llvm-capstone/clang/docs
Haojian Wu 32aa7d823c
[clang] Fix CTAD not work for C++ explicit type conversion (functional annotation). (#75779)
This fixes https://github.com/llvm/llvm-project/issues/64347.

The CTAD for an aggregate class is missing to handle the explicit type
conversion case, e.g. `TemplateFooClass(1, 2);`. Per C++ expr.type.conv
p1, the deduced type is the return type of the deduction guide selected
by the CTAD for the reminder.

In the deduction implementation
`DeduceTemplateSpecializationFromInitializer`, the parenthesized
express-list case relies on the `ParenListExpr` parameter (default is
nullptr), the AST `ParenListExpr` node is not built for all variant
initializer cases (`BuildCXXTypeConstructorExpr`, `BuildCXXNew` etc),
thus the deduction doesn't perform for these cases. This patch fixes it
by removing the `ParenListExpr` and using the `Inits` instead (which
also simplifies the interface and implementation).
2023-12-19 14:35:37 +01:00
..
analyzer [analyzer] Move alpha checker EnumCastOutOfRange to optin (#67157) 2023-12-12 16:29:37 +01:00
CommandGuide Add -fkeep-system-includes modifier for -E 2023-10-06 12:55:48 -07:00
DataFlowAnalysisIntroImages
HLSL
tools [NFC, sanitizer_symbolizer] Split Fuchsia and Markup. (#72305) 2023-11-14 16:39:04 -08:00
AddressSanitizer.rst [Sanitizer][Docs] Reformat CMake invocation in docs 2023-10-09 22:45:34 +00:00
AMDGPUSupport.rst [amdgpu] start documenting amdgpu support by clang 2023-07-07 10:35:34 -04:00
APINotes.rst
AutomaticReferenceCounting.rst [ARC][Documentation] Explicitly state that messaging weak objects keeps a strong reference during call lifetime (#72169) 2023-11-13 18:53:15 -08:00
Block-ABI-Apple.rst
BlockLanguageSpec.rst
ClangCheck.rst
ClangFormat.rst [clang-format][NFC] Fix broken dump_format_help.py and sync RST file (#65429) 2023-09-07 00:43:19 -07:00
ClangFormatStyleOptions.rst [clang-format] ObjCPropertyAttributeOrder to sort ObjC property attributes 2023-12-01 17:41:30 -08:00
ClangFormattedStatus.rst [RemarkUtil] Refactor llvm-remarkutil to include size-diff 2023-08-02 10:33:18 +01:00
ClangLinkerWrapper.rst [clang][NFC] Remove trailing whitespaces and enforce it in lib, include and docs 2023-06-26 09:34:36 -07:00
ClangOffloadBundler.rst [clang-offload-bundler][NFC] Remove blank line in doc (#73968) 2023-11-30 11:33:39 -08:00
ClangOffloadPackager.rst [Clang][Docs] Fix typo in clang-offload-packager documentation 2023-09-11 16:24:37 -07:00
ClangPlugins.rst
ClangRepl_design.png
ClangRepl.rst Reland "Add Documentation for Execution Results Handling in Clang-Repl (#65650)" 2023-10-24 14:43:00 +00:00
ClangStaticAnalyzer.rst
ClangTools.rst
ClangTransformerTutorial.rst [clang][NFC] Remove trailing whitespaces and enforce it in lib, include and docs 2023-06-26 09:34:36 -07:00
CMakeLists.txt Revert "Add Documentation for Execution Results Handling in Clang-Repl (#65650)" 2023-10-13 09:39:00 +02:00
CodeOwners.rst
conf.py Reland "Add Documentation for Execution Results Handling in Clang-Repl (#65650)" 2023-10-24 14:43:00 +00:00
ConstantInterpreter.rst [documentation] Fix some typos 2023-03-30 15:58:02 +01:00
ControlFlowIntegrity.rst -fsanitize=function: support C 2023-05-22 10:11:30 -07:00
ControlFlowIntegrityDesign.rst
CrossCompilation.rst [documentation] Fix some typos 2023-03-30 15:58:02 +01:00
DataFlowAnalysisIntro.md [documentation] Fix some typos 2023-03-30 15:58:02 +01:00
DataFlowSanitizer.rst [clang] Fix typos in documentation 2023-05-12 23:19:17 -07:00
DataFlowSanitizerDesign.rst
DebuggingCoroutines.rst Fx typos in documentation 2023-08-18 23:36:04 -07:00
doxygen-mainpage.dox
doxygen.cfg.in [docs] Hide collaboration and include graphs in doxygen docs 2023-05-04 12:26:51 +02:00
DriverArchitecture.png
DriverInternals.rst
ExternalClangExamples.rst [clang][NFC] Remove trailing whitespaces and enforce it in lib, include and docs 2023-06-26 09:34:36 -07:00
FAQ.rst
HardwareAssistedAddressSanitizerDesign.rst
HIPSupport.rst [HIP] Document func ptr and virtual func (#68126) 2023-10-18 14:14:04 -04:00
HowToSetupToolingForLLVM.rst [AST] Only dump desugared type when visibly different (#65214) 2023-10-26 19:28:28 +01:00
index.rst Fix the Clang sphinx bot 2023-07-25 11:23:36 -04:00
InternalsManual.rst Fix a cross reference 2023-12-06 07:49:03 -05:00
IntroductionToTheClangAST.rst
ItaniumMangleAbiTags.rst
JSONCompilationDatabase.rst [clang][NFC] Remove trailing whitespaces and enforce it in lib, include and docs 2023-06-26 09:34:36 -07:00
LanguageExtensions.rst [Clang][docs] Update extension documentation (#75150) 2023-12-12 12:22:03 +01:00
LeakSanitizer.rst
LibASTImporter.rst
LibASTMatchers.rst
LibASTMatchersReference.html [ASTMatchers] Bring comments & docs back in sync 2023-09-04 13:42:29 +02:00
LibASTMatchersTutorial.rst
LibClang.rst Add libClang guide 2023-07-10 11:15:48 -04:00
LibFormat.rst
LibTooling.rst
LTOVisibility.rst
make.bat
MatrixTypes.rst [C23] Update user-facing docs for C23 2023-08-10 14:19:41 -04:00
MemorySanitizer.rst
MisExpect.rst [clang][NFC] Remove trailing whitespaces and enforce it in lib, include and docs 2023-06-26 09:34:36 -07:00
Modules.rst [clang][modules] Add a c23 module feature 2023-08-29 11:11:14 -07:00
MSVCCompatibility.rst
Multilib.rst [docs] Add missing label 2023-06-14 13:08:07 +01:00
ObjectiveCLiterals.rst
OffloadingDesign.rst [OpenMP][OMPIRBuilder] Rename IsEmbedded and IsTargetCodegen flags 2023-07-10 14:14:16 +01:00
OpenCLSupport.rst Fx typos in documentation 2023-08-18 23:36:04 -07:00
OpenMPSupport.rst [Clang][NFC] Fix sphinx documentation 2023-09-29 00:22:58 -07:00
PCHInternals.rst
PCHLayout.graffle
PCHLayout.png
RAVFrontendAction.rst
README.txt
RefactoringEngine.rst
ReleaseNotes.rst [clang] Fix CTAD not work for C++ explicit type conversion (functional annotation). (#75779) 2023-12-19 14:35:37 +01:00
SafeStack.rst
SanitizerCoverage.rst
SanitizerSpecialCaseList.rst [SpecialCaseList] Use glob by default (#74809) 2023-12-11 15:30:28 -08:00
SanitizerStats.rst
ShadowCallStack.rst [CodeGen][RISCV] Change Shadow Call Stack Register to X3 2023-04-12 21:06:22 +00:00
SourceBasedCodeCoverage.rst [clang][NFC] Remove trailing whitespaces and enforce it in lib, include and docs 2023-06-26 09:34:36 -07:00
StandardCPlusPlusModules.rst [docs] [C++20] [Modules] Add document for the case of duplicated '-fmodule-file=<module-name>=' 2023-10-30 11:25:21 +08:00
SYCLSupport.rst [clang][doc] Fix link to SYCL compiler design doc 2023-03-28 18:09:52 +02:00
ThinLTO.rst [clang][docs] Document ThinLTO options for ld64.lld 2023-02-21 12:09:27 -05:00
ThreadSafetyAnalysis.rst
ThreadSanitizer.rst
Toolchain.rst
Tooling.rst
UndefinedBehaviorSanitizer.rst [clang][NFC] Remove trailing whitespaces and enforce it in lib, include and docs 2023-06-26 09:34:36 -07:00
UsersManual.rst [clang] Add support for -fcx-limited-range, #pragma CX_LIMITED_RANGE and -fcx-fortran-rules. (#70244) 2023-12-11 10:03:27 -05:00

See llvm/docs/README.txt