Commit Graph

66844 Commits

Author SHA1 Message Date
Geoffrey Keating 6baba9bb58 Index: libcpp/ChangeLog
2005-03-14  Geoffrey Keating  <geoffk@apple.com>

	* lex.c (forms_identifier_p): Disable UCNs in C89 mode.

Index: gcc/testsuite/ChangeLog
2005-03-14  Geoffrey Keating  <geoffk@apple.com>

	* gcc.dg/cpp/ucnid-6.c: New.

From-SVN: r96475
2005-03-15 09:55:41 +00:00
Eric Christopher 85bfab3691 mips.h (DWARF_CIE_DATA_ALIGNMENT): Change for STACK_GROWS_DOWNWARD.
2005-03-14  Eric Christopher  <echristo@redhat.com>

	* config/mips/mips.h (DWARF_CIE_DATA_ALIGNMENT): Change for
	STACK_GROWS_DOWNWARD.

From-SVN: r96474
2005-03-15 05:53:10 +00:00
Roger Sayle b87a020620 real.h (struct real_format): Split the signbit field into two two fields, signbit_ro and signbit_rw.
* real.h (struct real_format): Split the signbit field into two
	two fields, signbit_ro and signbit_rw.
	* real.c (ieee_single_format, mips_single_format, ieee_double_format,
	mips_double_format, ieee_extended_motorola_format,
	ieee_extended_intel_96_format, ieee_extended_intel_96_round_53_format,
	ieee_extended_intel_128_format, ibm_extended_format,
	mips_extended_format, ieee_quad_format, mips_quad_format,
	vax_f_format, vax_d_format, vax_g_format, i370_single_format,
	i370_double_format, c4x_single_format, c4x_extended_format,
	real_internal_format): Update initializers for new field.
	* builtins.c (expand_builtin_signbit): Use signbit_ro field of the
	real_format structure.
	* optabs.c (expand_absneg_bit, expand_copysign): Use signbit_rw
	field of the real_format structure.

From-SVN: r96471
2005-03-15 04:24:02 +00:00
Feng Wang 223c815892 trans-stmt.c (gfc_trans_label_assign): Don't set DECL_ARTIFICIAL flag to zero on label_tree.
2005-03-15  Feng Wang  <fengwang@nudt.edu.cn>

	* trans-stmt.c (gfc_trans_label_assign): Don't set DECL_ARTIFICIAL flag
        to zero on label_tree.

From-SVN: r96468
2005-03-15 03:26:09 +00:00
Feng Wang ce2df7c64a re PR fortran/18827 (ICE on assign to common variable)
fortran/
2005-03-15  Feng Wang  <fengwang@nudt.edu.cn>

        PR fortran/18827
        * io.c (resolve_tag): Add checking on assigned label.
        (match_dt_format): Does not set symbol assign attribute.
        * match.c (gfc_match_goto):Does not set symbol assign attribute.
        * resolve.c (resolve_code): Add checking on assigned label.
        * trans-common.c (build_field): Deals with common variable assigned
        a label.
        * trans-stmt.c (gfc_conv_label_variable): New function.
        (gfc_trans_label_assign): Use it.
        (gfc_trans_goto): Ditto.
        * trans-io.c (set_string): Ditto.
        * trans.h (gfc_conv_label_variable): Add prototype.
testsuite/
2005-03-15  Feng Wang  <fengwang@nudt.edu.cn>

        PR fortran/18827
        * gfortran.dg/assign_2.f90: New test.
        * gfortran.dg/assign_3.f90: New test.
        * gfortran.dg/assign.f90: New test.

From-SVN: r96467
2005-03-15 02:52:38 +00:00
Joseph Myers 0809113906 cv_func.C, [...]: Ensure uniqueness of test assertion names.
* g++.dg/other/cv_func.C, g++.dg/other/offsetof3.C,
	g++.dg/parse/error11.C, g++.dg/tc1/dr108.C,
	g++.dg/template/local4.C, g++.dg/template/nontype6.C,
	g++.dg/warn/deprecated.C: Ensure uniqueness of test assertion
	names.

From-SVN: r96463
2005-03-15 02:16:25 +00:00
Daniel Berlin 9044951e0d re PR tree-optimization/20458 (structure aliasing causes wrong code)
2005-03-14  Daniel Berlin <dberlin@dberlin.org>

	Fix PR tree-optimization/20458

	* tree-flow-inline.h (mark_call_clobbered): Don't fiddle
	DECL_EXTERNAL on STRUCT_FIELD tags.
	(clear_call_clobbered): Ditto.
	* tree-ssa-operands.c (note_addressable): Make sure the original
	variable doesn't slip into the addressable list if we have
	subvars.
	* tree-tailcall.c (suitable_for_tail_opt_p): Look at STRUCT_FIELD
	tags too.

