On 21 Oct 16:20, Jakub Jelinek wrote: > On Tue, Oct 21, 2014 at 06:08:15PM +0400, Kirill Yukhin wrote: > > --- a/gcc/tree.h > > +++ b/gcc/tree.h > > @@ -2334,6 +2334,10 @@ extern void decl_value_expr_insert (tree, tree); > > #define DECL_COMDAT(NODE) \ > > (DECL_WITH_VIS_CHECK (NODE)->decl_with_vis.comdat_flag) > > > > + /* In a FUNCTION_DECL indicates that a static chain is needed. */ > > +#define DECL_STATIC_CHAIN(NODE) \ > > + (DECL_WITH_VIS_CHECK (NODE)->decl_with_vis.regdecl_flag) > > + > > I would say that you should still keep it together with the FUNCTION_DECL > macros and use FUNCTION_DECL_CHECK there, to make it clear we don't want > the macro to be used on VAR_DECLs etc. > So just s/function_decl/decl_with_vis/ in the definition IMHO. Yeah, sure.
> Also, with so many added builtins, how does it affect > int i; > compilation time at -O0? If it is significant, maybe it is highest time to > make the md builtin decl building more lazy. I've tried this: $ echo "int i;" > test.c $ time for i in `seq 10000` ; do ./build-x86_64-linux/gcc/xgcc -B./build-x86_64-linux/gcc -O0 -S test.c ; done For trunk w/ and w/o the patch applied. Got 106.86 vs. 106.85 secs. which looks equal. So, I think we may say that this patch does not affect compile time. -- Thanks, K > > Jakub