Commit Graph

17114 Commits

Author SHA1 Message Date
Mark Mitchell
8fa8d8c5c7 cp-tree.h (c_get_alias_set): Remove declaration added in 1998-06-13 change that should never have been...
* cp-tree.h (c_get_alias_set): Remove declaration added in
	1998-06-13 change that should never have been checked in.

From-SVN: r20549
1998-06-17 20:46:12 +00:00
Mark Mitchell
1d22a2c164 cse.c (cse_basic_block): Don't include NOTE insns in the count that is used to decide whether or not it...
* cse.c (cse_basic_block): Don't include NOTE insns in the count
	that is used to decide whether or not it is time to erase the
	equivalence table.

From-SVN: r20548
1998-06-17 20:20:21 +00:00
Jason Merrill
316d4b547e typeck.c (build_binary_op_nodefault): Change % in format strings to %%.
* typeck.c (build_binary_op_nodefault): Change % in format strings
	to %%.
	* decl.c (grokvardecl): Don't build_static_name for decls that
	aren't at namespace scope.
	* init.c (perform_member_init): Catch default-initialization of
	references.

From-SVN: r20547
1998-06-17 14:52:18 -04:00
Jeffrey A Law
77f194c299 * gcc.c-torture/execute/980617-1.c: New test.
From-SVN: r20546
1998-06-17 11:56:02 -06:00
Jeffrey A Law
7d12cee1f1 * fold-const.c (make_range): Do not widen the type of the expression.
From-SVN: r20545
1998-06-17 11:54:27 -06:00
Franz Sirl
b74390dec9 * rs6000/linux.h (JUMP_TABLES_IN_TEXT_SECTION): Define to zero.
From-SVN: r20544
1998-06-17 11:33:40 -06:00
John Carr
e0cd077072 haifa-sched.c (haifa_classify_insn): TRAP_IF is risky.
* haifa-sched.c (haifa_classify_insn): TRAP_IF is risky.
	(sched_analyze_2): Allow scheduling TRAP_IF.
	* reorg.c (mark_referenced_resources): Examine operands of TRAP_IF.
	* rtl.h (TRAP_CODE): New macro.
	* rtl.def (TRAP_IF): Change second operand type to rtx.
	* optabs.c (gen_cond_trap): New function.
	(init_traps): New function.
	(init_optabs): Call init_traps.
	* expr.h: Declare gen_cond_trap.
	* jump.c (jump_optimize): Optimize jumps to and around traps.
	* sparc.md: Define trap instructions.
	* rs6000.md: Define trap instructions.
	* rs6000.c (print_operand): New code 'V' for trap condition.
	(trap_comparison_operator): New function.
	* m88k.md: Update use of TRAP_IF.
	* tree.h (enum built_in_function): New function code BUILT_IN_TRAP.
	* c-decl.c (init_decl_processing): New builtin __builtin_trap.
	* expr.c (expand_builtin): Handle BUILT_IN_TRAP.
	* expr.c (expand_builtin): Error if __builtin_longjmp second argument
	is not 1.

From-SVN: r20543
1998-06-17 16:14:09 +00:00
Catherine Moore
4fdf79cb67 reload1.c (spill_hard_reg): Check mode of register when spilling from scratch_list.
Wed Jun 17 15:20:00 PDT 1998  Catherine Moore  <clm@cygnus.com>
         * reload1.c (spill_hard_reg):  Check mode of register when
         spilling from scratch_list.

From-SVN: r20542
1998-06-17 11:46:25 -04:00
Andrew MacLeod
d7e7852964 except.c (add_new_handler): fix bug in finding last region handler.
Wed Jun 17 16:25:38 EDT 1998  Andrew MacLeod  (amacleod@cygnus.com)
      * except.c (add_new_handler): fix bug in finding last region handler.
      * libgcc2.c (find_exception_handler): Pass exception table pointer
      to runtime type matcher, not the match info field.

From-SVN: r20541
1998-06-17 13:29:22 +00:00
Andrew MacLeod
3301dc5191 eh-common.h (struct eh_context): Add comment for hidden use of field dynamic_handler_chain.
* eh-common.h (struct eh_context): Add comment for hidden use of
        field dynamic_handler_chain.
        * except.c (get_dynamic_handler_chain): Comment on, and use the
        correct offset of the dynamic_handler_chain field.

