law [Tue, 27 Jan 1998 09:23:08 +0000 (09:23 +0000)]
* tlink.c (scan_linker_output): Call fclose() for opened files.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17504
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Tue, 27 Jan 1998 05:11:41 +0000 (05:11 +0000)]
* alpha.c (output_epilog [!VMS]): Don't tag global functions if
compiling with -fpic -- we want to be able to override symbols
properly.
(alpha_expand_block_move): Fix thinko in last change.
* alpha.h (ASM_OUTPUT_MI_THUNK): New define.
* config/alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): New define.
* config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): New undef.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17503
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Tue, 27 Jan 1998 03:23:31 +0000 (03:23 +0000)]
* alpha.md (abssf, absdf): Revert last change.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17502
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Tue, 27 Jan 1998 02:58:51 +0000 (02:58 +0000)]
new
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17501
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Tue, 27 Jan 1998 02:30:38 +0000 (02:30 +0000)]
* pt.c (type_unification_real): Just accept function parms that
don't use any template parms.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17500
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Mon, 26 Jan 1998 23:26:51 +0000 (23:26 +0000)]
* dwarf2out.c (dwarf2out_frame_init): Test value of DWARF2_UNWIND_INFO.
* mips/sni-svr4.h: Define DWARF2_UNWIND_INFO as 0.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17499
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Mon, 26 Jan 1998 23:05:08 +0000 (23:05 +0000)]
* emit-rtl.c (gen_lowpart_common): Handle more case where converting
a CONST_INT into SFmode.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17498
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Mon, 26 Jan 1998 23:00:04 +0000 (23:00 +0000)]
* flags.h: New flag (optimize_size).
* toplev.c (main): Parse -Os option and set optimize_space
accordingly.
* gcc.c (default_compilers), cp/lang-specs.h, f/lang-specs.h: Define
__OPTIMIZE_SIZE__ when compiling with -Os.
* config/dsp16xx/dsp16xx.h, config/i386/i386.h,
config/i386/dgux.h, config/i960/i960.h, config/pdp11/pdp11.h,
config/v850/v850.h (OPTIMIZATION_OPTIONS): New SIZE argument
to macro.
* config/i386/i386.c (optimization_options): Accept new SIZE argument.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17497
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Mon, 26 Jan 1998 22:54:52 +0000 (22:54 +0000)]
* libgcc2.c (__clear_insn_cache): On sysV68 enable the memctl
stuff only if MCT_TEXT is #define'd.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17496
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Mon, 26 Jan 1998 22:51:28 +0000 (22:51 +0000)]
* configure.in (i*86-pc-msdosdjgpp): Treat like msdos & go32
configurations.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17495
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Mon, 26 Jan 1998 22:48:32 +0000 (22:48 +0000)]
* toplev.c: Add -dM command line option to dump RTL after the
machine dependent reorganisation pass, if there is one.
Reorganise RTL dump code, so that only one file handle is
needed.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17494
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Mon, 26 Jan 1998 22:43:57 +0000 (22:43 +0000)]
* except.c (check_exception_handler_labels): Disable warning when
flag_syntax_only.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17493
138bc75d-0d04-0410-961f-
82ee72b054a4
wilson [Mon, 26 Jan 1998 18:21:26 +0000 (18:21 +0000)]
Fix C++/-fpic core dump from Brendan, side effect of Kenner's Dec 24 change.
* sparc.c (pic_setup_code): Don't set LABEL_PRESERVE_P.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17491
138bc75d-0d04-0410-961f-
82ee72b054a4
wilson [Mon, 26 Jan 1998 18:13:41 +0000 (18:13 +0000)]
Patch from Joern to fix dwarf1 bug: emit debug info for types defined in
parameter lists.
* c-decl.c (grokdeclarator): Get parameter tags from
last_function_parm_tags.
* dwarfout.c (output_formal_types): Set TREE_ASM_WRITTEN before
traversing the parameter types.
(output_type): No early exit for FUNCTION_TYPE / METHOD_TYPE context.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17490
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Mon, 26 Jan 1998 16:15:46 +0000 (16:15 +0000)]
Tweak.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17489
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Mon, 26 Jan 1998 08:38:23 +0000 (08:38 +0000)]
Remove Gavin for now.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17488
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Mon, 26 Jan 1998 08:31:47 +0000 (08:31 +0000)]
Tweaks from Andreas.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17487
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Mon, 26 Jan 1998 00:44:02 +0000 (00:44 +0000)]
* h8300.c (print_operand): Handle CONST_DOUBLE for 'e', 'f', and
the default case.
(get_shift_alg): Fix typo.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17486
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Sun, 25 Jan 1998 22:22:29 +0000 (22:22 +0000)]
* alpha.c (alpha_expand_block_move): Copy ADDRESSOF to reg.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17485
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Sun, 25 Jan 1998 22:14:54 +0000 (22:14 +0000)]
* toplev.c (get_run_time): Make sure each case gets its variables.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17484
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Sun, 25 Jan 1998 22:11:32 +0000 (22:11 +0000)]
* configure.in (build_xm_file): Add auto-config.h if host=build.
(host_xm_file_list): Don't add $(srcdir) to auto-config.h.
(build_xm_file_list): Likewise.
* configure: Rebuild.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17483
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Sun, 25 Jan 1998 21:00:42 +0000 (21:00 +0000)]
* recog.c (validate_replace_rtx_1): Only perform substitutions
of arguments to commutative and comparison operators once.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17482
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Sun, 25 Jan 1998 20:19:15 +0000 (20:19 +0000)]
Add some stuff
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17481
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Sun, 25 Jan 1998 17:13:31 +0000 (17:13 +0000)]
Tweak.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17479
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Sun, 25 Jan 1998 16:45:02 +0000 (16:45 +0000)]
* std/bastring.h (unique): We only need length bytes.
(c_str): Avoid writing over random memory.
#include <std/bastring.cc>.
Lose _G_ALLOC_CONTROL.
* std/bastring.cc: Likewise.
(nilRep): Add initializer for selfish.
* sinst.cc: Just #include <string>.
Fix a couple of bugs, linux undefined symbol problem.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17478
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Sun, 25 Jan 1998 13:33:39 +0000 (13:33 +0000)]
* decl.c (cp_finish_decl): When bailing on a comdat variable, also
unset DECL_NOT_REALLY_EXTERN.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17477
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Sun, 25 Jan 1998 12:54:44 +0000 (12:54 +0000)]
* parse.y (typename_sub*): Fix std::.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17476
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Sun, 25 Jan 1998 11:34:22 +0000 (11:34 +0000)]
* config/sparc/sparc.c (output_cbranch): Add default case in
enumeration switch.
* reorg.c (insn_sets_resource_p): Correct typo in prototype.
(emit_delay_sequence): Eliminate unused parameter, all callers
changed.
(fill_simple_delay_slots): Likewise.
(fill_slots_from_thread): Likewise.
(fill_eager_delay_slots): Likewise.
(mark_referenced_resources): Add default case in enumeration switch.
(mark_set_resources): Likewise.
(rare_destination): Likewise.
(mostly_true_jump): Likewise.
(find_dead_or_set_registers): Likewise.
(redirect_with_delay_slots_safe_p): Remove unused variable `slots'.
(update_reg_unused_notes): Remove unused variable `p'.
(mark_target_live_regs): Remove unused variables `next' and
`jump_count'.
(fill_simple_delay_slots): Remove unused variable `j'.
(fill_slots_from_thread): Add parentheses around assignment used
as truth value.
(dbr_schedule): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17475
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Sun, 25 Jan 1998 11:30:32 +0000 (11:30 +0000)]
* Make-lang.in (f77.stage1): Depend on stage1-start so parallel
make works better.
* (f77.stage2): Likewise for stage2-start.
* (f77.stage3): Likewise for stage3-start.
* (f77.stage4): Likewise for stage4-start.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17474
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Sun, 25 Jan 1998 11:29:50 +0000 (11:29 +0000)]
* objc/Make-lang.in (objc.stage1): Depend on stage1-start.
(objc.stage2, objc.stage3, objc.stage4): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17473
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Sun, 25 Jan 1998 11:12:26 +0000 (11:12 +0000)]
* cse.c (simplify_ternary_operation): Don't try to simplify
IF_THEN_ELSE expressions (created by combine) that don't use
relational operators.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17472
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Sun, 25 Jan 1998 09:00:18 +0000 (09:00 +0000)]
Fix mismatched parens.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17471
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Sat, 24 Jan 1998 12:26:46 +0000 (12:26 +0000)]
* error.c (dump_decl): Fix type default template args.
(dump_type): Hand TEMPLATE_DECL off to dump_decl.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17470
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Sat, 24 Jan 1998 03:04:11 +0000 (03:04 +0000)]
tweak
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17469
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Sat, 24 Jan 1998 01:14:26 +0000 (01:14 +0000)]
New file. Empty until we start adding stuff to it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17468
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Sat, 24 Jan 1998 00:58:07 +0000 (00:58 +0000)]
* configure (package_makefile_frag): Move inserting the
${package_makefile_frag} to where it should be according
to the comment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17467
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Sat, 24 Jan 1998 00:31:38 +0000 (00:31 +0000)]
Tweak SCO5 stuff.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17466
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Fri, 23 Jan 1998 23:06:03 +0000 (23:06 +0000)]
* cse.c (simplify_ternary_operation): Handle more IF_THEN_ELSE
simplifications.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17465
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Fri, 23 Jan 1998 21:47:43 +0000 (21:47 +0000)]
* crtstuff.c (init_dummy): Keep the epilogue in the init
section for non-ELF systems.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17464
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Fri, 23 Jan 1998 21:27:50 +0000 (21:27 +0000)]
* sh.md (movqi_i+1): New peephole.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17463
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Fri, 23 Jan 1998 21:13:16 +0000 (21:13 +0000)]
Finish .cexp -> .x conversion.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17462
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Fri, 23 Jan 1998 18:35:06 +0000 (18:35 +0000)]
* lex.c (DIR_SEPARATOR): Define to be '/' if not already defined.
(file_name_nondirectory): Use.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17461
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Fri, 23 Jan 1998 18:33:28 +0000 (18:33 +0000)]
revert last change
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17460
138bc75d-0d04-0410-961f-
82ee72b054a4
wilson [Fri, 23 Jan 1998 15:43:01 +0000 (15:43 +0000)]
Remove rest of bytecode stuff, except for the VMS *.com files.
* Makefile.in: Remove remaining bytecode stuff.
* emit-rtl.c, expr.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17459
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Fri, 23 Jan 1998 11:39:49 +0000 (11:39 +0000)]
* toplev.c (lang_options): Add unknown-pragma options.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17458
138bc75d-0d04-0410-961f-
82ee72b054a4
bothner [Thu, 22 Jan 1998 23:48:23 +0000 (23:48 +0000)]
�
* dwarfout.c (byte_size_attribute): Simplify and fix - don't need
special (and incomplete) handling for Chill arrays.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17457
138bc75d-0d04-0410-961f-
82ee72b054a4
bothner [Thu, 22 Jan 1998 23:48:22 +0000 (23:48 +0000)]
8
* dwarfout.c (byte_size_attribute): Simplify and fix - don't need
special (and incomplete) handling for Chill arrays.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17456
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Thu, 22 Jan 1998 23:28:32 +0000 (23:28 +0000)]
* config.guess: Add support for Linux/ARM.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17455
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Thu, 22 Jan 1998 23:26:28 +0000 (23:26 +0000)]
* toplev.c (get_run_time): Call sysconf(_SC_CLK_TCK), when available,
to get clock rate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17454
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Thu, 22 Jan 1998 23:18:55 +0000 (23:18 +0000)]
* mips.md (muldi3_internal2): Reverse test for TARGET_MIPS16.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17453
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Thu, 22 Jan 1998 23:16:12 +0000 (23:16 +0000)]
Tweak.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17452
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Thu, 22 Jan 1998 23:13:28 +0000 (23:13 +0000)]
1998-01-22 scott snyder <snyder@d0sgif.fnal.gov>
* mips.c (function_prologue): Use HARD_FRAME_POINTER_REGNUM in
.frame directive instead of FRAME_POINTER_REGNUM.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17451
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Thu, 22 Jan 1998 23:10:15 +0000 (23:10 +0000)]
* m68k.h (TARGET_SWITCHES): -mcpu32 now clears MASK_68881.
(MACHINE_STATE_m68010_up): Replaced __mc68332__ with __mcpu32__.
* m68k/m68k-none.h(CPP_FPU_SPEC): Update relative to TARGET_SWITCHES.
(CPP_SPEC, ASM_SPEC, CC1_SPEC): Likewise.
(CPP_SPEC): -m68332 defines both __mc68332 and __mcpu32__.
* m68k/t-m68kbare (MULTILIB_OPTIONS): Add mcpu32.
(MULTILIB_MATCHES): -m68332 now uses mcpu32 libraries, not m68000.
(MULTILIB_EXCEPTIONS): Don't build 68881 libraries for m68000,
mcpu32 or m5200.
* longlong.h: Replace __mc68332__ with __mcpu32__.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17450
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Thu, 22 Jan 1998 22:24:37 +0000 (22:24 +0000)]
Add intel site.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17449
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 22 Jan 1998 22:08:11 +0000 (22:08 +0000)]
* decl2.c (grok_x_components): Always call grok_enum_decls.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17448
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Thu, 22 Jan 1998 19:55:42 +0000 (19:55 +0000)]
Bump for snapshot
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17446
138bc75d-0d04-0410-961f-
82ee72b054a4
brendan [Thu, 22 Jan 1998 15:42:52 +0000 (15:42 +0000)]
lose text after #endif
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17445
138bc75d-0d04-0410-961f-
82ee72b054a4
wilson [Thu, 22 Jan 1998 14:48:58 +0000 (14:48 +0000)]
Fix powerpc/rs6000 (subreg:SF (mem:SI ...)) reload problem.
* reload.c (push_reload): In WORD_REGISTER_OPERATIONS code, add test
to require the SUBREG mode to be smaller than the SUBREG_REG mode.
* reload1.c (eliminate_regs): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17444
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Thu, 22 Jan 1998 13:49:29 +0000 (13:49 +0000)]
* regmove.c (find_matches): Initialize matches->earlyclobber too.
Should fix pa bootstrap comparison failures.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17443
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 22 Jan 1998 11:04:02 +0000 (11:04 +0000)]
new
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17442
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 22 Jan 1998 11:03:56 +0000 (11:03 +0000)]
Wed Jan 21 10:29:57 1998 Kriang Lerdsuwanakij <lerdsuwa@scf.usc.edu>
* pt.c (coerce_template_parms): Don't access elements of ARGLIST
that is not really present. Substitute default arguments in
template template arguments. Correctly convert TEMPLATE_DECL to
TEMPLATE_TEMPLATE_PARM.
(comp_template_args): TEMPLATE_DECL and TEMPLATE_TEMPLATE_PARM
are no longer treated specially here.
* parse.y (template_template_parm): Fix copy error.
* decl.c (grokdeclarator): Warn about missing `typename' for nested
type created from template template parameters.
* parse.y (bad_parm): Likewise
* class.c (finish_struct): Handle TEMPLATE_TEMPLATE_PARM.
(push_nested_class): Likewise.
* cp-tree.def (TEMPLATE_TEMPLATE_PARM): New tree code.
* cp-tree.h (DECL_TEMPLATE_TEMPLATE_PARM_P): New macro.
(copy_template_template_parm): Declare.
* decl.c (arg_looking_for_template): New variable.
(lookup_name_real): Handle TEMPLATE_TEMPLATE_PARM.
Try to return TEMPLATE_DECL or TEMPLATE_TEMPLATE_PARM
node if arg_looking_for_template is nonzero.
(pushdecl): Handle TEMPLATE_TEMPLATE_PARM.
(grok_op_properties, xref_tag, xref_basetypes): Likewise.
(grokdeclarator): Handle TEMPLATE_DECL.
* decl2.c (constructor_name_full): Handle TEMPLATE_TEMPLATE_PARM.
* error.c (dump_type): Add TEMPLATE_DECL and TEMPLATE_TEMPLATE_PARM.
(dump_type_prefix, dump_type_suffix) Handle TEMPLATE_TEMPLATE_PARM.
(dump_decl): Handle unnamed template type parameters.
Handle template template parameters.
(dump_function_name): Handle template template parameters.
* init.c (is_aggr_typedef, is_aggr_type, get_aggr_from_typedef):
Handle TEMPLATE_TEMPLATE_PARM.
* method.c (build_template_template_parm_names): New function.
(build_template_parm_names): Handle TEMPLATE_DECL.
(build_overload_nested_name, build_overload_name):
Handle TEMPLATE_TEMPLATE_PARM.
* parse.y (maybe_identifier): New nonterminal.
(template_type_parm): Use it.
(template_template_parm, template_arg1): New nonterminal.
(template_parm): Add template_template_parm rules.
(template_arg): Set processing_template_arg.
(template_arg1): Rules moved from template_arg.
(primary, nonnested_type): Set arg_looking_for_template if we are
processing template arguments.
* pt.c (begin_member_template_processing): Handle TEMPLATE_DECL.
(process_template_parm): Handle template template parameters.
(coerce_template_parms, comp_template_args): Likewise.
(mangle_class_name_for_template, lookup_template_class): Likewise.
(uses_template_parms): Handle TEMPLATE_DECL and
TEMPLATE_TEMPLATE_PARM.
(current_template_args): Handle TEMPLATE_DECL.
(tsubst, tsubst_copy, unify): Handle TEMPLATE_TEMPLATE_PARM.
* search.c (dfs_walk, dfs_record_inheritance):
Handle TEMPLATE_TEMPLATE_PARM.
* tree.c (copy_template_template_parm): New function.
(mapcar): Handle TEMPLATE_TEMPLATE_PARM.
* typeck.c (comptypes): Handle TEMPLATE_TEMPLATE_PARM.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17441
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Thu, 22 Jan 1998 01:44:04 +0000 (01:44 +0000)]
* alpha.md (abssf2, absdf2): Disable in IEEE mode.
(negsf2, negdf2): Use proper subtract in IEEE mode.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17440
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Thu, 22 Jan 1998 01:39:33 +0000 (01:39 +0000)]
* configure.in: Revert 3 Jan change for alpha-linux-gnulibc1.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17439
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Wed, 21 Jan 1998 06:48:07 +0000 (06:48 +0000)]
Fix typo in yesterday's change.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17438
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 21 Jan 1998 00:11:44 +0000 (00:11 +0000)]
update
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17437
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Tue, 20 Jan 1998 17:02:10 +0000 (17:02 +0000)]
Remove more bytecode stuff.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17436
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Tue, 20 Jan 1998 10:02:05 +0000 (10:02 +0000)]
More bytecode stuff disappears.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17435
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Tue, 20 Jan 1998 08:59:50 +0000 (08:59 +0000)]
Remove more bytecode stuff.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17434
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Tue, 20 Jan 1998 08:57:27 +0000 (08:57 +0000)]
More bytecode stuff going away.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17433
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Tue, 20 Jan 1998 08:55:07 +0000 (08:55 +0000)]
* Makefile.in: Remove all bytecode support.
(OBJS): Make sure last entry is a real object file, not EXTRA_OBJS.
* emit-rtl.c: Remove all bytecode support.
* expr.c, expr.h function.c, integrate.c: Likewise.
* output.h, regclass.c, rtl.h, stmt.c, toplev.c: Likewise.
* tree.h, varasm.c: Likewise.
* bi-*, bc-*: Delete bytecode related files.
Bytecode suppors disappears :-)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17432
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Tue, 20 Jan 1998 08:24:58 +0000 (08:24 +0000)]
* configure.in: Check for atol.
Forgot to commit this one a few days ago.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17431
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Tue, 20 Jan 1998 08:01:08 +0000 (08:01 +0000)]
* mips/mips.md (divsi3,divdi3,modsi3,moddi3,udivsi3,udivdi3,
umodsi3,umoddi3): Handle mips16 div/mod by a constant.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17430
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Tue, 20 Jan 1998 07:28:54 +0000 (07:28 +0000)]
Fix ChangeLog entry format.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17429
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Tue, 20 Jan 1998 07:22:47 +0000 (07:22 +0000)]
Rebuilt.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17428
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Tue, 20 Jan 1998 00:57:39 +0000 (00:57 +0000)]
tests from mark
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17427
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 19 Jan 1998 22:41:40 +0000 (22:41 +0000)]
* decl.c (start_decl): Don't allow duplicate definitions of static
data members.
* call.c (build_user_type_conversion_1): Handle user-defined
template conversion operators correctly.
* decl2.c (build_expr_from_tree): Issue an error message if the
object in a COMPONENT_REF is a TEMPLATE_DECL.
* typeck.c (incomplete_type_error): Handle TEMPLATE_TYPE_PARMs.
* class.c (is_local_class): New function.
* cp-tree.h (is_local_class): Declare it.
(last_tree): Likewise.
(begin_tree): Likewise.
(end_tree): Likewise.
(lookup_template_class): Change prototype.
* decl.c (cp_finish_decl): Check for NULL where necesary.
Consider FUNCTION_DECLS to declare objects with top-level binding,
when calling make_decl_rtl.
(grokdeclarator): Give members of local classes internal linkage.
(start_function): Remove declaration of last_tree.
(finish_function): Set flag_keep_inline_functions around call to
rest_of_compilation if we are processing a member function in a
local class.
(start_method): Call push_template_decl for member functions of
local classes in template functions.
* decl2.c (import_export_decl): Don't give external linkage to
instantiations of templates with internal linkage.
* parse.y (last_tree): Remove declaration.
(template_type): Pass extra parameter to lookup_template_class.
(self_template_type): Likewise.
(structsp): Move call to reset_specialization into left_curly.
(left_curly): Call reset_specialization, and begin_tree.
* pt.c (saved_trees): New variable.
(mangle_class_name_for_template): Change prototype. Use
additional function context to name local classes in templates
correctly.
(classtype_mangled_name): Pass the context.
(push_template_decl): Handle local classes and templates, and
member functions for such classes.
(convert_nontype_parameter): Fix handling of pointer-to-member
constants.
(lookup_template_class): Handle local classes in templates.
(tsubst): Likewise. Don't assume that template instantiations
have external linkage; pay attention to the template declaration.
(mark_decl_instantiated): Likewise.
(begin_tree): New function.
(end_tree): Likewise.
* decl.c (xref_basetypes): Don't call complete_type for basetypes
that involve template parameters; that can lead to infinite
recursion unnecessarily.
* pt.c (register_specialization): Do not register specializations
that aren't ready to be registered yet.
(check_explicit_specialization): Handle explicit specialization of
constructors and destructors.
(build_template_decl): New function.
(push_template_delc): Handle out-of-class specializations of
member templates.
* pt.c (check_explicit_specialization): Set up the template
information before registering the specialization.
(coerce_template_parms): Fix thinko.
(tsubst): Handle specializations of member templates correctly.
* class.c (finish_struct_methods): Remove calls to
check_explicit_specialization from here.
(finish_struct): And insert them here.
* cp-tree.h (perform_qualification_conversions): New function.
(perform_array_to_pointer_conversion): Likewise.
(begin_explicit_instantiation): Likewise.
(end_explicit_instantiation): Likewise.
(determine_specialization): Renamed from
determine_explicit_specialization.
(comp_template_parms): New function.
(processing_explicit_instantiation): New variable.
* cvt.c (perform_qualification_conversions): New function.
(perform_array_to_pointer_conversion): Likewise.
* decl.c (duplicate_decls): Don't consider template functions
alike unless they have the same parameters. Refine handling of
instantiation/specialization mismatches.
(start_decl): Don't call pushdecl for template specializations,
since they don't affect overloading.
(start_function): Likewise
(grokfndecl): Call check_explicit_specialization a little later.
Don't call duplicate_decls for memberm template specializations.
(grokdeclarator): Don't update template_count for classes that are
themselves specializations. Remove use of `2' as parameter to
grokfndecl since that value isn't used.
* lex.c (cons_up_default_function): Save and restore
processing_explicit_instantiation around calls to grokfield.
* parse.y (finish_member_template_decl): New function.
(component_decl_1): Use it.
(fn.def2): Likewise.
(template_arg_list_opt): New nonterminal.
(template_type): Use it.
(self_template_type): Likewise.
(template_id): Likewise.
(object_template_id): Likewise.
(notype_template_declarator): Likwise.
(begin_explicit_instantiation): Likewise.
(end_explicit_instantiation): Likewise.
(explicit_instantiation): Use them.
* pt.c (coerce_template_parms): Add parameters.
(processing_explicit_instantiation): New variable.
(convert_nontype_parameter): New function.
(determine_overloaded_function): Likewise.
(begin_explicit_instantiation): Likewise.
(end_explicit_instantiation): Likewise.
(retrieve_specialization): Likewise.
(register_specialization): Likewise.
(processing_explicit_specialization): Removed.
(determine_specialization): Handle specializations of member
functions of template class instantiations.
(check_explicit_specialization): Refine to conform to standard.
(comp_template_parms): New function.
(coerce_template_parms): Call convert_nontype_parameter.
(tsubst): Refine handling of member templates. Use
register_specialization.
(instantiate_template): Use retrieve_specialization.
(do_decl_instantiation): Likewise.
(instantiate_decl): Likewise.
(type_unification): Improve handling of explict template
arguments.
* tree.c (mapcar): Return error_mark_node, rather than aborting,
on VAR_DECLS, FUNCTION_DECLS, and CONST_DECLS.
* typeck.c (build_unary_op): Call determine_specialization, rather
than determine_explicit_specialization.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17426
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Mon, 19 Jan 1998 21:54:09 +0000 (21:54 +0000)]
* i386.md (push): Prohibit symbolic constants if flag_pic.
(movsi+1): Likewise for move to non-register.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17425
138bc75d-0d04-0410-961f-
82ee72b054a4
wilson [Mon, 19 Jan 1998 18:32:48 +0000 (18:32 +0000)]
Fix 32 bit host alpha ev6 target failure.
* alpha.c (mode_mask_operand): Accept 0xffffffff on 32 bit host.
(print_operand): Handle 0xffffffff on 32 bit host.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17424
138bc75d-0d04-0410-961f-
82ee72b054a4
wilson [Mon, 19 Jan 1998 13:57:04 +0000 (13:57 +0000)]
Fix build/host/target configure in settting of thread_file.
* configure.in (thread_file): Rename uses before main loop to
target_thread_file. Initialize to empty in main loop. Set thread_file
to target_thread_file after main loop if not set.
* configure: Rebuild.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17423
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 19 Jan 1998 13:21:59 +0000 (13:21 +0000)]
* cvt.c (build_up_reference): A TARGET_EXPR has side effects.
14507
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17422
138bc75d-0d04-0410-961f-
82ee72b054a4
wilson [Mon, 19 Jan 1998 11:16:37 +0000 (11:16 +0000)]
Fix time/space problem when (const_int 1) occurs in conflict_list.
* genattrtab.c (find_and_mark_used_attributes): Handle CONST_INT.
(add_values_to_cover): Revert last change (which had no ChangeLog
entry).
(simplify_with_current_value_aux): Handle CONST_INT.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17421
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Mon, 19 Jan 1998 10:12:31 +0000 (10:12 +0000)]
* unprotoize.c: Define UNPROTOIZE first, to actually take effect.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17420
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Mon, 19 Jan 1998 10:09:47 +0000 (10:09 +0000)]
* configure.in: Add cpp stringify test.
* acconfig.h (HAVE_CPP_STRINGIFY): New tag.
* gengenrtl.c: Use it.
* configure, config.in: Rebuild.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17419
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Mon, 19 Jan 1998 09:39:38 +0000 (09:39 +0000)]
* Makefile.in (genrtl.c genrtl.h): Add dummy command for GNU make.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17418
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Mon, 19 Jan 1998 09:37:12 +0000 (09:37 +0000)]
* configure.in: Find declaration for sbrk.
* acconfig.h (NEED_DECLARATION_SBRK): New tag.
* config.in, configure: Rebuild.
* mips-tfile.c: Properly protect declaration of sbrk and free.
* toplev.c: Properly protect declaration of sbrk.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17417
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Sun, 18 Jan 1998 20:15:24 +0000 (20:15 +0000)]
* alpha.c (alpha_handle_trap_shadows): Ignore CLOBBERs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17416
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Sun, 18 Jan 1998 20:03:42 +0000 (20:03 +0000)]
Typo applying the last patch.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17415
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Sun, 18 Jan 1998 20:02:04 +0000 (20:02 +0000)]
* f_back (f/runtime/libI77/backspace.c): use type `uiolen'
to determine size of record length specifier.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17414
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Sun, 18 Jan 1998 00:52:49 +0000 (00:52 +0000)]
* alpha/xm-winnt.h (HAS_INIT_SECTION): Undefine.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17413
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Sun, 18 Jan 1998 00:49:05 +0000 (00:49 +0000)]
Fix various bugs in previous change.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17412
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Sun, 18 Jan 1998 00:32:36 +0000 (00:32 +0000)]
* lib/c-torture.exp: Look for .x files instead of .cexp files.
* lib/f-torture.exp: Similarly.
* gcc.c-torture: Rename all .cexp files to .x files.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17411
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Sun, 18 Jan 1998 00:22:34 +0000 (00:22 +0000)]
New test from Joern.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17410
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Sun, 18 Jan 1998 00:01:22 +0000 (00:01 +0000)]
* emit_rtl.c (init_emit_once): Ensure that potential aliasing
between frame_pointer_rtx, hard_frame_pointer_rtx, and
arg_pointer_rtx is respected in initialization.
(init_emit_once): Use gen_rtx_raw_REG() to create
return_address_pointer_rtx.
* rtl.h: Fix typo.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17409
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Sat, 17 Jan 1998 23:56:18 +0000 (23:56 +0000)]
* configure.in (i960-wrs-vxworks): Default to latest vxworks release.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17408
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Sat, 17 Jan 1998 23:52:16 +0000 (23:52 +0000)]
Flip expectedness
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17407
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Sat, 17 Jan 1998 23:48:34 +0000 (23:48 +0000)]
Rebuild configure files after recent changes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17406
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Sat, 17 Jan 1998 23:08:03 +0000 (23:08 +0000)]
* combine.c (force_to_mode, nonzero_bits): Correctly optimize
constant offset computations from objects with known alignment in
the presence of STACK_BIAS.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17405
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Sat, 17 Jan 1998 23:00:46 +0000 (23:00 +0000)]
* acconifg.h (NEED_DECLARATION_ATOL): New declaration to check for.
* rtl.c (atol): Only provide the declaration if NEED_DECLARATION_ATOL.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17404
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Sat, 17 Jan 1998 22:50:40 +0000 (22:50 +0000)]
* varasm.c (immed_double_const): Add casts to HOST_WIDE_INT where
necessary.
(const_hash): Hash val is unsigned long.
(SYMHASH): Likewise.
* tree.c (TYPE_HASH): Type of hash val is unsigned long.
* print-tree.c (print_node_brief): HOST_PTR_PRINTF format wants a
char pointer, not HOST_WIDE_INT.
(print_node): Likewise. Also hash is unsigned long not
HOST_WIDE_INT.
* cse.c (canon_hash): Hash is unsigned long not HOST_WIDE_INT.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17403
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Sat, 17 Jan 1998 22:39:10 +0000 (22:39 +0000)]
* explow.c (optimize_save_area_alloca): New function for targets
where SETJMP_VIA_SAVE_AREA is true.
(allocate_dynamic_stack_space): On SETJMP_VIA_SAVE_AREA targets,
compute the amount of stack space needed should we find later that
setjmp is never called by this function, stuff rtl for this inside
a REG_NOTE of the final SET of stack_pointer_rtx.
* toplev.c (rest_of_compilation): If SETJMP_VIA_SAVE_AREA and
current_function_calls_alloca, call optimize_save_area_alloca.
CVS ----------------------------------------------------------------------
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17402
138bc75d-0d04-0410-961f-
82ee72b054a4