* 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
* 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
* 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
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
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
* 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
* 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
* 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 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
* 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
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
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
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
* 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
* 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