From-SVN: r20540
1998-06-17 13:05:54 +00:00
Jim Wilson
33f264afda Disable annoying linker warning that occurs when templates are used.
* mips/iris6.h (LINK_SPEC): Add -woff 131.

From-SVN: r20539
1998-06-17 05:48:25 -07:00
Jeffrey A Law
dbecbbe48a expr.c (check_max_integer_computation_mode): New function.
* expr.c (check_max_integer_computation_mode): New function.
        (expand_expr): Avoid integer computations in modes wider than
        MAX_INTEGER_COMPUTATION_MODE.
        * fold-const.c (fold): Likewise.
        * tree.h (check_max_integer_computation_mode): Declare.
        * tm.texi (MAX_INTEGER_COMPUTATION_MODE): Document it.

From-SVN: r20538
1998-06-17 05:44:02 -06:00
Mark Mitchell
a5b8127eb1 * errfn.c (cp_thing): Handle the `%%' formatting sequence.
From-SVN: r20537
1998-06-17 10:40:49 +00:00
Jason Merrill
d460fb3cdd dwarf2out.c: Disable EH_FRAME_SECTION if we don't have .init.
* dwarf2out.c: Disable EH_FRAME_SECTION if we don't have .init.
        * configure.in: Don't disable collect2 when we have GNU ld.

From-SVN: r20536
1998-06-17 04:31:24 -06:00
Jeffrey A Law
4b95eb496d * configure.in (nm): Make a link to "nm" in the build tree too.
From-SVN: r20535
1998-06-17 02:13:23 -06:00
Jeff Law
1b357872d7 mn10300.md (andsi3): Fix typo.
�
        * mn10300.md (andsi3): Fix typo.

From-SVN: r20534
1998-06-17 01:42:35 -06:00
Jeff Law
4c738570e1 mn10300.md (andsi3): Fix typo.
�
        * mn10300.md (andsi3): Fix typo.

From-SVN: r20533
1998-06-17 01:42:33 -06:00
Jason Merrill
0e607f3473 method.c (hack_identifier): Complain about getting a namespace or class template.
* method.c (hack_identifier): Complain about getting a namespace
	or class template.
	* typeck.c (decay_conversion): Remove check for namespaces.
	* typeck2.c (incomplete_type_error): Likewise.
	* parse.y (template_arg): Add PTYPENAME expansion.

From-SVN: r20532
1998-06-16 22:07:29 -04:00
Jeff Law
e4d4bdf2a9 Daily bump.
From-SVN: r20531
1998-06-16 18:45:02 -06:00
Richard Henderson
33ab8de00e * reload1.c (reload_cse_regs): Call bzero instead of looping.
From-SVN: r20530
1998-06-16 16:00:29 -07:00
Jim Wilson
bf20f3410f Fix bug reported by tege. section names wrong if USER_LABEL_PREFIX non-null.
* dwarf2out.c (stripattributes): Prepend '*' to the section name.

From-SVN: r20529
1998-06-16 11:33:00 -07:00
Richard Henderson
9c0e94a5e4 alpha.c (alpha_expand_prologue, [...]): New fns.
* alpha.c (alpha_expand_prologue, alpha_expand_epilogue): New fns.
        (output_prologue, output_epilogue): Merge VMS and OSF versions;
        Remove anything related to the actual code generation.
        (output_end_prologue): New function.
        (alpha_sa_mask, alpha_sa_size): Merge VMS and OSF versions.
        (alpha_does_function_need_gp): Return false for VMS.
        (alpha_function_needs_gp): Make static.
        (add_long_const): Delete.
        (summarize_insn): Don't assume a SUBREG is of a REG.
        Prototype all static functions.  Rename VMS-specific global
        variables vms_*.
        * alpha.h (TARGET_CAN_FAULT_IN_PROLOGUE): Default to 0.
        (FUNCTION_BOUNDARY): Align to cache line.
        (LOOP_ALIGN, ALIGN_LABEL_AFTER_BARRIER): Align to octaword.
        (FUNCTION_END_PROLOGUE): New macro.
        * alpha.md (attribute length): New.  Mark all insns.
        (return_internal, prologue_stack_probe_loop) New patterns.
        (prologue, init_fp, epilogue): New patterns.
        Disable peepholes.
        * linux.h (TARGET_CAN_FAULT_IN_PROLOGUE): Define.

From-SVN: r20528
1998-06-16 10:08:48 -07:00
Dave Brolley
ad1da1de8c toplev.c (lang_options): Add -trigraphs option for cpplib.
Tue Jun 16 17:36:35 1998  Dave Brolley  <brolley@cygnus.com>
	* toplev.c (lang_options): Add -trigraphs option for cpplib.

From-SVN: r20527
1998-06-16 11:48:14 -04:00
J"orn Rennecke
75528b80dc reload1.c (reload_reg_free_before_p): RELOAD_FOR_OUTADDR_ADDRESS is earlier than RELOAD_FOR_OUTPUT_ADDRESS...
* reload1.c (reload_reg_free_before_p): RELOAD_FOR_OUTADDR_ADDRESS
	is earlier than RELOAD_FOR_OUTPUT_ADDRESS; RELOAD_FOR_INPADDR_ADDRESS
	is earlier than RELOAD_FOR_INPUT_ADDRESS.

From-SVN: r20526
1998-06-16 16:35:50 +01:00
Jim Wilson
42b82dd3b2 Fix v850 build failure.
* libgcc1-test.c (memcpy): Define.

From-SVN: r20525
1998-06-16 06:17:14 -07:00
Andrew MacLeod
741f283993 decl.c (grokvardecl): Don't build external assembler names for TYPENAMEs in other namespaces as there...
1998-06-16  Andrew MacLeod  <amacleod@cygnus.com>
	* decl.c (grokvardecl): Don't build external assembler names for
	TYPENAMEs in other namespaces as there is no declarator.
	* error.c (cp_file_of, cp_line_of): Don't extract file or line number
	info from DECL_CONTEXT if it is NULL.

From-SVN: r20524
1998-06-16 12:36:14 +00:00
Michael Meissner
6f6074ea6f Print constants for function_units_used and *_blockage_range more human friendly
From-SVN: r20523
1998-06-16 10:48:57 +00:00
Jason Merrill
56c5997c8e revert
From-SVN: r20522
1998-06-15 23:18:08 -04:00
Jason Merrill
1c2c08a553 method.c (hack_identifier): Don't let a class template out.
* method.c (hack_identifier): Don't let a class template out.
	* call.c (check_dtor_name): Split out.
	(build_scoped_method_call): Use it.
	(build_method_call): Use it.
	* init.c (build_offset_ref): Use it.
	* typeck.c (build_static_cast): Fix handling of pointers to members.
	* decl.c (finish_function): Just return nothing from a constructor.
	* typeck.c (c_expand_return): Complain about returning a void
	expression from a destructor.

From-SVN: r20521
1998-06-15 22:51:01 -04:00
Craig Burley
8b45da67d0 Cutover to system.h:
Mon Jun 15 22:21:57 1998  Craig Burley  <burley@gnu.org>
	Cutover to system.h:
	* Make-lang.in:
	* Makefile.in:
	* ansify.c:
	* bad.c:
	* bld.c:
	* com.c:
	* com.h:
	* expr.c:
	* fini.c:
	* g77spec.c:
	* implic.c:
	* intdoc.c:
	* intrin.c:
	* lex.c:
	* lex.h:
	* parse.c:
	* proj.c:
	* proj.h:
	* src.c:
	* src.h:
	* stb.c:
	* ste.c:
	* target.c:
	* top.c:
	* system.j: New file.
	Use toplev.h where appropriate:
	* Make-lang.in:
	* Makefile.in:
	* bad.c:
	* bld.c:
	* com.c:
	* lex.c:
	* ste.c:
	* top.c:
	* toplev.j: New file.
	Conditionalize all dumping/reporting routines so they don't
	get built for gcc/egcs:
	* bld.c:
	* bld.h:
	* com.c:
	* equiv.c:
	* equiv.h:
	* sta.c:
	* stt.c:
	* stt.h:
	* symbol.c:
	* symbol.h:
	Use hconfig.h instead of config.h where appropriate:
	* Makefile.in (proj-h.o): Compile with -DUSE_HCONFIG.
	* fini.c: Define USE_HCONFIG before including proj.h.
	* Makefile.in (deps-kinda): Redirect stderr to stdout,
	to eliminate diagnostics vis-a-vis g77spec.c.
	* Makefile.in: Regenerate dependencies via deps-kinda.
	* lex.c (ffelex_file_fixed, ffelex_file_free): Eliminate
	apparently spurious warnings about uninitialized variables
	`c', `column', and so on.

