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

Qinkun Bao via cfe-commits cfe-commits at lists.llvm.org
Wed Jul 23 06:50:41 PDT 2025


qinkunbao wrote:

Here is the error I got on my local machine. (I use the latest commit on the master so I could be a different PR that cause the buildbot fail)

```
******************** TEST 'Clang :: Interpreter/pretty-print.cpp' FAILED ********************
Exit Code: 1
Command Output (stderr):
--
/home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm_build_asan/bin/clang-repl "int i = 10;" 'extern "C" int printf(const char*,...);'             'auto r1 = printf("i = %d\n", i);' | /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm_build_asan/bin/FileCheck --check-prefix=CHECK-DRIVER /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm-project/clang/test/Interpreter/pretty-print.cpp # RUN: at line 1
+ /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm_build_asan/bin/clang-repl 'int i = 10;' 'extern "C" int printf(const char*,...);' 'auto r1 = printf("i = %d\n", i);'
+ /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm_build_asan/bin/FileCheck --check-prefix=CHECK-DRIVER /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm-project/clang/test/Interpreter/pretty-print.cpp
cat /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm-project/clang/test/Interpreter/pretty-print.cpp | /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm_build_asan/bin/clang-repl -Xcc -std=c++11 -Xcc -fno-delayed-template-parsing | /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm_build_asan/bin/FileCheck /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm-project/clang/test/Interpreter/pretty-print.cpp # RUN: at line 5
+ cat /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm-project/clang/test/Interpreter/pretty-print.cpp
+ /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm_build_asan/bin/clang-repl -Xcc -std=c++11 -Xcc -fno-delayed-template-parsing
+ /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm_build_asan/bin/FileCheck /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm-project/clang/test/Interpreter/pretty-print.cpp
JIT session error: In graph incr_module_24-jitted-objectbuffer, section .text.startup: relocation target 0x722af7101044 (_ZN2S3D2Ev:0x722af7101048 + 0xfffffffffffffffc) is out of range of Delta32 fixup at address 0x722af7101048 (<anonymous block> @ 0x6e2af6609010 + 0x18)
error: Failed to materialize symbols: { (main, { s3, __orc_init_func.incr_module_24, $.incr_module_24.__inits.0 }) }
JIT session error: Failed to materialize symbols: { (main, { s3 }) }
error: Failed to materialize symbols: { (main, { $.incr_module_25.__inits.0, __orc_init_func.incr_module_25 }) }
error: Failed to materialize symbols: { (main, { __orc_init_func.incr_module_24 }) }
/home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm-project/clang/test/Interpreter/pretty-print.cpp:27:16: error: CHECK-NEXT: expected string not found in input
// CHECK-NEXT: (S3 &) @0x{{[0-9a-f]+}}
               ^
<stdin>:6:21: note: scanning from here
(S3) @0x6e6af6846ef0
                    ^
<stdin>:11:5: note: possible intended match here
((lambda) &) @0x6e2af4f09000
    ^
Input file: <stdin>
Check file: /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm-project/clang/test/Interpreter/pretty-print.cpp
-dump-input=help explains the following input dump.
Input was:
<<<<<<
           1: (const char[3]) "ab" 
           2: (int) 123456 
           3: (char[2]) { '1', 'a' } 
           4: (char[3]) "1a" 
           5: (char[2][3][1]) { { { 'a' }, { 'b' }, { 'c' } }, { { 'd' }, { 'e' }, { 'f' } } } 
           6: (S3) @0x6e6af6846ef0 
next:27'0                         X error: no match found
           7: (S4) @0x6e6af6868330 
next:27'0     ~~~~~~~~~~~~~~~~~~~~~
           8: (Enum) (e2) : int -11 
next:27'0     ~~~~~~~~~~~~~~~~~~~~~~
           9: (Enum) (e1) : int -12 
next:27'0     ~~~~~~~~~~~~~~~~~~~~~~
          10: (Color) (Color::R) : int 0 
next:27'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
          11: ((lambda) &) @0x6e2af4f09000 
next:27'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
next:27'1         ?                         possible intended match
          12: ((lambda at input_line_49:1:1)) @0x6e6af688b170 
next:27'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          13: (F<7>::(unnamed enum at input_line_52:1:27)) (F<7>::RET) : unsigned int 5040 
next:27'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          14: (int (S5::*)()) Function @0x6e6af6899fb0 
next:27'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          15: clang-repl> clang-repl... clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl> clang-repl>  
next:27'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>>>>>

You can check this link on how to reproduce the error.

https://github.com/google/sanitizers/wiki/SanitizerBotReproduceBuild

https://github.com/llvm/llvm-project/pull/148701


More information about the cfe-commits mailing list