https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96989
--- Comment #2 from Iain Buclaw <ibuclaw at gdcproject dot org> --- (In reply to Richard Biener from comment #1) > I guess an actual example is still helpful After spending a few hours away and looking back, it looks like it only happens when using any example related to pr96564 or pr96987. This correctly prints 'a' in the warning message. --- int fun (uint *x) { uint *a = void; return a[2]; } --- Whereas this print '*_3' --- import gcc.builtins; int fun (uint *x) { uint *a = cast(uint*)__builtin_malloc(*x); return a[2]; } --- This prints 'MEM[(int *)a_6 + 8B]' --- import gcc.builtins; int fun (uint *x) { int *a = cast(int*)__builtin_malloc(*x); return a[2]; } --- So now I'm unsure whether I should wait until the broader regression in the middle-end is fixed, or just go ahead and implement a d_tree_printer out of necessity to prevent the middle-end warning about lowered nodes instead of the original symbol/code it represents.