From-SVN: r20520
1998-06-16 02:23:44 +00:00
Jeff Law
92a3a8d00d Daily bump.
From-SVN: r20517
1998-06-15 18:45:03 -06:00
Jason Merrill
9e30c37826 update
From-SVN: r20516
1998-06-15 19:51:13 -04:00
Michael Meissner
3ac3da71e2 Reorder tests in last change for speed
From-SVN: r20513
1998-06-15 16:32:00 +00:00
Michael Meissner
ddc8bed248 Do not do src->dest copy if register would not be allocated a normal register
Co-Authored-By: Jim Wilson <wilson@cygnus.com>

From-SVN: r20512
1998-06-15 14:28:02 +00:00
Jim Wilson
3bd89472d1 Fix merging error with formerly cygnus local change.
* c-decl.c (shadow_tag_warned): Use specs not declspecs in for loop.

From-SVN: r20511
1998-06-15 06:22:59 -07:00
Michael Meissner
a7db2896a5 Undo June 11th change
From-SVN: r20510
1998-06-15 12:33:51 +00:00
Dave Love
63393d8cc7 Update versions to 0.5.23.
From-SVN: r20509
1998-06-15 07:57:08 +00:00
Craig Burley
3f1e429275 g77spec.c (lang_specific_driver): Print out egcs version info first...
Sat Jun 13 03:13:18 1998  Craig Burley  <burley@gnu.org>
	* g77spec.c (lang_specific_driver): Print out egcs
	version info first, to be compatible with what some
	test facilities expect.

