On Sat, 7 Mar 2020, Jed Brown wrote: > Satish Balay <[email protected]> writes: > > > On Fri, 6 Mar 2020, Jed Brown wrote: > >> PetscInt some,several,variables; > >> > >> // code > >> if (PetscDefined(HAVE_MAGIC)) { > >> function(several,&variables); > >> } > >> use(some,variables); > > > > One minor issue: we haven't yet fixed up clang analyzer build. Likely this > > will be listed as 'dead code' block or something like that. > > As with #ifdef, accurate code coverage needs to be aggregated across > multiple configurations. Are you aware of other problems?
None that I can think off now.. Satish > > >> This approach could also be used to avoid needing separate macros for > >> every SETERRQ1-SETERRQ9, etc. I have an example implementation in this > >> MR, and it passes the full pipeline (after relaxing the -std=c89 > >> -pedantic build). > > > > These are in public includes. So apps using -std=c89 won't have access to > > this part of the API? > > Oh, I would keep the macros for a while (perhaps with gradual > deprecation starting eventually), just define the new ones for supported > dialects and use the new ones internally. >
