trans-intrinsic.c (gfc_build_intrinsic_lib_fndecls): Use build_function_type_list...
authorNathan Froyd <froydnj@codesourcery.com>
Tue, 5 Apr 2011 14:25:32 +0000 (14:25 +0000)
committerNathan Froyd <froydnj@gcc.gnu.org>
Tue, 5 Apr 2011 14:25:32 +0000 (14:25 +0000)
* trans-intrinsic.c (gfc_build_intrinsic_lib_fndecls): Use
build_function_type_list instead of build_function_type.  Correct
argument order for func_frexp and func_scalbn.

From-SVN: r171987

gcc/fortran/ChangeLog
gcc/fortran/trans-intrinsic.c

index 5d3a799075e5b8b8475226c31207751431a2a70c..0206ba9430a55ec852270d2c136f6eaeafd4a934 100644 (file)
@@ -1,3 +1,9 @@
+2011-04-05  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * trans-intrinsic.c (gfc_build_intrinsic_lib_fndecls): Use
+       build_function_type_list instead of build_function_type.  Correct
+       argument order for func_frexp and func_scalbn.
+
 2011-04-05  Duncan Sands  <baldrick@free.fr>
 
        * f95-lang.c (build_builtin_fntypes): Swap frexp parameter types.
index a3c2ecda0c6d3c2a2af63078c4ffe8d750536afd..9a696322d9c1f193811546386786a5e0f3fcde46 100644 (file)
@@ -621,35 +621,38 @@ gfc_build_intrinsic_lib_fndecls (void)
        C99-like library functions.  For now, we only handle __float128
        q-suffixed functions.  */
 
-    tree tmp, func_1, func_2, func_cabs, func_frexp;
+    tree type, complex_type, func_1, func_2, func_cabs, func_frexp;
     tree func_lround, func_llround, func_scalbn, func_cpow;
 
     memset (quad_decls, 0, sizeof(tree) * (END_BUILTINS + 1));
 
+    type = float128_type_node;
+    complex_type = complex_float128_type_node;
     /* type (*) (type) */
-    tmp = tree_cons (NULL_TREE, float128_type_node, void_list_node);
-    func_1 = build_function_type (float128_type_node, tmp);
+    func_1 = build_function_type_list (type, type, NULL_TREE);
     /* long (*) (type) */
-    func_lround = build_function_type (long_integer_type_node, tmp);
+    func_lround = build_function_type_list (long_integer_type_node,
+                                           type, NULL_TREE);
     /* long long (*) (type) */
-    func_llround = build_function_type (long_long_integer_type_node, tmp);
+    func_llround = build_function_type_list (long_long_integer_type_node,
+                                            type, NULL_TREE);
     /* type (*) (type, type) */
-    tmp = tree_cons (NULL_TREE, float128_type_node, tmp);
-    func_2 = build_function_type (float128_type_node, tmp);
+    func_2 = build_function_type_list (type, type, type, NULL_TREE);
     /* type (*) (type, &int) */
-    tmp = tree_cons (NULL_TREE, float128_type_node, void_list_node);
-    tmp = tree_cons (NULL_TREE, build_pointer_type (integer_type_node), tmp);
-    func_frexp = build_function_type (float128_type_node, tmp);
+    func_frexp
+      = build_function_type_list (type,
+                                 type,
+                                 build_pointer_type (integer_type_node),
+                                 NULL_TREE);
     /* type (*) (type, int) */
-    tmp = tree_cons (NULL_TREE, float128_type_node, void_list_node);
-    tmp = tree_cons (NULL_TREE, integer_type_node, tmp);
-    func_scalbn = build_function_type (float128_type_node, tmp);
+    func_scalbn = build_function_type_list (type,
+                                           type, integer_type_node, NULL_TREE);
     /* type (*) (complex type) */
-    tmp = tree_cons (NULL_TREE, complex_float128_type_node, void_list_node);
-    func_cabs = build_function_type (float128_type_node, tmp);
+    func_cabs = build_function_type_list (type, complex_type, NULL_TREE);
     /* complex type (*) (complex type, complex type) */
-    tmp = tree_cons (NULL_TREE, complex_float128_type_node, tmp);
-    func_cpow = build_function_type (complex_float128_type_node, tmp);
+    func_cpow
+      = build_function_type_list (complex_type,
+                                 complex_type, complex_type, NULL_TREE);
 
 #define DEFINE_MATH_BUILTIN(ID, NAME, ARGTYPE)
 #define DEFINE_MATH_BUILTIN_C(ID, NAME, ARGTYPE)