From-SVN: r20508
1998-06-15 07:54:39 +00:00
Craig Burley
f30bc2e7f5 Makefile.in (install): Don't install if $(libsubdir) is empty...
Sat Jun 13 03:46:40 1998  Craig Burley  <burley@gnu.org>
	* Makefile.in (install): Don't install if $(libsubdir)
	is empty; issue a diagnostic saying top-level Makefile
	must pass it in instead, and exit.
	* Makefile.in (g2c.h): Rename from f2c.h.
	* Makefile.in, libF77/Makefile.in, libI77/Makefile.in,
	libU77/Makefile.in: Rewrite config and var assignment
	sections to be even more minimal than before, and to
	more clearly documented what macros are expected to be
	set and to what sorts of values.  Eliminate CROSS and
	related stuff, since there's no such things as CROSS
	in egcs.  Rename GCC_FOR_TARGET to CC throughout.
	* Makefile.in (stamp-libi77, stamp-libf77, stamp-libu77):
	Eliminate CROSS.
	* configure.in: Eliminate CROSS.
	Rename libf2c.a and f2c.h to libg2c.a and g2c.h,
	normalize and simplify g77/libg2c build process:
	* Makefile.in: Remove all stuff pertaining to
	installation, cleaning, and so on.  Parent Makefile
	does all that now.  Pass F2C_H_DIR,
	G2C_H_DIR, and GCC_H_DIR, the pathnames for the
	directories containing f2c.h, g2c.h, and other
	#include files, to subdirectory Makefiles.
	(stamp-libf77, stamp-libi77, stamp-libu77):
	Don't specify `-f Makefile' anymore, it's not needed
	now that subdirectory makefile's from netlib are
	renamed to makefile.netlib in g77 source (and to
	makefile.ori by configuration process, in case they're
	still around somehow).
	(stamp-libe77): Don't make libE77 dir unless it doesn't
	exist, if it does just delete all objects in it.
	Compile using $(GCC_FOR_TARGET), not $(CC).
	(rebuilt): Remove this and all subordinate targets,
	as parent Makefile now handles all that.
	(*clean): Remove.
	* configure.in (Pad_UDread, ALWAYS_FLUSH, WANT_LEAD_0):
	Remove these and commentary to new f2c.h file.
	AC_OUTPUT g2c.h instead of f2c.h.  Remove old commentary
	regarding concatenation.
	* g2c.h.in: Rename from f2c.h.in, add appropriate
	commentary.
	* f2c.h: New file, a wrapper for g2c.h that does
	libg2c-specific stuff.
	* libF77/Makefile.in, libI77/Makefile.in, libU77/Makefile.in:
	Change $(ALL_CFLAGS) to use F2C_H_DIR, G2C_H_DIR, and GCC_H_DIR
	macros.  Remove F2C_H macro, replace use with explicit
	dependencies on f2c.h and g2c.h.
	(*clean): Remove.

