Commit Graph

66685 Commits

Author SHA1 Message Date
Uros Bizjak
21e01bf10d optabs.h (enum optab_index): Add new OTI_lrint and OTI_llrint.
* optabs.h (enum optab_index): Add new OTI_lrint and OTI_llrint.
	(lrint_optab, llrint_optab): Define corresponding macros.
	* optabs.c (init_optabs): Initialize lrint_optab and llrint_optab.
	* genopinit.c (optabs): Implement lrint_optab using lrintsi2
	pattern and llrint_optab using llrintdi2 patterns.
	* builtins.c (expand_builtin_mathfn): Handle BUILT_IN_LRINT{,F,L}
	using lrint_optab and BUILT_IN_LLRINT{,F,L} using llrint_optab.
	(expand_builtin): Expand BUILT_IN_LRINT{,F,L} and
	BUILT_IN_LLRINT{,F,L} using expand_builtin_mathfn if
	flag_unsafe_math_optimizations is set.

testsuite:

	* gcc.dg/builtins-46.c: Also check lrint* and llrint*.

From-SVN: r96802
2005-03-21 15:42:48 +01:00
Paolo Bonzini
14f02e7315 combine.c (combine_simplify_rtx, [...]): Adjust calls to reverse_comparison.
2005-03-21  Paolo Bonzini  <bonzini@gnu.org>

	* combine.c (combine_simplify_rtx, simplify_if_then_else,
	simplify_logical, if_then_else_cond, known_cond,
	simplify_comparison): Adjust calls to reverse_comparison.
	Don't use combine_reversed_comparison_code).
	(combine_reversed_comparison_code): Remove.
	(reversed_comparison): Using reversed_comparison_code, move it...
	* jump.c (reversed_comparison): ... here.
	* rtl.h (reversed_comparison): Add prototype.

From-SVN: r96801
2005-03-21 14:38:01 +00:00
Kazu Hirata
49d1af8985 builtins.c (fold_builtin): Take decomposed arguments of CALL_EXPR.
* builtins.c (fold_builtin): Take decomposed arguments of
	CALL_EXPR.
	* fold-const.c (fold_ternary): Update a call to fold_builtin.
	* gimplify.c (gimplify_call_expr): Likewise.
	* tree-ssa-ccp.c (ccp_fold, ccp_fold_builtin): Likewise.
	* tree.h: Update the prototype of fold_builtin.

From-SVN: r96800
2005-03-21 14:35:08 +00:00
Paolo Bonzini
9ce921aba8 rtl.h (struct rtx_hooks): Add gen_lowpart_no_emit.
2005-03-21  Paolo Bonzini  <bonzini@gnu.org>

	* rtl.h (struct rtx_hooks): Add gen_lowpart_no_emit.
	* rtlhooks.c (gen_lowpart_no_emit_general): New.
	* rtlhooks-def.h (gen_lowpart_no_emit_general): Declare.
	(RTL_HOOKS_GEN_LOWPART_NO_EMIT): New.
	* simplify-rtx.c (simplify_binary_operation_1): Use it.

From-SVN: r96799
2005-03-21 14:30:51 +00:00
Kazu Hirata
0a04ccc571 builtins.c (fold_builtin_1): Take decomposed arguments of CALL_EXPR.
* builtins.c (fold_builtin_1): Take decomposed arguments of
	CALL_EXPR.
	(fold_builtin): Update a call to fold_builtin_1.

From-SVN: r96798
2005-03-21 14:27:39 +00:00
Kazu Hirata
f399a1a18c builtins.c (fold_builtin_1): Take decomposed arguments of CALL_EXPR.
* builtins.c (fold_builtin_1): Take decomposed arguments of
	CALL_EXPR.

