The below patch fixes the build for AVR and SPU targets, which got broken when the signature of build_function_call_vec changed. The patch passes vNULL for the extra parameter added (arg_loc), which I hope is ok for builtins?
If ok, could someone commit please? I don't have commit access. Regards Senthil gcc/ChangeLog 2014-02-12 Senthil Kumar Selvaraj <senthil_kumar.selva...@atmel.com> * config/avr/avr-c.c (avr_resolve_overloaded_builtin): Pass vNULL for arg_loc. * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Likewise. diff --git gcc/config/avr/avr-c.c gcc/config/avr/avr-c.c index 98650e0..101d280 100644 --- gcc/config/avr/avr-c.c +++ gcc/config/avr/avr-c.c @@ -115,7 +115,7 @@ avr_resolve_overloaded_builtin (unsigned int iloc, tree fndecl, void *vargs) fold = targetm.builtin_decl (id, true); if (fold != error_mark_node) - fold = build_function_call_vec (loc, fold, &args, NULL); + fold = build_function_call_vec (loc, vNULL, fold, &args, NULL); break; // absfx @@ -181,7 +181,7 @@ avr_resolve_overloaded_builtin (unsigned int iloc, tree fndecl, void *vargs) fold = targetm.builtin_decl (id, true); if (fold != error_mark_node) - fold = build_function_call_vec (loc, fold, &args, NULL); + fold = build_function_call_vec (loc, vNULL, fold, &args, NULL); break; // roundfx @@ -238,7 +238,7 @@ avr_resolve_overloaded_builtin (unsigned int iloc, tree fndecl, void *vargs) fold = targetm.builtin_decl (id, true); if (fold != error_mark_node) - fold = build_function_call_vec (loc, fold, &args, NULL); + fold = build_function_call_vec (loc, vNULL, fold, &args, NULL); break; // countlsfx } diff --git gcc/config/spu/spu-c.c gcc/config/spu/spu-c.c index 411496d..9d7aa5a 100644 --- gcc/config/spu/spu-c.c +++ gcc/config/spu/spu-c.c @@ -181,7 +181,7 @@ spu_resolve_overloaded_builtin (location_t loc, tree fndecl, void *passed_args) return error_mark_node; } - return build_function_call_vec (loc, match, fnargs, NULL); + return build_function_call_vec (loc, vNULL, match, fnargs, NULL); #undef SCALAR_TYPE_P }