[all-commits] [llvm/llvm-project] 8a55bc: [clang] implement CWG2064: ignore value dependence...
Matheus Izvekov via All-commits
all-commits at lists.llvm.org
Thu Apr 16 07:39:10 PDT 2026
Branch: refs/heads/users/mizvekov/fix-decltype-dependence
Home: https://github.com/llvm/llvm-project
Commit: 8a55bca0efe58fa4783e7d26105d2e5ac63d2745
https://github.com/llvm/llvm-project/commit/8a55bca0efe58fa4783e7d26105d2e5ac63d2745
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/LoopConvertUtils.cpp
M clang-tools-extra/clang-tidy/utils/ASTUtils.cpp
M clang-tools-extra/clangd/AST.cpp
M clang-tools-extra/clangd/InlayHints.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/DependenceFlags.h
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/PropertiesBase.td
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/AST/TemplateBase.h
M clang/include/clang/AST/TextNodeDumper.h
M clang/include/clang/AST/TypeBase.h
M clang/include/clang/AST/TypeLoc.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/Basic/Specifiers.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Serialization/ASTRecordReader.h
M clang/include/clang/Serialization/ASTRecordWriter.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTDiagnostic.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/ODRHash.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TemplateBase.cpp
M clang/lib/AST/TemplateName.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/SemaCXXScopeSpec.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExceptionSpec.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaOpenACCAtomic.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/AST/ast-dump-templates.cpp
M clang/test/CXX/drs/cwg19xx.cpp
M clang/test/CXX/drs/cwg20xx.cpp
M clang/test/CXX/temp/temp.decls/temp.alias/p3.cpp
M clang/test/CXX/temp/temp.decls/temp.mem/p5.cpp
M clang/test/CodeGenCXX/mangle-exception-spec.cpp
M clang/test/CodeGenCXX/mangle-subst.cpp
M clang/test/CodeGenCXX/mangle-template.cpp
M clang/test/CodeGenCXX/microsoft-abi-default-cc.cpp
M clang/test/Sema/array-parameter.cpp
M clang/test/Sema/invalid-bitwidth-expr.mm
M clang/test/SemaCXX/alias-template.cpp
M clang/test/SemaCXX/decltype.cpp
M clang/test/SemaCXX/source_location.cpp
M clang/test/SemaCXX/sugar-common-types.cpp
M clang/test/SemaCXX/typeof.cpp
M clang/test/SemaTemplate/GH164330.cpp
M clang/test/SemaTemplate/concepts-out-of-line-def.cpp
M clang/test/SemaTemplate/concepts.cpp
M clang/test/SemaTemplate/deduction-guide.cpp
M clang/test/SemaTemplate/dependent-expr.cpp
M clang/test/SemaTemplate/dependent-type-identity.cpp
M clang/test/SemaTemplate/injected-class-name.cpp
M clang/test/SemaTemplate/instantiate-expr-1.cpp
M clang/test/SemaTemplate/instantiation-dependence.cpp
M clang/test/SemaTemplate/partial-spec-instantiate.cpp
M clang/test/SemaTemplate/temp_arg_nontype_cxx1z.cpp
M clang/test/SemaTemplate/temp_arg_template_p0522.cpp
M clang/unittests/AST/TypePrinterTest.cpp
M lldb/unittests/Symbol/TestTypeSystemClang.cpp
Log Message:
-----------
[clang] implement CWG2064: ignore value dependence for decltype
The 'decltype' for a value-dependent (but non-type-dependent) should be known,
so this patch makes them non-opaque instead.
This patch also implements what's neceessary to allow overloading
on pure differences in instantiation dependence, making `std::void_t`
usable for SFINAE purposes.
This also readds a few test cases from da98651, which was a previous attempt
at resolving CWG2064.
Fixes #8740
Fixes #61818
Fixes #190388
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list