From-SVN: r96462
2005-03-15 01:26:35 +00:00
Geoffrey Keating 50668cf626 Index: gcc/ChangeLog
2005-03-14  Geoffrey Keating  <geoffk@apple.com>

	* doc/cppopts.texi (-fexec-charset): Add concept index entry.
	(-fwide-exec-charset): Likewise.
	(-finput-charset): Likewise.
	* doc/invoke.texi (Warning Options): Document -Wnormalized=.
	* c-opts.c (c_common_handle_option): Handle -Wnormalized=.
	* c.opt (Wnormalized): New.

Index: libcpp/ChangeLog
2005-03-14  Geoffrey Keating  <geoffk@apple.com>

	* init.c (cpp_create_reader): Default warn_normalize to normalized_C.
	* charset.c: Update for new format of ucnid.h.
	(ucn_valid_in_identifier): Update for new format of ucnid.h.
	Add NST parameter, and update it; update callers.
	(cpp_valid_ucn): Add NST parameter, update callers.  Replace abort
	with cpp_error.
	(convert_ucn): Pass normalize_state to cpp_valid_ucn.
	* internal.h (struct normalize_state): New.
	(INITIAL_NORMALIZE_STATE): New.
	(NORMALIZE_STATE_RESULT): New.
	(NORMALIZE_STATE_UPDATE_IDNUM): New.
	(_cpp_valid_ucn): New.
	* lex.c (warn_about_normalization): New.
	(forms_identifier_p): Add normalize_state parameter, update callers.
	(lex_identifier): Add normalize_state parameter, update callers.  Keep
	the state current.
	(lex_number): Likewise.
	(_cpp_lex_direct): Pass normalize_state to subroutines.  Check
	it with warn_about_normalization.
	* makeucnid.c: New.
	* ucnid.h: Replace.
	* ucnid.pl: Remove.
	* ucnid.tab: Make appropriate for input to makeucnid.c.  Remove
	comments about obsolete version of C++.
	* include/cpplib.h (enum cpp_normalize_level): New.
	(struct cpp_options): Add warn_normalize field.

Index: gcc/testsuite/ChangeLog
2005-03-14  Geoffrey Keating  <geoffk@apple.com>

	* gcc.dg/cpp/normalize-1.c: New.
	* gcc.dg/cpp/normalize-2.c: New.
	* gcc.dg/cpp/normalize-3.c: New.
	* gcc.dg/cpp/normalize-4.c: New.
	* gcc.dg/cpp/ucnid-4.c: New.
	* gcc.dg/cpp/ucnid-5.c: New.
	* g++.dg/cpp/normalize-1.C: New.
	* g++.dg/cpp/ucnid-1.C: New.

