> which has the desited effect of disabling unit-at-a-time, but > runs aground in cgraph_expand_function() with a segfault, > when it attempts to call lang_hooks.callgraph.expand_function(). > > It seems that GCC is handling lang_hooks.callgraph.expand_function > in an inconsistent fashion. Is a null value for expand_function > meaningful? If it is, then what is the fix for cgraph_expand_function()? > I have found another similar case. lang_hooks.callgraph.analyze_expr in gcc/gcc/cgraphunit.c 490 if (lang_hooks.callgraph.analyze_expr) 491 return lang_hooks.callgraph.analyze_expr (tp, walk_subtrees, 492 data); but in another part of this file 517 if ((unsigned int) TREE_CODE (t) >= LAST_AND_UNUSED_TREE_CODE) 518 return lang_hooks.callgraph.analyze_expr (tp, walk_subtrees, data);
I am not sure about the run-time features of this piece of code and just make this conclusion from my point of view of C language. Am I missing something? Any comments are highly appreciated! -- Dueway