-E from stdin loses standard include paths?

Neil Booth neil@daikokuya.co.uk
Fri Feb 14 21:50:00 GMT 2003


Phil Edwards wrote:-

> Forgive me if this is normal behavior, but I just ran into something strange.
> 
> This works:
> 
>     fenric 69% echo '#include <string>' > p.cc
>     fenric 70% g++ -E p.cc
>     [many lines of code on stdout, all good]
> 
> This doesn't:
> 
>     fenric 71% echo '#include <string>' | g++ -E -
>     # 1 "<stdin>"
>     # 1 "<built-in>"
>     # 1 "<command line>"
>     # 1 "<stdin>"
>     <stdin>:1:18: string: No such file or directory
>     fenric 72%
> 
> This strikes me as non-intuitive.

The driver can't guess what file you are inputting.

Try -x C or similar.

I guess a patch to improve handling of '-' in specs for g++
would be a good idea.

Neil.



More information about the Gcc-bugs mailing list