[all-commits] [llvm/llvm-project] 9bf7d0: [clang-repl] Lay the basic infrastructure for pret...

Vassil Vassilev via All-commits all-commits at lists.llvm.org
Fri Jul 18 23:25:50 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 9bf7d04c4386daf1ef0acf95782a59855c98474a
      https://github.com/llvm/llvm-project/commit/9bf7d04c4386daf1ef0acf95782a59855c98474a
  Author: Vassil Vassilev <v.g.vassilev at gmail.com>
  Date:   2025-07-19 (Sat, 19 Jul 2025)

  Changed paths:
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/Interpreter/Interpreter.h
    M clang/include/clang/Interpreter/Value.h
    M clang/lib/Interpreter/CMakeLists.txt
    M clang/lib/Interpreter/Interpreter.cpp
    M clang/lib/Interpreter/InterpreterUtils.cpp
    M clang/lib/Interpreter/InterpreterUtils.h
    M clang/lib/Interpreter/InterpreterValuePrinter.cpp
    M clang/lib/Interpreter/Value.cpp
    M clang/lib/Parse/ParseStmt.cpp
    M clang/test/Interpreter/pretty-print.c
    A clang/test/Interpreter/pretty-print.cpp
    M clang/unittests/Interpreter/InterpreterTest.cpp

  Log Message:
  -----------
  [clang-repl] Lay the basic infrastructure for pretty printing of types (#148701)

The idea is to store a type-value pair in clang::Value which is updated
by the interpreter runtime. The class copies builtin types and boxes
non-builtin types to provide some lifetime control.

The patch enables default printers for C and C++ using a very
minimalistic approach. We handle enums, arrays and user types. Once we
land this we can focus on enabling user-defined pretty-printers which
take control over printing of types

The work started as part of https://reviews.llvm.org/D146809, then we
created a giant in https://github.com/llvm/llvm-project/pull/84769



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