From-SVN: r96797
2005-03-21 14:26:34 +00:00
Nick Clifton
d0f7abf932 Oops - forgot to include ChangeLog entry for m32r patch
From-SVN: r96796
2005-03-21 13:08:39 +00:00
Paolo Carlini
048a75f41e crash25.C: Fix typo.
2005-03-21  Paolo Carlini  <pcarlini@suse.de>

	* g++.dg/parse/crash25.C: Fix typo.

From-SVN: r96795
2005-03-21 13:02:38 +00:00
Nathan Sidwell
e6058208b0 remove conflict indicators
From-SVN: r96790
2005-03-21 12:33:15 +00:00
Nathan Sidwell
f5d39c3d74 re PR other/20564 (gcov default behaviour changed)
PR other/20564
	* gcov.c (output_lines): Only output function block summary when
	outputting branch information.
	* doc/gcov.texi: Document format of preamble and additional block
	information lines.

From-SVN: r96788
2005-03-21 12:31:10 +00:00
Paolo Carlini
e1283056b2 re PR c++/20461 (ICE at "class 'C' does not have any field named 'f'" error)
2005-03-21  Paolo Carlini  <pcarlini@suse.de>

	PR c++/20461
	* g++.dg/parse/crash24.C: New test.

	PR c++/20536
	* g++.dg/parse/crash25.C: New test.

2005-03-21  Paolo Carlini  <pcarlini@suse.de>

	PR c++/20147
	* g++.dg/ext/stmtexpr4.C: New test.

From-SVN: r96785
2005-03-21 11:53:00 +00:00
Paolo Carlini
72e4661a25 re PR c++/20461 (ICE at "class 'C' does not have any field named 'f'" error)
2005-03-21  Paolo Carlini  <pcarlini@suse.de>

	PR c++/20461
	PR c++/20536
	* init.c (emit_mem_initializers): Don't crash on undefined
	types.

2005-03-21  Paolo Carlini  <pcarlini@suse.de>

	PR c++/20147
	* semantics.c (finish_stmt_expr_expr): Return immediately
	if error_operand_p (expr).

From-SVN: r96784
2005-03-21 11:49:32 +00:00
Kazu Hirata
a16095f6eb Oops - forgot to include ChangeLog entry for m32r patch
From-SVN: r96782
2005-03-21 10:06:27 +00:00
Richard Sandiford
cfa7bd9ca2 libgcc2.h (LIBGCC2_HAS_SF_MODE): New macro.
* libgcc2.h (LIBGCC2_HAS_SF_MODE): New macro.
	(LIBGCC2_HAS_DF_MODE, LIBGCC2_HAS_TF_MODE, LIBGCC2_HAS_XF_MODE): Make
	the defaults false if BITS_PER_UNIT != 8.
	(SFtype, SCtype, __fixsfdi, __floatdisf, __fixunssfSI, __fixunssfDI)
	(__powisf2, __divsc3, __mulsc3): Guard with LIBGCC2_HAS_SF_MODE rather
	than BITS_PER_UNIT != 8.
	(L_fixdfdi, L_fixsfdi, L_fixtfdi, L_fixunsdfdi, L_fixunsdfsi)
	(L_fixunssfdi, L_fixunssfsi, L_fixunstfdi, L_fixunsxfdi, L_fixunsxfsi)
	(L_fixxfdi, L_floatdidf, L_floatdisf, L_floatditf, L_floatdixf): Remove
	#undefs.
	* libgcc2.c (__fixunssfDI, __fixsfdi, __floatdisf, __fixunssfSI)
	(__powisf2, __divsc3, __mulsc3): Guard with LIBGCC2_HAS_SF_MODE.