From-SVN: r20507
1998-06-15 07:52:05 +00:00
Craig Burley
95a1b67649 Restore circa-0.5.22 capabilities of `g77' driver:
Thu May 28 21:32:18 1998  Craig Burley  <burley@gnu.org>
	Restore circa-0.5.22 capabilities of `g77' driver:
	* Make-lang.in (g77spec.o): Depend on f/version.h.
	(g77version.o): New rule to compile g77 version info.
	(g77$(exeext)): Depend on and link in g77version.o.
	* g77spec.c: Rewrite to be more like 0.5.22 version
	of g77.c, making filtering of command line smarter
	so mixed Fortran and C (etc.) can be compiled, verbose
	version info can be obtained, etc.
	* lang-specs.h (f77-version): New "language" to support
	"g77 -v" command under new gcc 2.8 regime.
	* lex.c (ffelex_file_fixed): If -fnull-version, just
	substitute a "source file" that prints out version info.
	* top.c, top.h: Support -fnull-version.
	* lang-specs.h: Use "%O" instead of OO macro to specify
	object extension.  Remove old stringizing cruft.
	* Make-lang.in (g77.c, g77spec.o, g77.o, g77$(exeext),
	g77-cross$(exeext), f771,
	$(srcdir)/f/g77.info, $(srcdir)/f/g77.dvi,
	$(srcdir)/f/intdoc.texi,
	f77.install-common, f77.install-info, f77.install-man,
	f77.uninstall, $(G77STAGESTUFF), f77.stage1, f77.stage2,
	f77.stage3, f77.stage4, f77.distdir): Don't do anything
	unless user specified "f77" or "F77" in $LANGUAGES either
	during configuration or explicitly.  For convenience of
	various tests and to work around lack of the assignment
	"LANGUAGES=$(BOOT_LANGUAGES)" in the "make stage1" command
	of "make bootstrap" in gcc, use a touch file named "lang-f77"
	to communicate whether this is the case.
	* Make-lang.in (F77_FLAGS_TO_PASS): Delete this macro,
	replace with minimal expansion of its former self in
	each of the two instances where it was used.
	* Makefile.in (HOST_CC): Delete this definition.
	* com.c (index, rindex): Delete these declarations.
	* proj.h: (isascii): Delete this.
	* Make-lang.in (f77.install-common): Warn if `f77-install-ok'
	flag-file exists, since it no longer triggers any activity.
	Rename libf2c.a and f2c.h to libg2c.a and g2c.h,
	normalize and simplify g77/libg2c build process:
	* Make-lang.in: Remove all support for overwriting
	/usr/bin/f77 etc., or whatever the actual names are
	via $(prefix) and $(local_prefix).  (g++ overwrites
	/usr/bin/c++, but then it's often the only C++ compiler
	on the system; f77 often exists on systems that are
	installing g77.)
	(f77.realclean): Remove obsolete target.
	(g77.c, g77$(exeext)): Minor changes to look more like g++'s
	stuff.
	(f771): Now built with srcdir=gcc/f, not srcdir=gcc, to be
	more like g++ and such.
	(f/Makefile): Removed, as g++ doesn't need this rule.
	(f77.install-common): No longer install f77, etc.
	(f77.install-man): No longer install f77.1.
	(f77.uninstall): No longer uninstall f77, f77.1, etc.
	(f77.stage1, f77.stage2, f77.stage3, f77.stage4): Do work
	only if "f77" appears in $(LANGUAGES).
	(Note: gcc's Makefile.in's bootstrap target should set
	LANGUAGES=$(BOOT_LANGUAGES) when making the stage1 target.)
	* Makefile.in: Update vis-a-vis gcc/cp/Makefile.in.
	(none): Remove.
	(g77-only): Relocate.
	(all.indirect, f771, *.o): Now assumes current directory
	is this dir (gcc/f), not the parent directory.
	(TAGS): Remove "echo 'parse.y,0'  >> TAGS ;" line.
	* config-lang.in: Delete commented-out code.
	Fix stagestuff definition.  Add more stuff to
	diff_excludes definition.  Don't create any directories.
	Set outputs to f/Makefile, to get variable substition
	to happen (what does that really do, anyway?!).
	* g77spec.c: Rename libf2c to libg2c.
	* com.h: Remove all of the gcc back-end decls,
	since egcs should have all of them correct.
	* com.c: Include "proj.h" before anything else,
	as that's how things are supposed to work.
	* ste.c: Ditto.
	* bad.c: Include "flags.j" here, since some diagnostics
	check flag_pedantic_errors.
	* Makefile.in (f/*.o): Rebuild dependencies via
	deps-kinda.
	* output.j: New source file.
	* Make-lang.in (F77_SRCS): Update accordingly.
	* Makefile.in (OUTPUT_H): Ditto.
	(deps-kinda): Ditto.
	* com.c: Include "output.j" here.
	* lex.c: Ditto.

From-SVN: r20506
1998-06-15 07:37:33 +00:00
Vladimir Makarov
e74e8c843a rs6000.c (output_prolog): Change locations and directions of saving and restoring arguments of main on...
* config/rs6000/rs6000.c (output_prolog): Change locations and
	directions of saving and restoring arguments of main on the stack.

From-SVN: r20505
1998-06-15 07:25:09 +00:00
Jeffrey A Law
d61d494a73 Bump for snapshot
From-SVN: r20503
1998-06-15 01:16:32 -06:00
Jeff Law
ae887f4040 Daily bump.
From-SVN: r20502
1998-06-14 18:45:02 -06:00
Jeff Law
04bd754a32 Daily bump.
From-SVN: r20501
1998-06-13 18:45:02 -06:00
Mark Mitchell
79ad62b257 class.c (alter_access): Accept a BINFO explaining how to get from the entity whose accessed is being...
* class.c (alter_access): Accept a BINFO explaining how to get
	from the entity whose accessed is being altered to the type doing
	the altering.
	(handle_using_decl): New function containing code split out from ...
	(finish_struct_1): Here.

From-SVN: r20500
1998-06-13 23:48:07 +00:00
Mark Mitchell
8f259df3c0 cp-tree.h (complete_type_or_else): Declare.
* cp-tree.h (complete_type_or_else): Declare.
	* init.c (build_new_1, build_delete): Use it.
	* typeck.c (require_complete_type): Use complete_type, rather than
	expanding it inline.
	(complete_type_or_else): New function.
	(build_component_ref): Use it.
	(pointer_int_sum): Make sure the type pointed to is complete.
	(pointer_diff): Likewise.

From-SVN: r20499
1998-06-13 23:45:18 +00:00
Mark Mitchell
581d38d0ba pt.c (for_each_template_parm): Traverse the TYPE_CONTEXT for types.
* pt.c (for_each_template_parm): Traverse the TYPE_CONTEXT for
	types.

From-SVN: r20498
1998-06-13 23:35:46 +00:00
Mark Mitchell
5e7955289f search.c (get_matching_virtual): Note that member templates cannot override virtual functions.
* search.c (get_matching_virtual): Note that member templates
	cannot override virtual functions.

From-SVN: r20497
1998-06-13 23:34:56 +00:00
Jeff Law
a61e1825f5 Initial revision
From-SVN: r20494
1998-06-13 13:52:15 -06:00
Richard Henderson
3bde0154ef Kill wrong ev6 comment.
From-SVN: r20466
1998-06-13 08:36:35 -07:00