Commit Graph

17030 Commits

Author SHA1 Message Date
Graham Stott
79990a3950 tree.c (tree_class_check): Add braces to eliminate ambigious else warning.
* tree.c (tree_class_check): Add braces to eliminate ambigious
        else warning.
        (tree_check): Likewise.

From-SVN: r20325
1998-06-07 19:59:23 -06:00
H.J. Lu
49fa02d9d6 reg-stack.c (subst_stack_regs_pat): Make sure the top of stack is the destination for conditional move insn.
* reg-stack.c (subst_stack_regs_pat): Make sure the top of
        stack is the destination for conditional move insn.

From-SVN: r20324
1998-06-07 19:53:56 -06:00
Jason Merrill
52267fcbd1 tree.h (TREE_VEC_END): Cast unused value to void.
* tree.h (TREE_VEC_END): Cast unused value to void.
	* i386.c (print_operand): Use %lx for long operand.

From-SVN: r20323
1998-06-07 21:21:38 -04:00
Jeffrey A Law
5ccdc8af54 980523-1.c: Only test on ppc-linux.
* gcc.dg/980523-1.c: Only test on ppc-linux.
        * gcc.dg/980526-1.c, gcc.dg/switch-1.c: Likewise.

From-SVN: r20322
1998-06-07 19:20:35 -06:00
Jeffrey A Law
74cbdffaf3 * gcc.c-torture/execute/980608-1.c: New test.
From-SVN: r20321
1998-06-07 19:16:23 -06:00
Jeff Law
581514363a Daily bump.
From-SVN: r20320
1998-06-07 18:45:02 -06:00
Mark Mitchell
53b22f3db7 init.c (build_offset_ref): Correct previous change to use build, not build_min.
* init.c (build_offset_ref): Correct previous change to use build,
	not build_min.

From-SVN: r20319
1998-06-08 00:20:34 +00:00
Richard Henderson
2b01d264b1 * alpha.c (summarize_insn): Ignore rtl slot format 'i'.
From-SVN: r20318
1998-06-07 17:05:06 -07:00
Mark Mitchell
4146c3afe3 class.c (instantiate_type): Handle pointer-to-members where the member is a template.
* 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.

From-SVN: r20283
1998-06-07 14:52:11 +00:00
John Carr
cb9e12a746 sol2.h (INIT_SUBTARGET_OPTABS): Use Solaris libc float/long long conversion functions.
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.

From-SVN: r20277
1998-06-07 07:15:53 -07:00
Richard Henderson
f84639ba68 com.c (lang_init_options): New function.
* 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.

From-SVN: r20276
1998-06-07 07:08:58 -07:00
Richard Henderson
9116eca2f8 lex.c (lang_init_options): New function.
* lex.c (lang_init_options): New function.
        (lang_init): Remove flag_exceptions == 2 hack.

From-SVN: r20275
1998-06-07 07:07:25 -07:00
Richard Henderson
b53beeb291 toplev.c (flag_exceptions): Default to 0.
* 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.

From-SVN: r20274
1998-06-07 07:06:47 -07:00
Mark Mitchell
874503bcad class.c (instantiate_type): Handle pointer-to-members where the member is a template.
* 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.

From-SVN: r20269
1998-06-07 12:13:54 +00:00
David Edelsohn
dfdfa60f54 rs6000.md (restore_stack_block): Generate MEM and specify mode.
* 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.

From-SVN: r20268
1998-06-07 05:34:09 -04:00
Jeff Law
a0b152cd98 Daily bump.
From-SVN: r20267
1998-06-06 18:45:02 -06:00
Jason Merrill
3070ba0b86 * search.c (envelope_add_decl): Tweak for implicit typename.
From-SVN: r20264
1998-06-06 14:13:12 -04:00
Per Bothner
e37cda9b2c One more typo.
From-SVN: r20263
1998-06-06 03:42:32 -07:00
Per Bothner
77346de2e5 Fixed typo: lang_specific_extra_ofiles -> lang_specific_extra_outfiles.
From-SVN: r20262
1998-06-06 03:41:05 -07:00
Kaveh R. Ghazi
83e0821b60 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.

From-SVN: r20261
1998-06-06 09:25:16 +00:00
Per Bothner
8db79477cd Fix typo.
From-SVN: r20260
1998-06-05 17:49:35 -07:00
Jeff Law
a007341fef Daily bump.
From-SVN: r20259
1998-06-05 18:45:02 -06:00
Jason Merrill
598c8c2c40 call.c (joust): Also warn about confusing conversion op/constructor overload resolution.
* call.c (joust): Also warn about confusing conversion op/constructor
	overload resolution.

From-SVN: r20258
1998-06-05 19:03:33 -04:00
Jason Merrill
1dd6b205d6 new
From-SVN: r20257
1998-06-05 18:57:38 -04:00
Jason Merrill
a47855649e spew.c (yylex): Also return the TYPE_DECL if got_object.
* 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.

