Another handful of gcc-2.8 changes (will it ever go out the door?).

See ChangeLog.11 for details.

From-SVN: r17040
This commit is contained in:
Jeff Law 1997-12-11 09:26:05 -07:00
parent c4ae3f91a2
commit b472527b0f
9 changed files with 65 additions and 29 deletions

View 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.

View File

@ -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.

View 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

View 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

View 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);
}

View 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);

View 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

View 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

View 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