On Tue, Jun 05, 2018 at 03:13:47AM +0100, Ramsay Jones wrote: > > > > diff --git a/builtin.c b/builtin.c > > index 7f9ff3582..b409a7757 100644 > > --- a/builtin.c > > +++ b/builtin.c > > @@ -459,4 +459,9 @@ void declare_builtins(void) > > declare_builtin("__sync_synchronize", &void_ctype, 0, NULL); > > declare_builtin("__sync_val_compare_and_swap", &int_ctype, 1, &ptr_ctype, NULL); > > declare_builtin("__sync_xor_and_fetch", &int_ctype, 1, &ptr_ctype, NULL); > > + > > + // Blackfin-specific stuff > > + declare_builtin("__builtin_bfin_csync", &void_ctype, 0, NULL); > > + declare_builtin("__builtin_bfin_ssync", &void_ctype, 0, NULL); > > + declare_builtin("__builtin_bfin_norm_fr1x32", &int_ctype, 0, &int_ctype, NULL); > > Here, the Blackfin functions are declared unconditionally ... > > > } > > diff --git a/lib.c b/lib.c > > index f9d7e094d..e4d99c5e1 100644 > > --- a/lib.c > > +++ b/lib.c > > @@ -1215,23 +1215,6 @@ static void predefined_macros(void) > > predefine("__pragma__", 0, NULL); > > } > > > > -static void declare_builtin_functions(void) > > -{ > > - /* Note: > > - * Most builtin functions are declared in builtin.c:declare_builtins(). > > - * Some are also defined in builtin:init_builtins(). > > - */ > > - > > - /* Add Blackfin-specific stuff */ > > - add_pre_buffer( > > - "#ifdef __bfin__\n" > > - "extern void __builtin_bfin_csync(void);\n" > > - "extern void __builtin_bfin_ssync(void);\n" > > - "extern int __builtin_bfin_norm_fr1x32(int);\n" > > - "#endif\n" > > - ); > > ... but here they are conditional on defined(__bfin__). Yes, I know. I should have witten it in the commit message. There is already other arch specific builtins that are unconditionally declared (for alpha). These 3 ones won't hurt. The long-term is to have some mechanism for arch-specific things like here (but the longer we can stay arch-neutral, the better it is). Thanks anyway, -- Luc -- To unsubscribe from this list: send the line "unsubscribe linux-sparse" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html