[all-commits] [llvm/llvm-project] f660ae: [clang] implement CWG2064: ignore value dependence...

Matheus Izvekov via All-commits all-commits at lists.llvm.org
Sat Apr 18 15:11:18 PDT 2026


  Branch: refs/heads/users/mizvekov/fix-decltype-dependence
  Home:   https://github.com/llvm/llvm-project
  Commit: f660ae22f6bcb6f26614c35972f68f9209660b99
      https://github.com/llvm/llvm-project/commit/f660ae22f6bcb6f26614c35972f68f9209660b99
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2026-04-18 (Sat, 18 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