Consider the following program, which resides in a directory different
from $HOME. Call it test.c, and put an empty test.h into $HOME.
#include "test.h"
#include <stdio.h>
int main() { printf("hi"); }
If one tries to compile this, GCC issues an error (So far so good):
% gcc x.c
x.c:1:18: test.h: No such file or directory
So I set C_INCLUDE_PATH accordingly and, still as expected, get:
% export C_INCLUDE_PATH=$HOME ; gcc x.c
%
However, once I use the g++ driver to compile this program the error
is back:
% g++ x.c
x.c:1:18: test.h: No such file or directory
Which I believe contradicts the following from cppenv.texi, since even
though we use the g++ driver, the program still is compiled as C input:
The[se] environment variables apply only when preprocessing the
particular language indicated.
Interestingly, though, the preprocessor does set __cplusplus, so it
seems g++ preprocesses .c files as C++, but then compiles them as C.
Feature, bug, or potential to improve documentation?
Gerald