From-SVN: r96778
2005-03-21 07:22:22 +00:00
Roger Sayle
90ec750dbf re PR middle-end/20539 (ICE in simplify_subreg, at simplify-rtx.c:3674)
PR middle-end/20539
	* fold-const.c (fold_binary): Fix type mismatch between
	TRUTH_{AND,OR,XOR}_EXPR nodes an their operands' types.
	(fold_binary) <TRUTH_XOR_EXPR>: Avoid calling invert_truthvalue
	for non-truth-valued expressions.

	* c-common.c (c_common_truthvalue_conversion): Handle ERROR_MARK
	and FUNCTION_DECL in the main switch.
	<TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR,
	TRUTH_XOR_EXPR>: When changing the result type of these tree nodes,
	we also need to convert their operands to match.
	<TRUTH_NOT_EXPR>: Likewise.

	* gcc.c-torture/compile/pr13066-1.c: New test case.
	* gcc.c-torture/compile/pr20539-1.c: Likewise.
	* g++.dg/opt/pr13066-1.C: Likewise.

From-SVN: r96777
2005-03-21 03:30:08 +00:00
Joseph Myers
37dc0d8dc7 c-common.c (lvalue_or_else): Replace by lvalue_error; only give diagnostic without checking whether an lvalue.
* c-common.c (lvalue_or_else): Replace by lvalue_error; only give
	diagnostic without checking whether an lvalue.
	* c-common.h (lvalue_p): Remove.
	(enum lvalue_use): Update comment.
	(lvalue_or_else): Replace by lvalue_error.
	* c-typeck.c (lvalue_p): Make static.
	(lvalue_or_else): New.  Call lvalue_error.

cp:
	* cp-tree.h (lvalue_or_else, lvalue_p): New.
	* typeck.c (lvalue_or_else): New.  Call lvalue_error.

From-SVN: r96776
2005-03-21 02:22:08 +00:00
GCC Administrator
5aff41479e Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r96774.2
2005-03-21 00:16:24 +00:00
Alan Modra
294bd1822e rs6000.c (rs6000_parm_start): New function.
* config/rs6000/rs6000.c (rs6000_parm_start): New function.
	(function_arg_advance): Use rs6000_parm_start.
	(function_arg, rs6000_arg_partial_bytes): Likewise.

From-SVN: r96771
2005-03-21 09:55:14 +10:30
Joseph Myers
ed248cf764 c-common.c (check_case_value): Adjust comment about stripping NOPs.
* c-common.c (check_case_value): Adjust comment about stripping
	NOPs.
	(handle_vector_size_attribute): Don't strip NON_LVALUE_EXPR.
	* c-typeck.c (default_conversion, convert_arguments,
	build_modify_expr, convert_for_assignment, store_init_value,
	digest_init): Use STRIP_TYPE_NOPS instead of stripping nops
	manually.  Remove inaccurate comments.

From-SVN: r96770
2005-03-20 22:36:42 +00:00
Roger Sayle
749053f5e2 varasm.c (do_assemble_alias): Restore comment describing function.
* varasm.c (do_assemble_alias): Restore comment describing function.
	Annotate the target parameter as potentially unused.

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

From-SVN: r96768
2005-03-20 21:23:24 +00:00
Marek Michalkiewicz
82b3eb4294 re PR target/18551 (wrong asm output for -mcall-prologues with g++)
PR target/18551
	* config/avr/avr.c (avr_output_function_prologue): Do not use
	current_function_name() in a label, use a local label instead.

From-SVN: r96765
2005-03-20 21:12:08 +00:00
David Edelsohn
e7108df9b9 rs6000.c (rs6000_generate_compare): Test flag_finite_math_only, not flag_unsafe_math_optimizations.
* config/rs6000/rs6000.c (rs6000_generate_compare): Test
        flag_finite_math_only, not flag_unsafe_math_optimizations.

From-SVN: r96764
2005-03-20 15:27:05 -05:00
Kazu Hirata
a05a80fc7c builtins.c (fold_builtin_1): Update a call to targetm.fold_builtin.
* builtins.c (fold_builtin_1): Update a call to
	targetm.fold_builtin.
	* hooks.c (hook_tree_tree_bool_null): Rename to
	hook_tree_tree_tree_bool_null.  Take one more argument of type
	tree.
	* hooks.h: Update the prototype of hook_tree_tree_bool_null.
	* target-def.h (TARGET_FOLD_BUILTIN): Define it as
	hook_tree_tree_tree_bool_null.
	* target.h (gcc_target): Update the prototype of fold_builtin.
	* config/alpha/alpha.c (alpha_fold_builtin): Take decomposed
	arguments of CALL_EXPR.
	* doc/tm.texi (TARGET_FOLD_BUILTIN): Update.  Mention the
	new prototype.

