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

Vassil Vassilev via cfe-commits cfe-commits at lists.llvm.org
Wed Jul 23 06:58:15 PDT 2025


vgvassilev 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.

Some of the clang-repl tests are being classified as flaky. For example I see:

https://github.com/llvm/llvm-project/blob/f1bb5de611922bfd76846d0b36a9b92a1dfce80e/clang/test/Interpreter/const.cpp#L5-L6

We should probably tag this test as flaky, too.

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

Thank you, will try!


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


More information about the cfe-commits mailing list