From-SVN: r20256
1998-06-05 17:57:05 -04:00
Per Bothner
e211a323f6 Fixed minor typo.
From-SVN: r20252
1998-06-05 09:02:14 -07:00
Per Bothner
6ff0d2a070 gcc.c (lang_specific_pre_link): New LANG_SPECIFIC_DRIVER function.
�
	* 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.

From-SVN: r20251
1998-06-05 08:57:13 -07:00
Per Bothner
f271358e78 gcc.c (lang_specific_pre_link): New LANG_SPECIFIC_DRIVER function.
`
	* 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.

From-SVN: r20250
1998-06-05 08:57:11 -07:00
Per Bothner
98b570c6a0 g77spec (lang_specific_pre_link, [...]): Define - update needed by gcc.c change.
�
	* g77spec (lang_specific_pre_link, lang_specific_extra_ofiles):
	Define - update needed by gcc.c change.

From-SVN: r20249
1998-06-05 08:54:06 -07:00
Per Bothner
01c49e8e64 g77spec (lang_specific_pre_link, [...]): Define - update needed by gcc.c change.
* g77spec (lang_specific_pre_link, lang_specific_extra_ofiles):
	Define - update needed by gcc.c change.

From-SVN: r20248
1998-06-05 08:54:05 -07:00
Per Bothner
9ffe87d0cd g++spec (lang_specific_pre_link, [...]): Define - update needed by gcc.c change.
�
	* g++spec (lang_specific_pre_link, lang_specific_extra_ofiles):
	Define - update needed by gcc.c change.

From-SVN: r20247
1998-06-05 08:51:32 -07:00
Per Bothner
240661ba4d g++spec (lang_specific_pre_link, [...]): Define - update needed by gcc.c change.
(
	* g++spec (lang_specific_pre_link, lang_specific_extra_ofiles):
	Define - update needed by gcc.c change.

From-SVN: r20246
1998-06-05 08:51:31 -07:00
David Edelsohn
7fe90e7b3e document -maix64 and -mpowerpc64 options of rs6000 port.
improve documentation of -mxl-call option.
add @kindex to a few more items.

From-SVN: r20245
1998-06-05 11:13:49 -04:00
J"orn Rennecke
ec667585e9 * execute/980605-1.c: New test.
From-SVN: r20244
1998-06-05 14:59:49 +01:00
Jeffrey A Law
2db4599393 haifa-sched.c (rank_for_schedule): For "equally good insns", prefer the insn which has the most insns dependent on it.
* haifa-sched.c (rank_for_schedule): For "equally good insns", prefer
        the insn which has the most insns dependent on it.

From-SVN: r20243
1998-06-05 05:32:28 -06:00
Jeff Law
192231fbe5 The right file.
From-SVN: r20242
1998-06-05 03:48:37 -06:00
Jeff Law
0a626bc851 Copied in the wrong file. I'll have to go find the right one.
From-SVN: r20241
1998-06-05 03:43:33 -06:00
John Carr
74186471a0 * alias.c (find_base_value): Avoid reading past end of reg_base_value.
From-SVN: r20240
1998-06-05 06:06:22 +00:00
Richard Henderson
989f090c07 * alpha.md (insxh-1): New insxl pattern for combine.
From-SVN: r20239
1998-06-04 20:10:46 -07:00
Dave Love
b9e199ac5d Commentary.
From-SVN: r20238
1998-06-05 02:32:51 +00:00
Jason Merrill
19333f7003 x
From-SVN: r20237
1998-06-04 22:32:42 -04:00
Martin v. Löwis
3e3f722c44 cp-tree.h (DECL_NAMESPACE_ALIAS, [...]): Declare.
* 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.

From-SVN: r20236
1998-06-04 22:26:55 -04:00
Jason Merrill
122d34f626 fix
From-SVN: r20235
1998-06-04 22:20:36 -04:00
Jeff Law
47103f593f Daily bump.
From-SVN: r20234
1998-06-04 18:45:32 -06:00
H.J. Lu
b657fc397e i386.c (output_fp_conditional_move): New function to output floating point conditional move.
* 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.

From-SVN: r20233
1998-06-04 18:13:57 -06:00
Dave Love
265078b93f Commentary.
From-SVN: r20232
1998-06-04 14:39:01 +00:00
Jeff Law
0a95276e82 Regenerated.
From-SVN: r20231
1998-06-04 07:18:07 -06:00
Dave Brolley
202fe2d6a7 dbxout.c (dbxout_type): Output arrays of bits as if they were bitstrings for Chill
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

From-SVN: r20230
1998-06-04 09:15:44 -04:00
David Edelsohn
a260abc996 tree.c (get_inner_array_type): New function.
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.

From-SVN: r20229
1998-06-04 07:47:15 -04:00
Jason Merrill
a66c6fe2a8 new
From-SVN: r20228
1998-06-04 07:45:42 -04:00