From-SVN: r96762
2005-03-20 15:54:41 +00:00
Jan Hubicka
1655dc9de3 cgraph.h (cgraph_node): Add prev_clone pointer.
* cgraph.h (cgraph_node): Add prev_clone pointer.
	* cgraph.c (cgraph_remove_node): Remove from doubly linked chain.
	(cgraph_clone_node): Produce doubly linked chain.

From-SVN: r96761
2005-03-20 15:27:18 +00:00
Joseph Myers
f6d1c3a69b c-common.c (handle_aligned_attribute, [...]): Do not strip NOPS from INTEGER_CSTs.
* c-common.c (handle_aligned_attribute, check_function_sentinel,
	get_nonnull_operand, handle_sentinel_attribute,
	check_function_arguments_recurse): Do not strip NOPS from
	INTEGER_CSTs.
	* c-decl.c (check_bitfield_type_and_width, build_enumerator):
	Likewise.
	* c-format.c (get_constant): Likewise.
	* c-parser.c (c_parser_postfix_expression): Likewise.
	* c-typeck.c (set_init_index): Likewise.
	(convert_arguments): Don't check for NOP_EXPR containing integer
	constant.

From-SVN: r96760
2005-03-20 15:23:50 +00:00
Kazu Hirata
e498b9f1a0 builtins.c (fold_fixed_mathfn, [...]): Take decomposed arguments of CALL_EXPR.
* builtins.c (fold_fixed_mathfn, fold_builtin_trunc,
	fold_builtin_floor, fold_builtin_ceil, fold_builtin_lround):
	Take decomposed arguments of CALL_EXPR.
	(fold_builtin_1): Update calls to the functions mentioned
	above.

From-SVN: r96759
2005-03-20 14:39:01 +00:00
Joseph Myers
411ffa02ae c-decl.c (check_bitfield_type_and_width): Require bit-field width to have integer type.
* c-decl.c (check_bitfield_type_and_width): Require bit-field
	width to have integer type.
	(build_enumerator): Require enumerator value to have integer type.

testsuite:
	* gcc.dg/bitfld-14.c, gcc.dg/enum3.c: New tests.

From-SVN: r96755
2005-03-20 01:52:35 +00:00
GCC Administrator
57e4253f85 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r96753.2
2005-03-20 00:16:24 +00:00
Joseph Myers
9c86fc0b28 extend.texi (__builtin_inf): Move statement about INFINITY to __builtin_inff.
* doc/extend.texi (__builtin_inf): Move statement about INFINITY
	to __builtin_inff.

From-SVN: r96748
2005-03-19 20:58:25 +00:00
Joseph Myers
3a1e400e06 c.opt (ansi, [...]): Correct descriptions.
* c.opt (ansi, std=iso9899:1990, std=iso9899:1999,
	std=iso9899:199x): Correct descriptions.

From-SVN: r96745
2005-03-19 20:25:53 +00:00
Joseph Myers
f42eccdb32 config.gcc: Consistently use solaris2.1[0-9]* instead of solaris2.1[0-9].
gcc:
	* config.gcc: Consistently use solaris2.1[0-9]* instead of
	solaris2.1[0-9].

libcpp:
	* configure.ac: Consistently use solaris2.1[0-9]* instead of
	solaris2.1[0-9].
	* configure: Regenerate.

