Another handful of gcc-2.8 changes (will it ever go out the door?).
authorJeff Law <law@gcc.gnu.org>
Thu, 11 Dec 1997 16:26:05 +0000 (09:26 -0700)
committerJeff Law <law@gcc.gnu.org>
Thu, 11 Dec 1997 16:26:05 +0000 (09:26 -0700)
See ChangeLog.11 for details.

From-SVN: r17040

gcc/ChangeLog.11
gcc/NEWS
gcc/combine.c
gcc/config/vax/xm-vms.h
gcc/fold-const.c
gcc/libgcc2.c
gcc/make-cccp.com
gcc/stmt.c
gcc/toplev.c

index 571a63c35c8b13856f5a2b952d8a2b7f4e34d481..7ea0d5e7e8d41a7b3a06551fe8a1b36b7c6477dc 100644 (file)
@@ -1,7 +1,38 @@
-Sun Dec  7 18:24:30 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+Wed Dec 10 18:38:56 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
        * Version 2.8.0 released.
 
+Wed Dec 10 18:38:28 1997  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+        * libgcc2.c (__bb_exit_func): Fix test of return value of fopen.
+
+Wed Dec 10 07:07:37 1997  Bernd Schmidt <crux@starsky.Informatik.RWTH-Aachen.DE>
+       * combine.c (simplify_rtx, case ABS): Don't get confused by a
+       VOIDmode operand.
+
+Tue Dec  9 17:44:14 1997  David Edelsohn  <edelsohn@mhpcc.edu>
+
+       * rs6000.h (FUNCTION_ARG_PADDING): Define.
+       * rs6000.c (function_arg_padding): New function.
+
+Tue Dec  9 08:53:56 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * integrate.c (save_for_inline_copying): Make a new reg_parm_stack_loc.
+
+Mon Dec  8 19:23:58 1997  Pat Rankin  <rankin@eql.caltech.edu>
+
+       * toplev.c (get_run_time): [#if VMS] Cast arg in times call.
+
+       * vax/xm-vms.h (HAVE_UNISTD_H): Define for DEC C.
+       * make-cccp.com [CC]: Add /Prefix=All for DEC C.
+
+Mon Dec  8 08:09:17 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * stmt.c (expand_decl_cleanup_no_eh): Properly return a value.
+
+       * fold-const.c (fold_convert): Don't flag overflow when converting
+       pointer to integer.
+
 Sun Dec  7 09:42:05 1997  Pat Rankin  <rankin@eql.caltech.edu>
 
        * make-gcc.com (@make-l2): Pass along any command line arguments.
index 203b9ab3e44a2de47cc0dba93b080f241ef0b22e..5f671a3ce61d17f225b9f3ef4e0b35f515d63477 100644 (file)
--- a/gcc/NEWS
+++ b/gcc/NEWS
@@ -44,7 +44,8 @@ New features in configuration, installation and specs file handling:
 
     New option --enable-c-cpplib to configure script.
 
-    Allow --with-cpu on configure command to specify a default CPU.
+    You can use --with-cpu on the configure command to specify the default
+    CPU that GCC should generate code for.
 
     The -specs=file switch allows you to override default specs used in
     invoking programs like cc1, as, etc.
index 13e22b9bcd2978b8d9c0a6ecd0e1e4f983f1cbb2..339c94943cda2f6e52e856798a03bb57656f7011 100644 (file)
@@ -4092,13 +4092,15 @@ simplify_rtx (x, op0_mode, last, in_dest)
     case XOR:
       return simplify_logical (x, last);
 
-    case ABS:
+    case ABS:      
       /* (abs (neg <foo>)) -> (abs <foo>) */
       if (GET_CODE (XEXP (x, 0)) == NEG)
        SUBST (XEXP (x, 0), XEXP (XEXP (x, 0), 0));
 
-      if (GET_CODE (XEXP (x, 0)) == ASM_OPERANDS)
-       return x;
+      /* If the mode of the operand is VOIDmode (i.e. if it is ASM_OPERANDS),
+         do nothing.  */
+      if (GET_MODE (XEXP (x, 0)) == VOIDmode)
+       break;
 
       /* If operand is something known to be positive, ignore the ABS.  */
       if (GET_CODE (XEXP (x, 0)) == FFS || GET_CODE (XEXP (x, 0)) == ABS
index 430905b0483e7f6381b8218bb396748338afd9e1..a559a039476baeb8aa00abdaf91dcacb3ab2851b 100644 (file)
@@ -22,6 +22,14 @@ Boston, MA 02111-1307, USA.  */
 #define FALSE 0
 #define TRUE 1
 
+/* Other configurations get these via autoconfig.  */
+#define STDC_HEADERS 1
+#define HAVE_STDLIB_H 1
+#define HAVE_STRING_H 1
+#ifdef __DECC
+#define HAVE_UNISTD_H 1
+#endif
+
 #if defined(VAXC) || defined(__DECC)
 /* if compiling with VAXC, need to fix problem with <stdio.h>
    which defines a macro called FILE_TYPE that breaks "tree.h".
@@ -69,16 +77,6 @@ Boston, MA 02111-1307, USA.  */
 /* and define a local equivalent (sort of) for unlink */
 #define unlink remove
 
-/* Specify the list of include file directories.  */
-#define INCLUDE_DEFAULTS \
-{                                                                      \
-  { "GNU_GXX_INCLUDE:", 1, 1 },                                                \
-  { "GNU_CC_INCLUDE:", 0, 0 }, /* GNU includes */                      \
-  { "SYS$SYSROOT:[SYSLIB.]", 0, 0 }, /* VAX-11 "C" includes */         \
-  { ".", 0, 1 },               /* Make normal VMS filespecs work.  */  \
-  { 0, 0, 0 }                                                          \
-}
-
 /* Used by the preprocessor to limit size of disk I/O chunks.
    64K - 1 is the maximum supported by VAXCRTL.  Amounts in excess
    of 35 blocks will bypass the VMS V6.x VIOC [Virtual I/O Cache],
@@ -144,12 +142,6 @@ Boston, MA 02111-1307, USA.  */
 #define QSORT_WORKAROUND       /* do not use VAXCRTL's qsort */
 
 /* use ANSI/SYSV style byte manipulation routines instead of BSD ones */
-#define bcopy(s,d,n)   memcpy((d),(s),(n))
-#define bzero(d,n)     memset((d),0,(n))
-#define bcmp(l,r,n)    memcmp((l),(r),(n))
-#define index  strchr
-#define rindex strrchr
-
 /* rename all too-long external symbol names to avoid warnings */
 #define bc_check_for_full_enumeration_handling bc_check_for_full_enum_handling
 #define check_for_full_enumeration_handling    check_for_full_enum_handling
@@ -165,11 +157,14 @@ Boston, MA 02111-1307, USA.  */
 #define current_function_uses_const_pool       curfunc_uses_const_pool
 #define current_function_uses_pic_offset_table curfunc_uses_pic_offset_table
 #define dbxout_resume_previous_source_file     dbxout_resume_previous_src_file
+#define expand_builtin_extract_return_addr     expand_builtin_extract_ret_addr
+#define expand_builtin_set_return_addr_reg     expand_builtin_set_ret_addr_reg
 #define expand_start_loop_continue_elsewhere   expnd_start_loop_cont_elsewhere
 #define flag_schedule_insns_after_reload       flag_sched_insns_after_reload
 #define get_dynamic_handler_chain_libfunc      get_dynamic_hndlr_chain_libfunc
 #define lookup_name_current_level_global       lookup_name_current_level_gbl
 #define maybe_building_objc_message_expr       maybe_building_objc_msg_expr
+#define mesg_implicit_function_declaration     mesg_implicit_func_declaration
 #define output_deferred_addressed_constants    output_deferred_addr_constants
 #define protect_cleanup_actions_with_terminate  protect_cleanup_act_w_terminate
 #define reg_overlap_mentioned_for_reload_p     reg_overlap_mtnd_for_reload_p
index 0bc822645423856eebb23dc2f498dbefbde1e3e1..65a6d85efc05b036a40180a7b41f8a9adc4255f9 100644 (file)
@@ -1511,13 +1511,15 @@ fold_convert (t, arg1)
          /* Indicate an overflow if (1) ARG1 already overflowed,
             or (2) force_fit_type indicates an overflow.
             Tell force_fit_type that an overflow has already occurred
-            if ARG1 is a too-large unsigned value and T is signed.  */
+            if ARG1 is a too-large unsigned value and T is signed.
+            But don't indicate an overflow if converting a pointer.  */
          TREE_OVERFLOW (t)
            = (TREE_OVERFLOW (arg1)
-              | force_fit_type (t,
-                                (TREE_INT_CST_HIGH (arg1) < 0
-                                 & (TREE_UNSIGNED (type)
-                                    < TREE_UNSIGNED (TREE_TYPE (arg1))))));
+              || (force_fit_type (t,
+                                 (TREE_INT_CST_HIGH (arg1) < 0
+                                  & (TREE_UNSIGNED (type)
+                                    < TREE_UNSIGNED (TREE_TYPE (arg1)))))
+                  && TREE_CODE (TREE_TYPE (arg1)) != POINTER_TYPE));
          TREE_CONSTANT_OVERFLOW (t)
            = TREE_OVERFLOW (t) | TREE_CONSTANT_OVERFLOW (arg1);
        }
