On Wed, 2019-12-04 at 11:11 -0700, Martin Sebor wrote: > On 11/15/19 6:23 PM, David Malcolm wrote: > > gcc/ChangeLog: > > * builtins.def (BUILT_IN_ANALYZER_BREAK): New builtin. > > (BUILT_IN_ANALYZER_DUMP): New builtin. > > (BUILT_IN_ANALYZER_DUMP_EXPLODED_NODES): New builtin. > > (BUILT_IN_ANALYZER_DUMP_NUM_HEAP_REGIONS): New builtin. > > (BUILT_IN_ANALYZER_DUMP_PATH): New builtin. > > (BUILT_IN_ANALYZER_DUMP_REGION_MODEL): New builtin. > > (BUILT_IN_ANALYZER_EVAL): New builtin. > > I have two comments: > > 1) builtins.def is getting very large and I think it would make > it easier to work with if new related sets of built-ins were added > in their own files. (In full disclosure, I tried breaking it up > once and ran into weird build errors and gave up, so it may not > be entirely straightforward, not like making other changes to > the compiler ;) > > 2) Since there are no changes to the manual documenting these, > I assume they are internal only, not to be called by user code? > (Should they be marked as internal functions then, to prevent > them from being called?) Even so, it would help GCC developers > to document them somewhere and add a comment pointing at > the documentation here. If they can be called by user code, > I think they should be mentioned in the manual even if (and > I'd say especially if) we don't users calling them directly.
Thanks for the feedback. FWIW I've reworked things so that the analyzer no longer has builtins, but instead recognizes certain "magic" function names (for use in DejaGnu and when debugging): https://gcc.gnu.org/ml/gcc-patches/2019-12/msg01310.html Dave