law [Mon, 8 Jun 1998 15:56:47 +0000 (15:56 +0000)]
* Revamped multiply support for MIPS chips.
* mips.c (extend_operator): New function.
(highpart_shift_operator): Likewise.
* mips.h: Declare new functions.
(PREDICATE_CODES): Add support for new predicates.
* mips.md (mulsi3 expander): Simplify.
(mulsi_mult3): Add another constraint alternative. Support
3 operand multiply instructions as found on various mips
parts.
(mulsi3_r4650): Delete pattern, now handled by mulsi_mult3.
(mul_acc_si): New pattern and associated splitters.
(mulsidi3 expander): Rework to use mulsidi3_64bit and
mulsidi3_internal.
(umulsidi3): New expander.
(mulsidi3_internal): Accept either sign or zero extended
operands and generate code as appropriate appropriately.
(mulsidi3_64bit): Similarly.
(smulsi3_highpart): Turn into an expander and generate code
to match new patterns.
(umulsi3_highpart): Likewise.
(xmulsi3_highpart_internal): New pattern.
(maddi patterns): Delete. Replace with:
(mul_acc_di, mul-acc_64bit_di): New patterns.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20337
138bc75d-0d04-0410-961f-
82ee72b054a4
amacleod [Mon, 8 Jun 1998 12:43:28 +0000 (12:43 +0000)]
Thu Jun 8 14:16:15 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
* eh-common.h: Remove NEW_EH_MODEL compile time flag, and replace with
flag_new_exceptions runtime flag.
(struct old_exception_table): New struct which represents what
the exception table looks like without the new model.
(NEW_EH_RUNTIME): New value used as a tag in the exception table to
flag that this is a new style table.
* except.h: Remove compile time flag NEW_EH_MODEL.
(expand_builtin_eh_stub_old): New prototype.
* tree.h (enum built_in_function): Add BUILT_IN_EH_STUB_OLD.
* expr.c (expand_builtin): New builtin func BUILT_IN_EH_STUB_OLD.
* c-decl.c (init_decl_processing): Add new builtin function
__builtin_eh_stub_old.
* final.c (final_scan_insn): Replace compile time flag NEW_EH_MODEL.
* flags.h (flag_new_exceptions): New runtime flag.
* toplev.c (flag_new_exceptions): Initialize default to 0,
-fnew-exceptions sets to 1.
* except.c (output_exception_table_entry): Output New style exception
identifier into table, and replace compile time flag NEW_EH_MODEL
with runtime flag flag_new_exceptions.
(output_exception_table): Replace compile time flag NEW_EH_MODEL.
(expand_builtin_eh_stub_old): Duplicates original functionality of
expand_builtin_eh_stub.
(expand_builtin_eh_stub): Replace compile time flag NEW_EH_MODEL.
* libgcc2.c (find_exception_handler): Remove NEW_EH_MODEL #ifdefs.
(old_find_exception_handler): New func, same as find_exception_handler
except it works on the old style exception table.
(__throw): Replace NEW_EH_MODEL. Detect new model based on presence
of identifier in the exception table, and call appropriate routines.
1998-06-08 Andrew MacLeod <amacleod@cygnus.com>
* except.c (init_exception_processing): Remove NEW_EH_MODEL compile
time flag. Call __cp_eh_info instead of __cp_exception_info.
* exception.cc (struct cp_eh_info): Remove NEW_EH_MODEL flag.
(__cp_exception_info): Return offset into cp_eh_info structure to
match what use to be the start of this structure.
(__cp_eh_info): New function to return a pointer to cp_eh_info struct.
(__cplus_type_matcher, __cp_push_exception): Remove NEW_EH_MODEL
compile time flag.
(__uncatch_exception, __check_eh_spec, std::uncaught_exception): Call
__cp_eh_info instead of __cp_exception_info.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20336
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 8 Jun 1998 10:52:37 +0000 (10:52 +0000)]
* function.c: Define current_function_cannot_inline.
(push_function_context_to): Save it.
(pop_function_context_from): Restore it.
* function.h (struct function): Provide it a home.
* output.h: Declare it.
* integrate.c (function_cannot_inline_p): Check it.
* decl.c (cp_finish_decl): Disable inlining of extern inlines
with static variables.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20332
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Mon, 8 Jun 1998 10:44:01 +0000 (10:44 +0000)]
* expr.c (force_operand): Detect PIC address loads before
splitting arithmetic.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20331
138bc75d-0d04-0410-961f-
82ee72b054a4
drepper [Mon, 8 Jun 1998 09:50:50 +0000 (09:50 +0000)]
Update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20330
138bc75d-0d04-0410-961f-
82ee72b054a4
drepper [Mon, 8 Jun 1998 09:50:20 +0000 (09:50 +0000)]
(__underflow): Read character from read pointer as unsigned.
(__uflow): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20329
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Mon, 8 Jun 1998 09:23:12 +0000 (09:23 +0000)]
Bump for snapshot
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20328
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Mon, 8 Jun 1998 09:17:13 +0000 (09:17 +0000)]
Bump for snapshot
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20327
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Mon, 8 Jun 1998 02:09:50 +0000 (02:09 +0000)]
Bump for snapshot
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20326
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Mon, 8 Jun 1998 01:59:23 +0000 (01:59 +0000)]
* tree.c (tree_class_check): Add braces to eliminate ambigious
else warning.
(tree_check): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20325
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Mon, 8 Jun 1998 01:53:56 +0000 (01:53 +0000)]
* reg-stack.c (subst_stack_regs_pat): Make sure the top of
stack is the destination for conditional move insn.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20324
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 8 Jun 1998 01:21:38 +0000 (01:21 +0000)]
* tree.h (TREE_VEC_END): Cast unused value to void.
* i386.c (print_operand): Use %lx for long operand.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20323
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Mon, 8 Jun 1998 01:20:35 +0000 (01:20 +0000)]
* gcc.dg/980523-1.c: Only test on ppc-linux.
* gcc.dg/980526-1.c, gcc.dg/switch-1.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20322
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Mon, 8 Jun 1998 01:16:23 +0000 (01:16 +0000)]
* gcc.c-torture/execute/980608-1.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20321
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Mon, 8 Jun 1998 00:45:02 +0000 (00:45 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20320
138bc75d-0d04-0410-961f-
82ee72b054a4
mmitchel [Mon, 8 Jun 1998 00:20:34 +0000 (00:20 +0000)]
* init.c (build_offset_ref): Correct previous change to use build,
not build_min.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20319
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Mon, 8 Jun 1998 00:05:06 +0000 (00:05 +0000)]
* alpha.c (summarize_insn): Ignore rtl slot format 'i'.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20318
138bc75d-0d04-0410-961f-
82ee72b054a4
mmitchel [Sun, 7 Jun 1998 14:52:11 +0000 (14:52 +0000)]
* class.c (instantiate_type): Handle pointer-to-members where the
member is a template.
* init.c (build_offset_ref): Likewise.
* typeck.c (build_unary_op): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20283
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Sun, 7 Jun 1998 14:15:53 +0000 (14:15 +0000)]
Sun Jun 7 14:15:45 1998 John Carr <jfc@mit.edu>
* sol2.h (INIT_SUBTARGET_OPTABS): Use Solaris libc float/long long
conversion functions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20277
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Sun, 7 Jun 1998 14:08:58 +0000 (14:08 +0000)]
* com.c (lang_init_options): New function.
* top.c (ffe_decode_option): Remove all trace of -fset-g77-defaults.
Set ffe_is_do_internal_checks_ with -version.
* lang-options.h: Likewise.
* lang-specs.h: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20276
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Sun, 7 Jun 1998 14:07:25 +0000 (14:07 +0000)]
* lex.c (lang_init_options): New function.
(lang_init): Remove flag_exceptions == 2 hack.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20275
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Sun, 7 Jun 1998 14:06:47 +0000 (14:06 +0000)]
* toplev.c (flag_exceptions): Default to 0.
(compile_file): Remove flag_exceptions == 2 hack.
(main): Call lang_init_options.
* tree.h: Declare it.
* c-lang.c: Implement it.
* objc/objc-act.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20274
138bc75d-0d04-0410-961f-
82ee72b054a4
mmitchel [Sun, 7 Jun 1998 12:13:54 +0000 (12:13 +0000)]
* class.c (instantiate_type): Handle pointer-to-members where the
member is a template.
* init.c (build_offset_ref): Likewise.
* typeck.c (build_unary_op): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20269
138bc75d-0d04-0410-961f-
82ee72b054a4
dje [Sun, 7 Jun 1998 09:34:09 +0000 (09:34 +0000)]
* rs6000.md (restore_stack_block): Generate MEM and specify mode.
* rs6000.h (STACK_SAVEAREA_MODE): SAVE_FUNCTION is VOIDmode.
* rs6000.c (rs6000_output_load_toc_table): Use fputs.
(output_function_profiler): Use asm_fprintf and fputs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20268
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Sun, 7 Jun 1998 00:45:02 +0000 (00:45 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20267
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Sat, 6 Jun 1998 18:13:12 +0000 (18:13 +0000)]
* search.c (envelope_add_decl): Tweak for implicit typename.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20264
138bc75d-0d04-0410-961f-
82ee72b054a4
bothner [Sat, 6 Jun 1998 10:42:32 +0000 (10:42 +0000)]
One more typo.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20263
138bc75d-0d04-0410-961f-
82ee72b054a4
bothner [Sat, 6 Jun 1998 10:41:05 +0000 (10:41 +0000)]
Fixed typo: lang_specific_extra_ofiles -> lang_specific_extra_outfiles.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20262
138bc75d-0d04-0410-961f-
82ee72b054a4
ghazi [Sat, 6 Jun 1998 09:25:16 +0000 (09:25 +0000)]
Some fixes for KNR compilers:
* gencheck.c: Remove redundant stdio.h include. Add a definition
of xmalloc for when we are forced to link with alloca.o.
* reload1.c (reload_reg_free_for_value_p): Use `(unsigned)1'
instead of `1U'.
* fold-const.c (constant_boolean_node): Make definition static to
match the prototype.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20261
138bc75d-0d04-0410-961f-
82ee72b054a4
bothner [Sat, 6 Jun 1998 00:49:35 +0000 (00:49 +0000)]
Fix typo.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20260
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Sat, 6 Jun 1998 00:45:02 +0000 (00:45 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20259
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Fri, 5 Jun 1998 23:03:33 +0000 (23:03 +0000)]
* call.c (joust): Also warn about confusing conversion op/constructor
overload resolution.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20258
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Fri, 5 Jun 1998 22:57:38 +0000 (22:57 +0000)]
new
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20257
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Fri, 5 Jun 1998 21:57:05 +0000 (21:57 +0000)]
* spew.c (yylex): Also return the TYPE_DECL if got_object.
Don't clear got_object after '~'.
* call.c (build_scoped_method_call): Tweak destructor handling.
(build_method_call): Likewise.
* pt.c (tsubst_copy, case METHOD_CALL_EXPR): Don't mess with
TYPE_MAIN_VARIANT for destructors.
* semantics.c (finish_object_call_expr): Complain about calling a
TYPE_DECL.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20256
138bc75d-0d04-0410-961f-
82ee72b054a4
bothner [Fri, 5 Jun 1998 16:02:14 +0000 (16:02 +0000)]
Fixed minor typo.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20252
138bc75d-0d04-0410-961f-
82ee72b054a4
bothner [Fri, 5 Jun 1998 15:57:13 +0000 (15:57 +0000)]
�
* gcc.c (lang_specific_pre_link): New LANG_SPECIFIC_DRIVER function.
(lang_specific_extra_outfiles): New LANG_SPECIFIC_DRIVER variable.
(do_spec, input_filename, input_filename_length): Make public.
(main): Adjust outfiles allocation by lang_specific_extra_outfiles.
Call lang_specific_pre_link befor elinking.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20251
138bc75d-0d04-0410-961f-
82ee72b054a4
bothner [Fri, 5 Jun 1998 15:57:11 +0000 (15:57 +0000)]
`
* gcc.c (lang_specific_pre_link): New LANG_SPECIFIC_DRIVER function.
(lang_specific_extra_outfiles): New LANG_SPECIFIC_DRIVER variable.
(do_spec, input_filename, input_filename_length): Make public.
(main): Adjust outfiles allocation by lang_specific_extra_outfiles.
Call lang_specific_pre_link befor elinking.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20250
138bc75d-0d04-0410-961f-
82ee72b054a4
bothner [Fri, 5 Jun 1998 15:54:06 +0000 (15:54 +0000)]
�
* g77spec (lang_specific_pre_link, lang_specific_extra_ofiles):
Define - update needed by gcc.c change.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20249
138bc75d-0d04-0410-961f-
82ee72b054a4
bothner [Fri, 5 Jun 1998 15:54:05 +0000 (15:54 +0000)]
* g77spec (lang_specific_pre_link, lang_specific_extra_ofiles):
Define - update needed by gcc.c change.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20248
138bc75d-0d04-0410-961f-
82ee72b054a4
bothner [Fri, 5 Jun 1998 15:51:32 +0000 (15:51 +0000)]
�
* g++spec (lang_specific_pre_link, lang_specific_extra_ofiles):
Define - update needed by gcc.c change.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20247
138bc75d-0d04-0410-961f-
82ee72b054a4
bothner [Fri, 5 Jun 1998 15:51:31 +0000 (15:51 +0000)]
(
* g++spec (lang_specific_pre_link, lang_specific_extra_ofiles):
Define - update needed by gcc.c change.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20246
138bc75d-0d04-0410-961f-
82ee72b054a4
dje [Fri, 5 Jun 1998 15:13:49 +0000 (15:13 +0000)]
document -maix64 and -mpowerpc64 options of rs6000 port.
improve documentation of -mxl-call option.
add @kindex to a few more items.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20245
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Fri, 5 Jun 1998 13:59:49 +0000 (13:59 +0000)]
* execute/980605-1.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20244
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Fri, 5 Jun 1998 11:32:28 +0000 (11:32 +0000)]
* haifa-sched.c (rank_for_schedule): For "equally good insns", prefer
the insn which has the most insns dependent on it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20243
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Fri, 5 Jun 1998 09:48:37 +0000 (09:48 +0000)]
The right file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20242
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Fri, 5 Jun 1998 09:43:33 +0000 (09:43 +0000)]
Copied in the wrong file. I'll have to go find the right one.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20241
138bc75d-0d04-0410-961f-
82ee72b054a4
jfc [Fri, 5 Jun 1998 06:06:22 +0000 (06:06 +0000)]
* alias.c (find_base_value): Avoid reading past end of reg_base_value.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20240
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Fri, 5 Jun 1998 03:10:46 +0000 (03:10 +0000)]
* alpha.md (insxh-1): New insxl pattern for combine.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20239
138bc75d-0d04-0410-961f-
82ee72b054a4
fx [Fri, 5 Jun 1998 02:32:51 +0000 (02:32 +0000)]
Commentary.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20238
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Fri, 5 Jun 1998 02:32:42 +0000 (02:32 +0000)]
x
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20237
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Fri, 5 Jun 1998 02:26:55 +0000 (02:26 +0000)]
* cp-tree.h (DECL_NAMESPACE_ALIAS, ORIGINAL_NAMESPACE): Declare.
* decl.c (lookup_name_real): Add namespaces_only parameter.
If set, return only NAMESPACE_DECLs.
(select_decl): Likewise.
(identifier_type_value): Give additional parameter.
(lookup_name_nonclass): Likewise.
(lookup_name): Likewise.
(find_binding): Skip namespace aliases.
(binding_for_name): Likewise.
(push_namespace): Check for namespace aliases.
(lookup_name_namespace_only): New function.
(begin_only_namespace_names, end_only_namespace_names): New functions.
* decl2.c (set_decl_namespace): Skip namespace aliases.
(do_using_directive): Likewise.
(do_namespace_alias): Produce namespace aliases, fix alias
redeclaration.
* error.c (dump_decl): Support SCOPE_REF.
* parse.y (extdef): Wrap lookup with namespace_only for namespace
aliases and using declarations.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20236
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Fri, 5 Jun 1998 02:20:36 +0000 (02:20 +0000)]
fix
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20235
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Fri, 5 Jun 1998 00:45:32 +0000 (00:45 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20234
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Fri, 5 Jun 1998 00:13:57 +0000 (00:13 +0000)]
* i386/i386.c (output_fp_conditional_move): New function
to output floating point conditional move.
(output_int_conditional_move): New function to output integer
conditional move.
* i386/i386.md (movsicci+5, movhicc+5, movdicc+5): Call
output_int_conditional_move () to output int conditional move.
(movsfcc+5, movdfcc+5, movxfcc+5): Call
output_fp_conditional_move () to output floating point
conditional move.
* i386/i386.c (put_condition_code): In INT mode, check
cc_prev_status.flags & CC_NO_OVERFLOW for GE and LT.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20233
138bc75d-0d04-0410-961f-
82ee72b054a4
fx [Thu, 4 Jun 1998 14:39:01 +0000 (14:39 +0000)]
Commentary.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20232
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Thu, 4 Jun 1998 13:18:07 +0000 (13:18 +0000)]
Regenerated.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20231
138bc75d-0d04-0410-961f-
82ee72b054a4
brolley [Thu, 4 Jun 1998 13:15:44 +0000 (13:15 +0000)]
Thu Jun 4 16:09:51 1998 Dave Brolley <brolley@cygnus.com>
* dbxout.c (dbxout_type): Output arrays of bits as if
they were bitstrings for Chill
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20230
138bc75d-0d04-0410-961f-
82ee72b054a4
dje [Thu, 4 Jun 1998 11:47:15 +0000 (11:47 +0000)]
Thu Jun 4 14:35:27 1998 David Edelsohn <edelsohn@mhpcc.edu>
* tree.c (get_inner_array_type): New function.
* tree.h (get_inner_array_type): Prototype.
* expr.h (STACK_SAVEAREA_MODE): New macro.
* expr.c (expand_builtin_setjmp): Initialize sa_mode using
STACK_SAVEAREA_MODE.
(expand_builtin_longjmp): Likewise.
* explow.c (emit_stack_save): Likewise.
(allocate_dynamic_stack_space): Use Pmode not insn_operand_mode.
* rs6000/aix41.h (ASM_CPU_SPEC): Define relative to ASM_DEFAULT_SPEC.
(CPP_CPU_SPEC): Define relative to CPU_DEFAULT_SPEC.
* rs6000/aix43.h: New file.
* rs6000/t-aix43: New file.
* rs6000/x-aix41: New file.
* rs6000/x-aix43: New file.
* configure.in (rs6000-ibm-aix*): Use them.
* rs6000/powerpc.h: Delete.
* rs6000/sysv4.h: Move necessary powerpc.h definitions to here.
* rs6000/netware.h: and here.
* rs6000/win-nt.h: and here.
* rs6000/rs6000.c (processor_target_table, 620): Do not affect
MASK_POWERPC64.
(rs6000_override_options): Ignore flag_pic for AIX.
(rs6000_immed_double_const): Delete.
(u_short_cint_operand): Don't assume 32-bit CONST_INT.
(reg_or_u_short_operand): Don't assume 32-bit CONST_INT.
(num_insns_constant): mask64_operand() is 2 insns.
(logical_operand): Don't assume 32-bit CONST_INT.
(non_logical_cint_operand): Don't assume 32-bit CONST_INT.
(easy_fp_constant): Any CONST_DOUBLE_HIGH is okay for 64-bit.
(mask_constant): HOST_WIDE_INT parameter.
(non_and_cint_operand): Delete.
(mask64_operand): New function.
(and64_operand): New function.
(function_arg_advance): DImode arguments do not need special
alignment when 64-bit.
(function_arg): Likewise.
(setup_incoming_varargs): Reverse reg_size assignment.
(print_operand): HOST_WIDE_INT second parameter.
(print_operand, 'B'): New case.
(print_operand, 'M'): Fix typo in lossage string.
(print_operandm 'S'): New case.
(rs6000_stack_info): Reverse reg_size assignment. Use total_raw_size
to compute AIX push_p. Use reg_size to compute {cr,lr}_save_offset.
(rs6000_output_load_toc_table): Reverse init_ptr assignment. Use
TARGET_64BIT not TARGET_POWERPC64. Convert fprintf to fputs.
Load GOT highpart, don't add it. Add lowpart with {cal|la}.
(rs6000_allocate_stack_space): Use {cal|la}.
(output_epilog): Use {cal|la}
(output_function_profiler): Add call glue to mcount call.
Load GOT highpart, don't add it. Add lowpart with {cal|la}.
* rs6000/rs6000.h (TARGET_SWITCHES): Add powerpc64.
(STACK_BOUNDARY): Depend on TARGET_32BIT.
(ADJUST_FIELD_ALIGN): Calculate array alignment using innermost type.
(CONST_OK_FOR_LETTER_P): Don't assume 32-bit CONST_INT.
(EXTRA_CONSTRAINTS): Remove NT 'S' and 'T'. Replace 'S' with
64-bit mask operand.
(RS6000_SAVE_TOC): Depend on TARGET_32BIT.
(STACK_SAVEAREA_MODE): New macro.
(LEGITIMATE_CONSTANT_P): DImode okay for 64bit.
(LEGITIMIZE_RELOAD_ADDRESS): New macro.
(RTX_COSTS, AND/IOR/XOR): Reflect current machine description.
(ASM_FILE_START): Emit 64-bit ABI directive.
(ASM_DECLARE_FUNCTION_NAME): Align CSECT on doubleword in 64-bit mode.
(ASM_OUTPUT_SPECIAL_POOL_ENTRY): DImode okay for 64-bit.
(PREDICATE_CODES): Add "and64_operand" and "mask64_operand".
Delete "non_and_cint_operand". "input_operand" includes CONST_DOUBLE.
* rs6000/rs6000.md (iorsi3, xorsi3): Use HOST_WIDE_INT for mask.
Restore define_splits.
(floatsidf2, floatunssidf2): Remove !TARGET_POWERPC64 final constraint.
(floatsidf2_internal, floatunssidf2_internal2): Likewise.
Do not specify base register operand mode.
(floatsidf2_loadaddr): Do not specify base register operand mode.
(floatsidf2_store1, floatsidf2_store2): Operand 1 must be base
register; do not specify mode. Remove !TARGET_POWERPC64 final
constraint.
(floatsidf2_load): Do not specify base register operand mode. Remove
!TARGET_POWERPC64 final constraint.
(fix_truncdfsi2_internal, fix_truncdfsi2_{store,load}): Do not specify
base register operand mode.
(adddi3): Split large constants early.
(absdi3): Shift by 63, not 31.
(*mulsidi3_ppc64): New pattern.
(rotldi3): Add masking combiner patterns.
(anddi3): Add rldic{r,l} masking. Remove split of large constants
because PPC insns zero-extend.
(iordi3, xordi3): Split large constants early.
(movsi matcher): Remove S and T constraints.
(movsf const_double): create SImode constant from TARGET_DOUBLE.
(movdf_hardfloat32): Add default abort() case.
(movdf easy_fp_const): create DImode constant from TARGET_DOUBLE.
(movdi): Remove 64-bit constant generator. Try to convert
CONST_DOUBLE to CONST_INT. Handle TOC memory constants.
(movdi_32): Add default abort() case.
(movdi_64): Add numerous ways to split 64-bit constants.
Make catch-all define_split more optimal and never FAIL.
(movti_ppc64): Add default abort() case.
(allocate_stack): Remove operand modes. Use Pmode.
(restore_stack_block): Remove operand modes. Generate Pmode
temporary.
(save_stack_nonlocal, restore_stack_nonlocal): Generate Pmode
temporary. Save area is double Pmode.
(call_indirect_aix64, call_value_indirect_aix64): New patterns.
(call, call_value): Do not specify address operand mode. Choose
appropriate AIX ABI.
(*call_local64, *ret_call_local64): New patterns.
(*call_nonlocal_aix64, *ret_call_nonlocal_aix64): New patterns.
(*ret_call_nonlocal_aix32): Use call_value_indirect for REG.
(compare): Materialize DImode truthvalues.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20229
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 4 Jun 1998 11:45:42 +0000 (11:45 +0000)]
new
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20228
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 4 Jun 1998 11:45:17 +0000 (11:45 +0000)]
* tree.c (really_overloaded_fn): Only see through one TREE_LIST.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20227
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 4 Jun 1998 11:16:03 +0000 (11:16 +0000)]
new
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20226
138bc75d-0d04-0410-961f-
82ee72b054a4
fx [Thu, 4 Jun 1998 10:41:23 +0000 (10:41 +0000)]
Mon Jun 1 19:37:42 1998 Craig Burley <burley@gnu.org>
* com.c (ffecom_init_0): Fix setup of INTEGER(KIND=7)
pointer type.
* info.c (ffeinfo_type): Don't crash on null type.
* expr.c (ffeexpr_fulfill_call_): Don't special-case
%LOC(expr) or LOC(expr).
Delete FFEGLOBAL_argsummaryPTR.
* global.c, global.h: Delete FFEGLOBAL_argsummaryPTR.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20225
138bc75d-0d04-0410-961f-
82ee72b054a4
robertl [Thu, 4 Jun 1998 08:29:07 +0000 (08:29 +0000)]
rtti5.C float1.C were duplicated as 980310-2.C, 980310-C. Deleted
the former.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20224
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 4 Jun 1998 02:27:45 +0000 (02:27 +0000)]
tweak
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20223
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 4 Jun 1998 02:26:15 +0000 (02:26 +0000)]
restore
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20222
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 4 Jun 1998 02:13:29 +0000 (02:13 +0000)]
* decl2.c (do_toplevel_using_decl): When decl is a TYPE_DECL,
treat it as using ::decl.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20221
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 4 Jun 1998 01:49:32 +0000 (01:49 +0000)]
update
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20220
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 4 Jun 1998 01:35:57 +0000 (01:35 +0000)]
* decl2.c (arg_assoc_type): Process unknown_type_node and OFFSET_TYPE.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20219
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 4 Jun 1998 01:33:03 +0000 (01:33 +0000)]
* error.c (dump_expr): Clean up NEW_EXPR case.
* tree.c (mapcar): Support NEW_EXPR.
* error.c (dump_expr): Support NEW_EXPR.
* decl2.c (arg_assoc_type): Return 0 for LANG_TYPE.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20218
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Thu, 4 Jun 1998 00:45:01 +0000 (00:45 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20217
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Thu, 4 Jun 1998 00:40:23 +0000 (00:40 +0000)]
* gcc.c-torture/execute/980604-1.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20216
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 4 Jun 1998 00:34:57 +0000 (00:34 +0000)]
* method.c (make_thunk): Use overload machinery to make name.
* search.c (covariant_return_p): New fn.
(get_matching_virtual): Use it.
* init.c (build_new_1): Fix check for void.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20215
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Thu, 4 Jun 1998 00:30:40 +0000 (00:30 +0000)]
* expr.c (safe_from_p): Avoid combinatorial explosion
over duplicate SAVE_EXPRs by ensuring we never recurse
on one that has already been visited.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20214
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Thu, 4 Jun 1998 00:01:28 +0000 (00:01 +0000)]
* loop.c (check_dbra_loop): Initialise final_value before
normalizing the loop.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20213
138bc75d-0d04-0410-961f-
82ee72b054a4
fx [Wed, 3 Jun 1998 14:13:06 +0000 (14:13 +0000)]
Mon May 25 03:34:42 1998 Craig Burley <burley@gnu.org>
* com.c (ffecom_expr_): Fix D**I and Z**I cases to
not convert (DOUBLE PRECISION) D and (DOUBLE COMPLEX) Z
to INTEGER. (This is dead code here anyway.)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20212
138bc75d-0d04-0410-961f-
82ee72b054a4
fx [Wed, 3 Jun 1998 14:12:26 +0000 (14:12 +0000)]
(ffecom_expr_): Fix D**I and Z**I cases to
not convert (DOUBLE PRECISION) D and (DOUBLE COMPLEX) Z
to INTEGER. (This is dead code here anyway.)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20211
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Wed, 3 Jun 1998 12:03:35 +0000 (12:03 +0000)]
* reload1.c (reload_reg_free_for_value_p): New arguments out and
reloadnum. Changed all callers.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20210
138bc75d-0d04-0410-961f-
82ee72b054a4
drepper [Wed, 3 Jun 1998 09:14:21 +0000 (09:14 +0000)]
Add _() and N_() macros.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20209
138bc75d-0d04-0410-961f-
82ee72b054a4
korbb [Wed, 3 Jun 1998 07:29:13 +0000 (07:29 +0000)]
This is a more workable makefile
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20208
138bc75d-0d04-0410-961f-
82ee72b054a4
schwab [Wed, 3 Jun 1998 02:13:21 +0000 (02:13 +0000)]
* c-common.c (check_format_info): Put back check for C9x `hh'
length modifier. Warn about %n format writing into const. Remove
obsolete comment.
(format_char_info): Fix comments.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20207
138bc75d-0d04-0410-961f-
82ee72b054a4
schwab [Wed, 3 Jun 1998 02:06:31 +0000 (02:06 +0000)]
* configure.in: Set float_format to m68k for all m68k targets that
do not override LONG_DOUBLE_TYPE_SIZE.
* config/float-m68k.h: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20206
138bc75d-0d04-0410-961f-
82ee72b054a4
schwab [Wed, 3 Jun 1998 01:56:57 +0000 (01:56 +0000)]
* configure.in: Set float_format to m68k for all m68k targets that
do not override LONG_DOUBLE_TYPE_SIZE.
* config/float-m68k.h: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20205
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Wed, 3 Jun 1998 00:45:02 +0000 (00:45 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20204
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Tue, 2 Jun 1998 23:12:06 +0000 (23:12 +0000)]
* jump.c (jump_optimize): Remove debug messages accidentally left in
with the previous change.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20203
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Tue, 2 Jun 1998 22:59:45 +0000 (22:59 +0000)]
Fix typo in last change change.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20202
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Tue, 2 Jun 1998 22:48:51 +0000 (22:48 +0000)]
* expr.c (store_expr): Revert stray patch associated with
1998-05-23 commit.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20201
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Tue, 2 Jun 1998 22:03:22 +0000 (22:03 +0000)]
* jump.c (rtx_unsafe_p): New function.
(jump_optimize): Use it on if/then/else transformations and
conditional move transformations.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20200
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Tue, 2 Jun 1998 21:54:22 +0000 (21:54 +0000)]
New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20199
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Tue, 2 Jun 1998 21:53:37 +0000 (21:53 +0000)]
* fold-const.c (fold, case EQ_EXPR): When folding VAR++ == CONST
or VAR-- == CONST construct a proper mask if VAR is a bitfield.
Cope with CONST being out of range for the bitfield.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20198
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Tue, 2 Jun 1998 21:48:43 +0000 (21:48 +0000)]
* Makefile.in (site.exp): Use the object testsuite directory as
the temporary directory.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20197
138bc75d-0d04-0410-961f-
82ee72b054a4
robertl [Tue, 2 Jun 1998 21:37:21 +0000 (21:37 +0000)]
Correct typo in "OPtions"
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20196
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Tue, 2 Jun 1998 21:30:26 +0000 (21:30 +0000)]
* expr.c (emit_move_insn_1): When moving complex values in several
steps, emit a CLOBBER to show the destination dies.
Re-add patch.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20195
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Tue, 2 Jun 1998 21:26:02 +0000 (21:26 +0000)]
Random tweaks.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20194
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Tue, 2 Jun 1998 21:16:10 +0000 (21:16 +0000)]
* expr.c (expand_expr, case ADDR_EXPR): Handle taking the
address of an ADDRESSOF rtx.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20193
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Tue, 2 Jun 1998 20:11:21 +0000 (20:11 +0000)]
* expr.c (expand_builtin_setjmp): Handle BUILTIN_SETJMP_FRAME_VALUE.
* i960.h (SETUP_FRAME_ADDRESSES, BUILTIN_SETJMP_FRAME_VALUE): Define.
* i960.md (ret, flush_register_windows): Define.
(nonlocal_goto): Likewise. Nested function nonlocal gotos don't
work yet.
* tm.texi (BUILTIN_SETJMP_FRAME_VALUE): Document new macro.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20192
138bc75d-0d04-0410-961f-
82ee72b054a4
robertl [Tue, 2 Jun 1998 20:10:23 +0000 (20:10 +0000)]
Per Martin.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20191
138bc75d-0d04-0410-961f-
82ee72b054a4
robertl [Tue, 2 Jun 1998 20:01:42 +0000 (20:01 +0000)]
More patches from Martin.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20190
138bc75d-0d04-0410-961f-
82ee72b054a4
robertl [Tue, 2 Jun 1998 20:00:24 +0000 (20:00 +0000)]
Corrections, per Martin.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20189
138bc75d-0d04-0410-961f-
82ee72b054a4
robertl [Tue, 2 Jun 1998 19:55:39 +0000 (19:55 +0000)]
Remove syntax error, turns into an ICE.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20188
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Tue, 2 Jun 1998 19:53:46 +0000 (19:53 +0000)]
* gcc.c-torture/execute/980602-1.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20187
138bc75d-0d04-0410-961f-
82ee72b054a4