index 5a1273995aa66edc7c0e737ddac19b655c12dc19..ad51863e912002895ba59a58b86226950a8b392c 100644 (file)
@@ -1531,7 +1531,7 @@ __bb_exit_func (void)
                fprintf (stderr, "arc profiling: Error closing output file %s.\n",
                         ptr->filename);
            }
-         if ((da_file = fopen (ptr->filename, "w")) < 0)
+         if ((da_file = fopen (ptr->filename, "w")) == 0)
            {
              fprintf (stderr, "arc profiling: Can't open output file %s.\n",
                       ptr->filename);
index 6e7f976d519af2e14b1104adffffcdc0f5075cfd..342c71015a4ad3c47df75aff575d42ddb8eeb1dc 100644 (file)
@@ -33,6 +33,7 @@ $   else
 $     if p1.eqs."DECC"
 $     then
 $      if f$trnlnm("DECC$CC_DEFAULT").nes."" then  CC = "cc/DECC"
+$      CC = CC + "/Prefix=All"
 $      LIBS = "alloca.obj"     !DECC$SHR will be found implicitly by linker
 $      define/noLog SYS DECC$LIBRARY_INCLUDE:
 $     else
index db0b77dc133cfafd05f2704475ffad41ccf2e673..18390347831af68d6e743ddec738d0a0faf8048f 100644 (file)
@@ -4027,9 +4027,13 @@ expand_decl_cleanup_no_eh (decl, cleanup)
      tree decl, cleanup;
 {
   int save_eh = using_eh_for_cleanups_p;
+  int result;
+
   using_eh_for_cleanups_p = 0;
-  expand_decl_cleanup (decl, cleanup);
+  result = expand_decl_cleanup (decl, cleanup);
   using_eh_for_cleanups_p = save_eh;
+
+  return result;
 }
 
 /* Arrange for the top element of the dynamic cleanup chain to be
index 12d567656f0c1eb51c0e79f4df59120af57964c9..17318e25c44c058d1a05f92db0c28b0d95027548 100644 (file)
@@ -1034,7 +1034,7 @@ get_run_time ()
   return (rusage.ru_utime.tv_sec * 1000000 + rusage.ru_utime.tv_usec
          + rusage.ru_stime.tv_sec * 1000000 + rusage.ru_stime.tv_usec);
 #else /* VMS */
-  times (&vms_times);
+  times ((void *) &vms_times);
   return (vms_times.proc_user_time + vms_times.proc_system_time) * 10000;
 #endif
 #endif