From-SVN: r96743
2005-03-19 20:19:06 +00:00
Tobias Schlüter
e76d0ec635 Fix dates on ChangeLog
From-SVN: r96740
2005-03-19 20:46:52 +01:00
Tobias Schlüter
9439ae414f re PR fortran/18525 (ICE on valid code in gfc_get_symbol_decl())
fortran/
* dump-parse-tree.c (gfc_show_expr): Dump name of namespace
in which the variable is declared.

PR fortran/18525
* resolve.c (was_declared): Also check for dummy attribute.

testsuite/
PR fortran/18525
* gfortran.dg/nesting_1.f90: New test.

From-SVN: r96739
2005-03-19 20:45:45 +01:00
Tobias Schlüter
0de27aacb6 gfortran.h (arith): Remove ARITH_0TO0.
* gfortran.h (arith): Remove ARITH_0TO0.
* arith.c (gfc_arith_error): Remove handling of ARITH_0TO0.
(gfc_arith_power): Remove special casing of zero to integral
power zero.

From-SVN: r96737
2005-03-19 20:23:04 +01:00
Kazu Hirata
5be245e44f builtins.c (fold_trunc_transparent_mathfn): Take decomposed arguments of CALL_EXPR.
* builtins.c (fold_trunc_transparent_mathfn): Take decomposed
	arguments of CALL_EXPR.
	(fold_builtin_trunc, fold_builtin_floor, fold_builtin_ceil,
	fold_builtin_found, fold_builtin_1): Update calls to
	fold_trunc_transparent_mathfn.

From-SVN: r96736
2005-03-19 18:01:19 +00:00
Kazu Hirata
6e5b9693fe builtins.c (fold_builtin_memcpy): Take decomposed arguments of CALL_EXPR.
* builtins.c (fold_builtin_memcpy): Take decomposed arguments
	of CALL_EXPR.
	(expand_builtin_memcpy, fold_builtin_1): Update calls to
	fold_builtin_memcpy.

From-SVN: r96735
2005-03-19 17:34:25 +00:00
John David Anglin
6c6d9d33ef re PR middle-end/20493 (Bootstrap failure because of aliased symbols)
PR middle-end/20493
	* fold-const.c (fold_widened_comparison): Don't optimize casts of
	function pointers on targets that require function pointer
	canonicalization.
	(fold_sign_changed_comparison): Likewise.

From-SVN: r96733
2005-03-19 16:45:59 +00:00
Bernd Schmidt
1ad93fbfe9 combine.c (try_combine): When changing the mode of a hard reg, make sure that doing so is valid.
* combine.c (try_combine): When changing the mode of a hard reg, make
	sure that doing so is valid.

From-SVN: r96730
2005-03-19 15:01:45 +00:00
Kriang Lerdsuwanakij
91a5bc9f9a re PR c++/20240 (invalid using-redeclaration accepted)
PR c++/20240
	* decl.c (decls_match): Compare context of VAR_DECL.

	* g++.dg/lookup/using13.C: New test.

From-SVN: r96725
2005-03-19 12:35:24 +00:00
Kriang Lerdsuwanakij
26c895e7dc re PR c++/20333 (ICE on invalid code, typename outside of a template)
PR c++/20333
	* parser.c (cp_parser_postfix_expression) <case RID_TYPENAME>:
	Check the return value of cp_parser_nested_name_specifier.

	* g++.dg/template/crash36.C: New test.

From-SVN: r96720
2005-03-19 11:54:49 +00:00
Richard Sandiford
5a41973c52 avr.c (avr_init_stack, [...]): Make static.
* config/avr/avr.c (avr_init_stack, avr_mcu_name): Make static.
	(TARGET_HANDLE_OPTION): Override default.
	(avr_handle_option): New function.
	* config/avr/avr.h (MASK_ALL_DEBUG, MASK_ORDER_1, MASK_INSN_SIZE_DUMP)
	(MASK_ORDER_2, MASK_NO_TABLEJUMP, MASK_INT8, MASK_NO_INTERRUPTS)
	(MASK_CALL_PROLOGUES, MASK_TINY_STACK, MASK_SHORT_CALLS)
	(TARGET_ORDER_1, TARGET_ORDER_2, TARGET_INT8, TARGET_NO_INTERRUPTS)
	(TARGET_INSN_SIZE_DUMP, TARGET_CALL_PROLOGUES, TARGET_TINY_STACK)
	(TARGET_NO_TABLEJUMP, TARGET_SHORT_CALLS, TARGET_ALL_DEBUG)
	(TARGET_SWITCHES, avr_init_stack, avr_mcu_name)
	(TARGET_OPTIONS): Delete.
	* config/avr/avr.opt: New file.

