-E from stdin loses standard include paths?

Andreas Schwab schwab@suse.de
Fri Feb 14 21:50:00 GMT 2003


Phil Edwards <phil@jaj.com> writes:

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

Try -xc++.  Stdin is treated as C source.

Andreas.

-- 
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux AG, Deutschherrnstr. 15-19, D-90429 Nürnberg
Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."



More information about the Gcc-bugs mailing list