OSDN Git Service

* builtins.c (build_complex_cproj, fold_builtin_cproj): New.
[pf3gnuchains/gcc-fork.git] / gcc / builtins.c
index b514ae0..8c3c8e0 100644 (file)
@@ -7082,33 +7082,6 @@ fold_builtin_cproj (location_t loc, tree arg, tree type)
       else
        return arg;
     }
-  else if (TREE_CODE (arg) == COMPLEX_EXPR)
-    {
-      tree real = TREE_OPERAND (arg, 0);
-      tree imag = TREE_OPERAND (arg, 1);
-
-      STRIP_NOPS (real);
-      STRIP_NOPS (imag);
-      
-      /* If the real part is inf and the imag part is known to be
-        nonnegative, return (inf + 0i).  Remember side-effects are
-        possible in the imag part.  */
-      if (TREE_CODE (real) == REAL_CST
-         && real_isinf (TREE_REAL_CST_PTR (real))
-         && tree_expr_nonnegative_p (imag))
-       return omit_one_operand_loc (loc, type,
-                                    build_complex_cproj (type, false),
-                                    arg);
-      
-      /* If the imag part is inf, return (inf+I*copysign(0,imag)).
-        Remember side-effects are possible in the real part.  */
-      if (TREE_CODE (imag) == REAL_CST
-         && real_isinf (TREE_REAL_CST_PTR (imag)))
-       return
-         omit_one_operand_loc (loc, type,
-                               build_complex_cproj (type, TREE_REAL_CST_PTR
-                                                    (imag)->sign), arg);
-    }
 
   return NULL_TREE;
 }
@@ -9817,6 +9790,7 @@ fold_builtin_1 (location_t loc, tree fndecl, tree arg0, bool ignore)
   enum built_in_function fcode = DECL_FUNCTION_CODE (fndecl);
   switch (fcode)
     {
+
     case BUILT_IN_CONSTANT_P:
       {
        tree val = fold_builtin_constant_p (arg0);
@@ -10198,11 +10172,6 @@ fold_builtin_1 (location_t loc, tree fndecl, tree arg0, bool ignore)
     case BUILT_IN_VPRINTF:
       return fold_builtin_printf (loc, fndecl, arg0, NULL_TREE, ignore, fcode);
 
-    case BUILT_IN_FREE:
-      if (integer_zerop (arg0))
-       return build_empty_stmt (loc);
-      break;
-
     default:
       break;
     }