From-SVN: r96719
2005-03-19 08:54:37 +00:00
James E Wilson
0eb971bd25 Fix problem that caused compiled java code to trigger an internal gdb error.
PR c++/19769
* dwarf2out.c (declare_in_namespace): Ignore decls with an abstract
origin.

From-SVN: r96715
2005-03-18 19:06:51 -08:00
Kaveh R. Ghazi
ffee7efdad Make-lang.in (fortran-warn): Remove -Wno-error.
* Make-lang.in (fortran-warn): Remove -Wno-error.
	(expr.o-warn, resolve.o-warn, simplify.o-warn,
	trans-common.o-warn): Specify -Wno-error.

From-SVN: r96714
2005-03-19 01:48:22 +00:00
Kazu Hirata
14755fb0c2 mn10300-protos.h: Remove the prototypes for call_address_operand, const_8bit_operand.
* config/mn10300/mn10300-protos.h: Remove the prototypes for
	call_address_operand, const_8bit_operand.
	* config/mn10300/mn10300.c (call_address_operand,
	const_8bit_operand, const_1f_operand): Move to predicates.md.
	* config/mn10300/mn10300.h (PREDICATE_CODES): Remove.
	* config/mn10300/mn10300.md: Include predicates.md.
	* config/mn10300/predicates.md: New.

From-SVN: r96712
2005-03-19 00:21:23 +00:00
GCC Administrator
d9d4150fa2 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r96710.2
2005-03-19 00:16:53 +00:00
Alexandre Oliva
7e3c8f17ab * gcc_update (silent): Unset instead of initializing to null.
From-SVN: r96708
2005-03-19 00:16:22 +00:00
Andreas Schwab
d028e149ad * gcc_update (apply_patch): Properly quote $1.
From-SVN: r96705
2005-03-18 22:43:26 +00:00
Joseph Myers
c51a1ba9d9 c-common.c, [...]: Use %D for declarations in diagnostics and %E for identifiers, not %s.
* c-common.c, c-decl.c, c-format.c, c-typeck.c: Use %D for
	declarations in diagnostics and %E for identifiers, not %s.

From-SVN: r96701
2005-03-18 20:47:27 +00:00
Jan Hubicka
33156717fa basic-block.h (scale_bbs_frequencies_int, [...]): Declare.
* basic-block.h (scale_bbs_frequencies_int,
	scale_bbs_frequencies_gcov_type): Declare.
	* cfg.c (RDIV): New macro.
	(update_bb_frequency_for_threading): Fix.
	* basic-block.h (scale_bbs_frequencies_int,
	scale_bbs_frequencies_gcov_type): New.
	* cfgloopmanip.c (scale_bbs_frequencies): Kill.
	(scale_loop_frequencies, duplicate_loop_to_header_edge): Use
	scale_bbs_frequencies_int.
	* tree-ssa-loop-ch.c (copy_loop_headers): Fix profiling info.

Co-Authored-By: Dale Johannesen <dalej@apple.com>

From-SVN: r96700
2005-03-18 20:15:06 +00:00
Kazu Hirata
76ef0a0d97 v850.h (PREDICATE_CODES): Remove a nonexistent predicate.
* config/v850/v850.h (PREDICATE_CODES): Remove a nonexistent
	predicate.

From-SVN: r96699
2005-03-18 19:02:20 +00:00