[all-commits] [llvm/llvm-project] 467ed2: [clang] Extend pragma dump to support expressions

Vlad Serebrennikov via All-commits all-commits at lists.llvm.org
Fri Mar 24 07:36:43 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 467ed2798772344e2a3b4a8d368575f1f9d1a8c6
      https://github.com/llvm/llvm-project/commit/467ed2798772344e2a3b4a8d368575f1f9d1a8c6
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2023-03-24 (Fri, 24 Mar 2023)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticCommonKinds.td
    M clang/include/clang/Basic/DiagnosticLexKinds.td
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Lex/Pragma.cpp
    M clang/lib/Parse/ParsePragma.cpp
    M clang/lib/Sema/SemaLookup.cpp
    M clang/test/AST/ast-dump-lookups.cpp

  Log Message:
  -----------
  [clang] Extend pragma dump to support expressions

Extend `#pragma clang __debug dump` to support not only single identifier, but an expression as well. This makes it possible to test ADL and overload resolution directly, without being creative to make them observable via diagnostics (e.g. when [[ http://eel.is/c++draft/over.match.best | over.match.best ]] is involved). This implementation has a known limitation of not supporting dependent expressions properly, but it's quite useful even without such support.

Differential Revision: https://reviews.llvm.org/D144115




More information about the All-commits mailing list