From-SVN: r96459
2005-03-15 00:36:33 +00:00
GCC Administrator cd8b38b9eb Daily bump.
From-SVN: r96457
2005-03-15 00:16:23 +00:00
Devang Patel ce84fa4181 * doc/invoke.texi: Add reference to Visibility document.
From-SVN: r96453
2005-03-14 14:34:36 -08:00
Richard Sandiford 21c425ee43 config.gcc (mips*-*-*): Rename MASK_SPLIT_ADDRS to MASK_SPLIT_ADDRESSES.
* config.gcc (mips*-*-*): Rename MASK_SPLIT_ADDRS to
	MASK_SPLIT_ADDRESSES.
	* config/mips/mips.h (target_flags, mips_fix_vr4130_string): Delete.
	(MASK_INT64, MASK_LONG64, MASK_SPLIT_ADDR, MASK_NO_FUSED_MADD)
	(MASK_EXPLICIT_RELOCS, MASK_MEMCPY, MASK_SOFT_FLOAT)
	(MASK_FLOAT64, MASK_ABICALLS, MASK_XGOT, MASK_LONG_CALLS)
	(MASK_64BIT, MASK_EMBEDDED_DATA, MASK_BIG_ENDIAN)
	(MASK_SINGLE_FLOAT, MASK_MAD, MASK_4300_MUL_FIX, MASK_MIPS16)
	(MASK_NO_CHECK_ZERO_DIV, MASK_BRANCHLIKELY)
	(MASK_UNINIT_CONST_IN_RODATA, MASK_FIX_R4000, MASK_FIX_R4400)
	(MASK_FIX_SB1, MASK_FIX_VR4120, MASK_VR4130_ALIGN)
	(MASK_FP_EXCEPTIONS, MASK_DIVIDE_BREAKS, MASK_PAIRED_SINGLE)
	(MASK_MIPS3D, MASK_SYM32, MASK_DEBUG, MASK_DEBUG_D)
	(MASK_MIPS_TFILE, TARGET_INT64, TARGET_LONG64, TARGET_FLOAT64)
	(TARGET_64BIT, TARGET_SPLIT_ADDRESSES, TARGET_DEBUG_MODE)
	(TARGET_DEBUG_D_MODE, TARGET_MEMCPY, TARGET_ABICALLS)
	(TARGET_XGOT, TARGET_SOFT_FLOAT, TARGET_HARD_FLOAT)
	(TARGET_LONG_CALLS, TARGET_EMBEDDED_DATA)
	(TARGET_UNINIT_CONST_IN_RODATA, TARGET_BIG_ENDIAN)
	(TARGET_SINGLE_FLOAT, TARGET_DOUBLE_FLOAT, TARGET_MAD)
	(TARGET_FUSED_MADD, TARGET_4300_MUL_FIX, TARGET_CHECK_ZERO_DIV)
	(TARGET_DIVIDE_TRAPS, TARGET_BRANCHLIKELY, TARGET_FIX_SB1)
	(TARGET_FIX_R4000, TARGET_FIX_R4400, TARGET_FIX_VR4120)
	(TARGET_FIX_VR4130, TARGET_VR4130_ALIGN, TARGET_FP_EXCEPTIONS)
	(TARGET_PAIRED_SINGLE_FLOAT, TARGET_MIPS3D, TARGET_SYM32)
	(TARGET_EXPLICIT_RELOCS): Delete.
	(TARGET_SWITCHES, SUBTARGET_TARGET_SWITCHES): Delete.
	(TARGET_OPTIONS): Remove entry for -mfix-vr4130.
	* config/mips/mips.c (TARGET_DEFAULT_TARGET_FLAGS): Define.
	(override_options): Set MASK_LONG64 if -mint64 is given and no
	-mlongXX option is.  Complain about -mint64 -mlong32.
	(override_options, CMP_BUILTINS, mips_bdesc, sb1_desc): Rename
	MASK_PAIRED_SINGLE to MASK_PAIRED_SINGLE_FLOAT.
	* config/mips/mips.opt: New file.

