https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99608
--- Comment #3 from freezer at posteo dot de --- In my opinion the current behavior is somehow inconsistent since the carets are displayed for included files. Example: // test.cpp #include <coroutine> int main(int argc, char **argv) { return 0; } $ cat test.cpp | g++ -Wall -Wextra -xc++ - In file included from <stdin>:1: /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/g++-v10/coroutine:295:2: error: #error "the coroutine header requires -fcoroutines" 295 | #error "the coroutine header requires -fcoroutines" | ^~~~~ <stdin>: In function ‘int main(int, char**)’: <stdin>:3:14: warning: unused parameter ‘argc’ [-Wunused-parameter] <stdin>:3:27: warning: unused parameter ‘argv’ [-Wunused-parameter]