From: Ian Lance Taylor Date: Fri, 11 Feb 2005 15:07:33 +0000 (+0000) Subject: tree.c (build_function_type_list): Work correctly if there are no arguments. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f6254da44552dfc0c2b98dcfbd9f3b846976d235;p=gcc.git tree.c (build_function_type_list): Work correctly if there are no arguments. * tree.c (build_function_type_list): Work correctly if there are no arguments. From-SVN: r94878 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 851f8bbe10d..b5a284a50b7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2005-02-11 Ian Lance Taylor + + * tree.c (build_function_type_list): Work correctly if there are + no arguments. + 2005-02-11 Ulrich Weigand * config/s390/s390.md ("*cmpdi_cct", "*cmpsi_cct", "*cmpdi_ccs", diff --git a/gcc/tree.c b/gcc/tree.c index 186594375c7..3d41e114342 100644 --- a/gcc/tree.c +++ b/gcc/tree.c @@ -4538,9 +4538,14 @@ build_function_type_list (tree return_type, ...) for (args = NULL_TREE; t != NULL_TREE; t = va_arg (p, tree)) args = tree_cons (NULL_TREE, t, args); - last = args; - args = nreverse (args); - TREE_CHAIN (last) = void_list_node; + if (args == NULL_TREE) + args = void_list_node; + else + { + last = args; + args = nreverse (args); + TREE_CHAIN (last) = void_list_node; + } args = build_function_type (return_type, args); va_end (p);