From-SVN: r96452
2005-03-14 20:40:57 +00:00
Richard Sandiford 7568579261 config.gcc (extra_options): New variable for listing option files.
* config.gcc (extra_options): New variable for listing option files.
	Add ${cpu_type}/${cpu_type}.opt to it if that file exists.
	* configure.ac (extra_opt_files): New AC_SUBST variable.
	(tm_file_list, tm_include_list): Include options.h first.
	* configure: Regenerate.
	* Makefile.in (extra_opt_files, ALL_OPT_FILES): New variables.
	(s-options): Use $(ALL_OPT_FILES) instead of $(lang_opt_files)
	(s-options-h): New rule.
	(options.h): Depend on it.
	(TEXI_GCCINT_FILES): Add options.texi.
	* hooks.h (hook_bool_size_t_constcharptr_int_true): Declare.
	* hooks.c (hook_bool_size_t_constcharptr_int_true): New function.
	* target.h (gcc_target): Add default_target_flags and handle_option.
	* target-def.h (TARGET_DEFAULT_TARGET_FLAGS)
	(TARGET_HANDLE_OPTION): New macros.
	(TARGET_INITIALIZER): Include them.
	* opt-functions.awk (opt_args, nth_arg): New functions.
	(switch_flags): Handle the "Target" flag.
	(var_args): Delete.
	(var_name): Use opt_args and nth_arg.
	(var_set, var_ref): Likewise.  Handle "Mask" and "InverseMask".
	* opth-gen.awk: Declare target_flags.  Declare MASK_* and TARGET_*
	macros for the "Mask" and "InverseMask" options.
	* opts.h (cl_var_cond): New enum.
	(cl_option): Replace the "has_set_value" and "set_value" fields with
	"var_cond" and "var_value".
	(CL_TARGET): New macro.
	(option_enabled, print_filtered_help): Declare.
	(decode_options): Move definition.
	* opts.c (handle_option): Search for the original option before
	removing any "no-" prefix.  Handle CL_TARGET.  Adjust for the new
	var_cond and var_value fields.  Use targetm.handle_option to handle
	target options.
	(decode_options): Set target_flags to targetm.default_target_flags.
	(print_filtered_help): Make global.  Handle CL_TARGET.
	(option_enabled): New function.
	* toplev.c (target_switches): Guard with #ifdef TARGET_SWITCHES.
	(display_target_options, set_target_switch, print_switch_values)
	(default_pch_valid_p): Guard uses of target_switches with
	#ifdef TARGET_SWITCHES.  Also...
	(display_target_options): Display the CL_TARGET entries in cl_options.
	(set_target_option): Don't complain about the "" option when
	TARGET_SWITCHES is undefined.
	(print_switch_values): Use option_enabled.
	(default_pch_valid_p): Check cl_options[] when looking for something
	that has changed the value of target_flags.
	* c.opt: Remove documentation from top of file.
	* doc/gccint.texi: Add an "Options" chapter.  Include options.texi.
	* doc/sourecebuild.texi: Refer to the new options documentation
	instead of c.opt.  Document machine-specific .opt files.
	* doc/tm.texi (target_flags): Say that this variable is declared
	by options.h.
	(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Document.
	(TARGET_SWITCHES, TARGET_OPTIONS): Refer to the option files as
	an alternative.
	* doc/options.texi: New file.

From-SVN: r96448
2005-03-14 20:18:43 +00:00
Alexandre Oliva 3a3b81e73f re PR rtl-optimization/18628 (miscompilation of switch statement in loop)
gcc/ChangeLog:
PR middle-end/18628
* cse.c (fold_rtx_mem): Don't fold a load from a jumptable into a
register.
gcc/testsuite/ChangeLog:
* gcc.dg/pr18628.c: New.

From-SVN: r96445
2005-03-14 20:06:23 +00:00
Alexandre Oliva aff98faf41 re PR c++/20280 (ICE in create_tmp_var, at gimplify.c:368)
gcc/ChangeLog:
PR c++/20280
* gimplify.c (gimplify_cond_expr): Add fallback argument.  Use a
temporary variable of pointer type if an lvalues is required.
(gimplify_modify_expr_rhs): Request an rvalue from it.
(gimplify_expr): Pass fallback on.
gcc/testsuite/ChangeLog:
PR c++/20280
* g++.dg/tree-ssa/pr20280.C: New.

From-SVN: r96444
2005-03-14 20:02:05 +00:00
Tobias Schlüter 2bb02bf01b re PR fortran/20467 (Bad fortran code causes ICE)
fortran/
PR fortran/20467
* symbol.c (check_conflict): A dummy argument can't be a statement
function.

testsuite/
PR fortran/20467
* gfortran.dg/stfunc_2.f90: New test.

From-SVN: r96443
2005-03-14 20:55:02 +01:00
Kazu Hirata 55b18c19ec * cfgbuild.c: Update comments.
From-SVN: r96442
2005-03-14 19:12:14 +00:00
Roger Sayle f927760bad re PR rtl-optimization/17236 (inefficient code for long long multiply on x86)
PR rtl-optimization/17236
	* optabs.c (expand_doubleword_mult): New helper function split out
	from expand_binop.  Permute the order in which instructions are
	emitted to minimize the number of simultaneously live registers.
	(expand_binop): Call expand_doubleword_mult to synthesize a double
	word multiplication.

From-SVN: r96441
2005-03-14 18:24:15 +00:00
Kazu Hirata a6ee1a1532 basic-block.h: Update the prototypes of cached_make_edge and rtl_make_eh_edge.
* basic-block.h: Update the prototypes of cached_make_edge and
	rtl_make_eh_edge.
	* cfg.c (cached_make_edge): Take edge_cache representing one
	row of the adjacency matrix of edges.
	* cfgbuild.c (make_label_edge, rtl_make_eh_edge): Likewise.
	(make_edges): Initialize edge_cache to represent one row of
	the adjacency matrix of edges.

From-SVN: r96440
2005-03-14 17:43:01 +00:00
Zdenek Dvorak 8eaa0f34a3 tree-ssa-phiopt.c (minmax_replacement, [...]): New functions.
* tree-ssa-phiopt.c (minmax_replacement, blocks_in_phiopt_order):
	New functions.
	(tree_ssa_phiopt): Use blocks_in_phiopt_order and minmax_replacement.
	Remove unused removed_phis variable.
	(conditional_replacement): Use build1/build2.
	(abs_replacement): Use last_and_only_stmt and build1/build2.

	* gcc.dg/tree-ssa/phi-opt-5.c: New test.

From-SVN: r96439
2005-03-14 16:26:11 +00:00
Zdenek Dvorak dcd6de6d69 builtin-attrs.def (ATTR_NOVOPS, [...]): New.
* builtin-attrs.def (ATTR_NOVOPS, ATTR_NOVOPS_LIST,
	ATTR_PURE_NOTHROW_NOVOPS_LIST): New.
	* builtins.def (ATTR_MATHFN_FPROUNDING): Use NOVOPS.
	(BUILT_IN_PREFETCH): Set the NOVOPS attribute.
	* c-common.c (handle_novops_attribute): New function.
	(c_common_attribute_table): Add "no vops" entry.
	* c-decl.c (merge_decls): Copy DECL_IS_NOVOPS.
	* calls.c (flags_from_decl_or_type): Set ECF_NOVOPS.
	* tree-ssa-operands.c (get_call_expr_operands): Do not
	create virtual operands for calls with ECF_NOVOPS flag.
	* tree.h (DECL_IS_NOVOPS): New macro.
	(struct tree_decl): Add novops_flag.
	(ECF_NOVOPS): New constant.

From-SVN: r96438
2005-03-14 16:21:16 +00:00
Uros Bizjak 0e8c2b0d43 re PR target/17688 ([4.1] x87 fops can handle HImodes)
PR target/17688
	* config/i386/i386.c (x86_use_himode_fiop): New.
	(x86_use_simode_fiop): Rename from x86_use_fiop.
	* config/i386/i386.h (x86_use_himode_fiop): Declare.
	(TARGET_USE_HIMODE_FIOP): New.
	(x86_use_simode_fiop): Rename from x86_use_fiop.
	(TARGET_USE_SIMODE_FIOP): Rename from TARGET_USE_FIOP.

	* config/i386/i386.md (X87MODEI12): New mode macro define.
	(*cmpfp_<mode>): Rename from *cmpfp_si.  Use X87MODEI12 mode macro
	to implement x87 FP compare with HImode input operands.
	(*fp_jcc_8<mode>_387, splitter): Rename from *fp_jcc_8_387.
	Use X87MODEI12 mode macro to handle HImode input operands.
	(*fop_sf_2<mode>_i387, *fop_sf_3<mode>_i387, *fop_df_2<mode>_i387,
	*fop_df_3<mode>_i387, *fop_xf_2<mode>_i387, *fop_xf_3<mode>_i387):
	Renamed from *fop_sf_2_i387, *fop_sf_3_i387, *fop_df_2_i387,
	*fop_df_3_i387, *fop_xf_2_i387, *fop_xf_3_i387. Use X87MODEI12 mode
	macro to implement x87 operators with HImode input operands.
	(fop splitters): Use X87MODEI12 mode macro to handle HImode
	input operands.

From-SVN: r96437
2005-03-14 17:16:15 +01:00
Eric Botcazou e4a31e19d9 Fix bogus date.
From-SVN: r96436
2005-03-14 16:11:43 +00:00
Zdenek Dvorak f1b190625e tree-cfg.c (find_taken_edge_cond_expr): Use zero_p instead of integer_zerop.
* tree-cfg.c (find_taken_edge_cond_expr): Use zero_p instead of
	integer_zerop.
	* tree-gimple.c (is_gimple_min_invariant): Consider overflowed
	constants invariant.

	* fortran/trans-intrinsic.c (gfc_conv_intrinsic_ishft): Convert
	the argument of the shift to the unsigned type.

From-SVN: r96435
2005-03-14 15:23:43 +00:00
Zdenek Dvorak 9e32d2be98 basic-block.h (BB_VISITED): Removed.
* basic-block.h (BB_VISITED): Removed.
	* cfganal.c (dfs_enumerate_from): Do not use BB_VISITED flag.

From-SVN: r96434
2005-03-14 15:19:56 +00:00
Daniel Jacobowitz ae83e8ae54 Fix typo in changelog entry.
From-SVN: r96433
2005-03-14 14:54:24 +00:00
Kriang Lerdsuwanakij 5a24482e72 re PR c++/4403 (incorrect class becomes a friend in template)
PR c++/4403
	PR c++/9783, DR433
	* name-lookup.c (pushtag): Skip template parameter scope when
	scope is ts_global.  Don't push tag into template parameter
	scope.
	* pt.c (instantiate_class_template): Reorder friend class
	template substitution to handle non-dependent friend class
	that hasn't been previously declared.

	* g++.dg/template/friend34.C: New test.
	* g++.dg/template/friend35.C: Likewise.
	* g++.old-deja/g++.pt/inherit2.C: Remove XFAIL's.

From-SVN: r96432
2005-03-14 14:51:25 +00:00
Falk Hueffner 184107932d re PR target/20424 (Bootstrap failure on alphaev56)
PR bootstrap/20424
	* config/alpha/alpha.c (alpha_fold_builtin_cmpbge): Fix typo.

From-SVN: r96431
2005-03-14 15:44:10 +01:00
Kriang Lerdsuwanakij bd3d082ebe Friend class name lookup 5/n PR c++/1016
Friend class name lookup 5/n
	PR c++/1016
	* cp-tree.h (pushtag): Adjust declaration.
	* decl.c (lookup_and_check_tag): Call lookup_type_scope if
	lookup_name fails.
	(xref_tag): Adjust call to pushtag.  Make hidden class visible.
	(start_enum): Adjust call to pushtag.
	* name-lookup.c (ambiguous_decl): Ignore hidden names.
	(qualify_lookup): Change return type to bool.
	(hidden_name_p): New function.
	(lookup_namespace_name, unqualified_namespace_lookup,
	lookup_name_real): Use it.
	(lookup_type_scope): Update comments.
	(maybe_process_template_type_declaration): Change parameter name
	from globalize to is_friend.
	(pushtag): Change globalize parameter of type int to tag_scope.
	Hide name if introduced by friend declaration.
	* name-lookup.h (hidden_name_p): Add declaration.
	* parser.c (cp_parser_lookup_name): Don't deal with hidden name
	here.
	* pt.c (push_template_decl_real): Make hidden class template
	visible.
	(lookup_template_class, instantiate_class_template): Adjust call
	to pushtag.
	* semantics.c (begin_class_definition): Likewise.
	* rtti.c (init_rtti_processing, build_dynamic_cast_1,
	tinfo_base_init, emit_support_tinfos): Use ts_current instead of
	ts_global.

	* g++.dg/lookup/hidden-class1.C: New test.
	* g++.dg/lookup/hidden-class2.C: Likewise.
	* g++.dg/lookup/hidden-class3.C: Likewise.
	* g++.dg/lookup/hidden-class4.C: Likewise.
	* g++.dg/lookup/hidden-class5.C: Likewise.
	* g++.dg/lookup/hidden-class6.C: Likewise.
	* g++.dg/lookup/hidden-class7.C: Likewise.
	* g++.dg/lookup/hidden-class8.C: Likewise.
	* g++.dg/lookup/hidden-class9.C: Likewise.
	* g++.dg/lookup/hidden-temp-class1.C: Likewise.
	* g++.dg/lookup/hidden-temp-class2.C: Likewise.
	* g++.dg/lookup/hidden-temp-class3.C: Likewise.
	* g++.dg/lookup/hidden-temp-class4.C: Likewise.
	* g++.dg/lookup/hidden-temp-class5.C: Likewise.
	* g++.dg/lookup/hidden-temp-class6.C: Likewise.
	* g++.dg/lookup/hidden-temp-class7.C: Likewise.
	* g++.dg/lookup/hidden-temp-class8.C: Likewise.
	* g++.dg/lookup/hidden-temp-class9.C: Likewise.
	* g++.dg/lookup/hidden-temp-class10.C: Likewise.
	* g++.dg/lookup/hidden-temp-class11.C: Likewise.

From-SVN: r96430
2005-03-14 14:33:54 +00:00
Kazu Hirata a21309013c alloc-pool.c, [...]: Update copyright.
* alloc-pool.c, except.h, ggc-common.c, ggc-zone.c, ggc.h,
	stringpool.c, config/mips/mips-protos.h: Update copyright.

From-SVN: r96428
2005-03-14 13:10:51 +00:00
Kazu Hirata c1b9712539 * ggc-zone.c: Fix comment typos.
From-SVN: r96427
2005-03-14 13:04:48 +00:00
Alan Modra 9390387dcf rs6000-protos.h: Replace "struct rtx_def *" throughout with its typedef, "rtx".
* config/rs6000/rs6000-protos.h: Replace "struct rtx_def *"
	throughout with its typedef, "rtx".
	* config/rs6000/rs6000.c: Likewise.  Formatting fixes.
	(rs6000_tls_symbol_ref_1): Remove inline keyword.
	* config/rs6000/rs6000.h (REG_ALLOC_ORDER): Formatting.  Reorder
	regs in comment to match code.

From-SVN: r96420
2005-03-14 17:54:29 +10:30
Kazu Hirata 8de1fc1b60 tree-cfg.c (verify_stmts): Check that bb_for_stmt (stmt) == bb for every PHI node and statement.
* tree-cfg.c (verify_stmts): Check that
	bb_for_stmt (stmt) == bb for every PHI node and statement.

From-SVN: r96418
2005-03-14 04:33:46 +00:00
Mark Mitchell 80fb36b1a8 Update message
From-SVN: r96417
2005-03-14 04:02:20 +00:00
Mark Mitchell 98f99d7f7c re PR c++/20157 (Internal compiler error on invalid code)
PR c++/20157
	* pt.c (determine_specialization): Reject non-specializations.

	PR c++/20157
	* g++.dg/template/error18.C: New test.

From-SVN: r96414
2005-03-14 03:54:21 +00:00
Kazu Hirata 1b28cd0697 regclass.c (reg_class_superclasses, [...]): Make them static.
* regclass.c (reg_class_superclasses, reg_class_subclasses):
	Make them static.
	* hard-reg-set.h: Remove the corresponding declarations.

From-SVN: r96410
2005-03-14 02:56:51 +00:00
Kazu Hirata 7b25e6631d function.c (get_func_frame_size): Make it static.
* function.c (get_func_frame_size): Make it static.
	* function.h: Remove the corresponding type.

From-SVN: r96409
2005-03-14 02:55:03 +00:00
Kazu Hirata c148389e28 except.c (check_handled): Make it static.
* except.c (check_handled): Make it static.
	* except.h: Remove the corresponding prototype.

From-SVN: r96408
2005-03-14 02:53:59 +00:00
Alan Modra fe3e7450d8 config.gcc: Remove excess indentation.
* config.gcc: Remove excess indentation.
	(powerpc*-*-*, rs6000-*-*): Accept --with-cpu/tune power5 and 8548.

From-SVN: r96405
2005-03-14 12:53:49 +10:30
GCC Administrator 1d2093c32b Daily bump.
From-SVN: r96401
2005-03-14 00:16:58 +00:00
Roger Sayle 362cb1bb1f re PR middle-end/19331 (Inefficient code generated for bitfield assignment)
PR middle-end/19331
	* tree.c (get_unwidened): Treat CONVERT_EXPR and NOP_EXPR identically.
	* fold-const.c (fold_sign_changed_comparison): Likewise.
	(fold_binary): Optimize comparisons against widened operands if
	the extension is represented by a CONVERT_EXPR, same as a NOP_EXPR.

From-SVN: r96397
2005-03-13 22:34:03 +00:00
Ben Elliston 334f3a34cd re PR c++/16792 (ICE in gen_subprogram_die, at dwarf2out.c:11267)
PR debug/16792
	* g++.dg/debug/pr16792.C: New test.

From-SVN: r96396
2005-03-14 09:17:59 +11:00
Eric Botcazou 1da4c3a710 sparc.c (struct_value_alias_set): New global variable.
* config/sparc/sparc.c (struct_value_alias_set): New global variable.
	(sparc_override_options): Initialize it.
	(sparc_struct_value_rtx): Set it on the MEM to be returned.

From-SVN: r96395
2005-03-13 22:11:46 +00:00
Joseph Myers 053e7c38b3 anon-struct-6.c, [...]: Ensure uniqueness of test assertion names.
* gcc.dg/anon-struct-6.c, gcc.dg/array-8.c,
	gcc.dg/cpp/19940712-1.c, gcc.dg/cpp/19951025-1.c,
	gcc.dg/cpp/tr-warn6.c, gcc.dg/deprecated.c, gcc.dg/init-bad-1.c,
	gcc.dg/init-bad-2.c, gcc.dg/init-bad-3.c, gcc.dg/m-un-2.c,
	gcc.dg/parm-mismatch-1.c, gcc.dg/redecl-1.c: Ensure uniqueness of
	test assertion names.

From-SVN: r96391
2005-03-13 21:13:41 +00:00
David Edelsohn 97c54d9afb predicates.md (mem_or_easy_const_operand): Delete.
* config/rs6000/predicates.md (mem_or_easy_const_operand): Delete.
        (reg_or_none500mem_operand): New predicate.
        (zero_reg_mem_operand): New predicate.
        * config/rs6000/rs6000.md (extendsfdf2): Change operand1 predicate
        to reg_or_none500mem_operand.
        (extendsfdf2_fpr): Add MEM alternative.
        (extenddftf2_internal): Change operand2 predicate to
        zero_reg_mem_operand.

From-SVN: r96390
2005-03-13 15:28:29 -05:00
Tobias Schlüter f96c612393 re PR fortran/18600 (ICE NIST FM020.f reduced case)
PR fortran/18600
* gfortran.dg/stfunc_1.f90: New test.

From-SVN: r96389
2005-03-13 20:28:18 +01:00
Tobias Schlüter ee9430623a re PR fortran/16907 (Non-integer array indices rejected)
fortran/
PR fortran/16907
* resolve.c (gfc_resolve_index): Allow REAL indices as an extension.

testsuite/
PR fortran/16907
* gfortran.dg/real_index_1.f90: New test.

From-SVN: r96385
2005-03-13 19:46:36 +01:00
Tobias Schlüter 8f9c06ca82 re PR fortran/20323 (optional arguments incorrectly accepted in specification expressions)
fortran/
PR fortran/20323
* resolve.c (gfc_resolve): Check if character lengths are
specification expressions.

testsuite/
PR fortran/20323
* gfortran.dg/spec_expr_1.f90: New test.

From-SVN: r96382
2005-03-13 19:37:17 +01:00
Daniel Jacobowitz 08cee789cd ggc-zone.c: Rewritten.
* ggc-zone.c: Rewritten.

	* alloc-pool.c (dump_alloc_pool_statistics): Don't print statistics
	if there are none.
	* configure.ac: Define GGC_ZONE for --with-gc=zone.
	* config.in: Regenerated.
	* configure: Regenerated.
	* gentype.c (write_types_process_field, write_func_for_structure):
	Pass new argument to gt_pch_note_object.
	* ggc-common.c (struct ptr_data): Add TYPE.
	(gt_pch_note_object): Take TYPE argument and save it.
	(call_count): Update call to ggc_pch_count_object.
	(call_alloc): Update call to ggc_pch_alloc_object.
	(gt_pch_save): Call ggc_pch_prepare_write after paddng the PCH
	file.
	* ggc-none.c (rtl_zone, garbage_zone, ggc_alloc_zone_stat): Delete.
	* ggc-page.c (rtl_zone, tree_zone, garbage_zone)
	(ggc_alloc_zone_stat): Delete.
	(ggc_pch_count_object, ggc_pch_alloc_object): Add TYPE argument.
	* ggc.h (gt_pch_note_object, ggc_pch_count_object)
	(ggc_pch_alloc_object): Update prototypes.
	(garbage_zone): Delete.
	(tree_zone, rtl_zone, ggc_alloc_zone_stat, ggc_alloc_zone): Move to
	GGC_ZONE conditional.  Update.  Change tree_zone and rtl_zone into
	pointers.
	(tree_id_zone): New variable.
	(ggc_alloc_cleared_zone): Remove unused.
	(ggc_alloc_zone): Define.
	(ggc_alloc_rtvec, ggc_alloc_tree): Update to use ggc_alloc_zone.
	* rtl.c (rtx_alloc_stat, shallow_copy_rtx_stat): Use
	ggc_alloc_zone_stat.
	* stringpool.c (gt_pch_n_S): Update call to gt_pch_note_object.
	* tree.c (copy_node_stat, make_tree_binfo_stat, make_tree_vec_stat)
	(tree_cons_stat, build1_stat): Update call to ggc_alloc_zone_stat.
	(make_node_stat): Likewise.  Use tree_id_zone.

From-SVN: r96381
2005-03-13 18:09:55 +00:00
Daniel Jacobowitz 69229b8198 configure.ac: Check for MIPS TLS.
* configure.ac: Check for MIPS TLS.
	* configure: Regenerated.
	* config/mips/mips-protos.h (enum mips_symbol_type): Add
	SYMBOL_TLS, SYMBOL_TLSGD, SYMBOL_TLSLDM, SYMBOL_DTPREL,
	SYMBOL_GOTTPREL, and SYMBOL_TPREL.
	* config/mips/mips.c (mips_regno_to_class): Handle V1_REG.
	(TARGET_HAVE_TLS, TARGET_CANNOT_FORCE_CONST_MEM): Define.
	(mips_classify_symbol, mips_symbolic_constant_p)
	(mips_symbolic_address_p, mips_symbol_insns): Handle TLS symbols.
	(mips_tls_operand_p, mips_call_tls_get_addr)
	(mips_legitimize_tls_address, mips_cannot_force_const_mem)
	(mips_tls_symbol_ref_1): New functions.
	(mips_legitimize_address, mips_legitimize_const_move): Call
	mips_legitimize_tls_address.
	(override_options): Handle V1_REG and TLS symbols.  Disable TLS
	for MIPS16.
	* config/mips/mips.h (enum reg_class, REG_CLASS_NAMES)
	(REG_CLASS_CONTENTS, GR_REG_CLASS_P): Include V1_REG.
	(mips_char_to_class): Document V1_REG.
	(HAVE_AS_TLS): Provide default.
	* config/mips/mips.md (UNSPEC_TLS_LDM, UNSPEC_TLS_GET_TP): New
	constants.
	(load_got<mode>): Renamed from *load_got<mode>.  Allow when
	!TARGET_ABICALLS.
	(tls_get_tp_<mode>): New instruction.

Co-Authored-By: Joseph Myers <joseph@codesourcery.com>

From-SVN: r96380
2005-03-13 18:03:25 +00:00
Daniel Jacobowitz b095fe2cd9 configure.ac: Update checks for target tools.
* configure.ac: Update checks for target tools.
	* configure: Regenerated.

From-SVN: r96379
2005-03-13 17:57:49 +00:00