[all-commits] [llvm/llvm-project] 001cc3: [clang] Add scoped enum support to `StreamingDiagn...

Vlad Serebrennikov via All-commits all-commits at lists.llvm.org
Thu May 1 06:04:09 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 001cc34275111df842edbaa874b7319eef930c81
      https://github.com/llvm/llvm-project/commit/001cc34275111df842edbaa874b7319eef930c81
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2025-05-01 (Thu, 01 May 2025)

  Changed paths:
    M clang/include/clang/Basic/Diagnostic.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/ODRDiagsEmitter.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Parse/ParsePragma.cpp
    M clang/lib/Parse/Parser.cpp
    M clang/lib/Sema/SemaAccess.cpp
    M clang/lib/Sema/SemaCUDA.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaDeclObjC.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaStmt.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Sema/TreeTransform.h
    M llvm/include/llvm/ADT/STLForwardCompat.h

  Log Message:
  -----------
  [clang] Add scoped enum support to `StreamingDiagnostic` (#138089)

This patch adds templated `operator<<` for diagnostics that pass scoped
enums, saving people from `llvm::to_underlying()` clutter on the side of
emitting the diagnostic. This eliminates 80 out of 220 usages of
`llvm::to_underlying()` in Clang.

I also backported `std::is_scoped_enum_v` from C++23.



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