https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93848
--- Comment #6 from Vincent Lefèvre <vincent-gcc at vinc17 dot net> --- bar_aux can be any function. It doesn't need to do any thing. As soon as p[1] is evaluated, one has undefined behavior, just like in function foo.