Hi, On 2019-08-19 13:07:50 -0700, Andres Freund wrote: > On 2019-08-18 14:37:34 -0400, Tom Lane wrote: > > That's with a script I use that's like cpluspluscheck except it tests > > with plain gcc not g++. I attached it for the archives' sake. > > > > Oddly, cpluspluscheck does not complain about those cases, but it > > does complain about > > Hm. I don't understand why it's not complaining. Wonder if it's a > question of the flags or such.
I'ts caused by -fsyntax-only # These switches are g++ specific, you may override if necessary. CXXFLAGS=${CXXFLAGS:- -fsyntax-only -Wall} which also explains why your headercheck doesn't have that problem, it doesn't use -fsyntax-only. > > (My headerscheck script is missing that header; I need to update it to > > match the latest version of cpluspluscheck.) > > I wonder if we should just add a #ifndef HEADERCHECK or such to the > headers that we don't want to process as standalone headers (or #ifndef > NOT_STANDALONE or whatever). That way multiple tools can rely on these > markers, > rather than copying knowledge about that kind of information into > multiple places. > > I wish we could move the whole logic of those scripts into makefiles, so > we could employ parallelism. Hm. Perhaps the way to do that would be to use gcc's -include to include postgres.h, and use -Wc++-compat to detect c++ issues, rather than using g++. Without tempfiles it ought to be a lot easier to just do all of the relevant work in make, without a separate shell script. The python/perl/ecpg logic would b e abit annoying, but probably not too bad? Think we could just always add all of them? Greetings, Andres Freund