Commit Graph

70413 Commits

Author SHA1 Message Date
Richard Guenther
99739a3e63 re PR tree-optimization/33870 (miscompiles sqlite)
2007-11-16  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/33870
	* tree.h (struct tree_memory_tag): Add base_for_components flag.
	(struct tree_struct_field_tag): Remove nesting_level field.
	(SFT_NESTING_LEVEL): Remove.
	(SFT_BASE_FOR_COMPONENTS_P): Add.
	* tree-flow.h (struct fieldoff): Remove nesting_level field.  Add
	base_for_components flag.
	(push_fields_onto_fieldstack): Remove nesting_level parameter.
	* tree-ssa-alias.c (create_sft): Likewise.  Add base_for_components
	parameter.
	(create_overlap_variables_for): Deal with it.
	* tree-dfa.c (dump_subvars_for): Likewise.
	(dump_variable): Likewise.
	* tree-ssa-structalias.c (push_fields_onto_fieldstack): Likewise.
	Set base_for_components for first elements of sub-structures.
	(create_variable_info_for): Handle base_for_components.
	(set_uids_in_ptset): Always set SFT_UNPARTITIONABLE_P for
	pointed-to SFTs if SFT_BASE_FOR_COMPONENTS_P is set.
	* tree-ssa-operands.c (ref_nesting_level): Remove.
	(add_vars_for_offset): Remove full_ref parameter, always add
	the offset of the pointed-to SFT.
	(add_virtual_operand): Adjust for changed signature of
	add_vars_for_offset.

	* gcc.dg/torture/pr33870.c: New testcase.

From-SVN: r130231
2007-11-16 14:40:04 +00:00
Joseph Myers
bf3bde19e0 * de.po: Update.
From-SVN: r130230
2007-11-16 14:06:44 +00:00
Paul Thomas
237b2f1b41 re PR fortran/33986 (ICE on allocatable function result)
2007-11-16  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/33986
	* trans-array.c (gfc_conv_array_parameter ): Allow allocatable
	function results.

2007-11-16  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/33986
	* gfortran.dg/allocatable_function_3.f90.

From-SVN: r130228
2007-11-16 13:46:04 +00:00
Sa Liu
130aca2a4e Inlined floatunssidf2 and floatunsdidf2
From-SVN: r130226
2007-11-16 13:28:03 +00:00
Sa Liu
3538c42dd7 Inlined floatunssidf2 and floatunsdidf2
From-SVN: r130225
2007-11-16 13:23:28 +00:00
Richard Guenther
99552e406c re PR tree-optimization/34113 (ICE in get_addr_dereference_operands, at tree-ssa-operands.c:1746)
2007-11-16  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/34113
	* tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_vars):
	Use correct conversion direction for checking type compatibility.

	* gcc.c-torture/compile/pr34113.c: New testcase.

From-SVN: r130223
2007-11-16 13:14:03 +00:00
Richard Guenther
7f879c9615 re PR tree-optimization/34099 (optimizer problem)
2007-11-16  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/34099
	* tree-ssa-ccp.c (likely_value): Use a whitelist for operators
	that produce UNDEFINED result if at least one of its operands
	is UNDEFINED.  By default the result is only UNDEFINED if all
	operands are UNDEFINED.

	* g++.dg/torture/pr3499.C: New testcase.
	* gcc.c-torture/execute/pr34099.c: Likewise.

From-SVN: r130222
2007-11-16 10:10:05 +00:00
Olivier Hainque
b2c3bcf47b utils2.c (build_call_alloc_dealloc): Move the code retrieving an allocator return value from a super-aligned address...
2007-11-16  Olivier Hainque  <hainque@adacore.com>

        ada/
        * utils2.c (build_call_alloc_dealloc) <if gnu_obj>: Move the code
        retrieving an allocator return value from a super-aligned address from
        here to ...
        * trans.c (gnat_to_gnu) <case N_Free_Statement>: ... here, and don't
        expect a super-aligned address for a fat or thin pointer.

        testsuite/
        * gnat.dg/release_unc_maxalign.adb: New test.

From-SVN: r130221
2007-11-16 08:52:51 +00:00
Jakub Jelinek
823e5f7f9f re PR c++/34100 (ICE with vector attribute)
PR c++/34100
	* pt.c (apply_late_template_attributes): Do nothing if decl's type is
	error_mark_node.

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

From-SVN: r130220
2007-11-16 08:06:25 +01:00
Jakub Jelinek
b481444e66 re PR driver/30460 (asm_debug is not initialized in gcc.c when using a "default" specs file)
PR driver/30460
	* gcc.c (init_spec): Don't initialize asm_debug here...
	(main): ... but here.

From-SVN: r130219
2007-11-16 08:02:49 +01:00
GCC Administrator
428a53ab73 Daily bump.
From-SVN: r130216
2007-11-16 00:17:00 +00:00
Tom Tromey
5576d6f2da tree-ssa-structalias.c (ipa_pta_execute): Rename 'cfun' to 'func'.
* tree-ssa-structalias.c (ipa_pta_execute): Rename 'cfun' to
	'func'. 
	* tree-parloops.c (create_loop_fn): Use set_cfun.
	* gengtype.c (open_base_files): Emit #undef cfun.
	* ipa-struct-reorg.c (do_reorg_1): Use set_cfun.
	* function.h (cfun): New define.
	* function.c: Undefine cfun.

From-SVN: r130213
2007-11-16 00:11:47 +00:00
Eric B. Weddington
e2a021c9e5 avr.c (avr_mcu_types): Add attiny88.
* config/avr/avr.c (avr_mcu_types): Add attiny88.
	* config/avr/avr.h (LINK_SPEC): Likewise.
	(CRT_BINUTILS_SPECS): Likewsie.
	* config/avr/t-avr (MULTILIB_MATCHES): Likewise.

From-SVN: r130208
2007-11-15 22:32:26 +03:00
Jakub Jelinek
cb8e078d3f re PR middle-end/23848 (stack deallocation can be more efficient)
PR middle-end/23848
	* tree-ssa-ccp.c (optimize_stack_restore): New function.
	(execute_fold_all_builtins): Call optimize_stack_restore for
	BUILT_IN_STACK_RESTORE.

	* gcc.dg/tree-ssa/pr23848-1.c: New test.
	* gcc.dg/tree-ssa/pr23848-2.c: New test.
	* gcc.dg/tree-ssa/pr23848-3.c: New test.
	* gcc.dg/tree-ssa/pr23848-4.c: New test.

From-SVN: r130206
2007-11-15 20:02:54 +01:00
Joseph Myers
62e66076c6 * es.po: Update.
From-SVN: r130205
2007-11-15 17:28:21 +00:00
Joseph Myers
3cc0aa0f20 * de.po: Update.
From-SVN: r130203
2007-11-15 16:17:31 +00:00
Tobias Burnus
bb343a6c9b re PR fortran/33917 (Rejects valid PROCEDURE declarations)
2007-11-15  Tobias Burnus  <burnus@net-b.de>

        PR fortran/33917
        * decl.c (match_procedure_decl): Pre-resolve interface.
        * resolve.c (resolve_symbol): Reject interfaces later
        declared in procedure statements.

2007-11-15  Tobias Burnus  <burnus@net-b.de>

        PR fortran/33917
        * gfortran.dg/proc_decl_11.f90: New.

From-SVN: r130202
2007-11-15 16:12:03 +01:00
Paolo Bonzini
ea6684648c fwprop.c (try_fwprop_subst): Skip profitability check for forward propagation into an address...
2007-11-15  Paolo Bonzini  <bonzini@gnu.org>

	* fwprop.c (try_fwprop_subst): Skip profitability check for forward
	propagation into an address; that's done in should_replace_address.

From-SVN: r130201
2007-11-15 14:45:55 +00:00
Ulrich Weigand
3f61b42f2b spu-protos.h (legitimate_const): Remove prototype.
* config/spu/spu-protos.h (legitimate_const): Remove prototype.
	* config/spu/spu.c (legitimate_const): Remove.
	(classify_immediate): Inline call to legitimate_const.
	(spu_legitimate_address): Likewise.  Allow SMBOL_REF + CONST_INT
	for any constant, not just -512 .. 511.

From-SVN: r130200
2007-11-15 14:30:58 +00:00
Ben Elliston
dd4ba93983 spu.c (spu_emit_branch_or_set): Remove PROCESSOR_CELL condition from HONOR_NANS test.
* config/spu/spu.c (spu_emit_branch_or_set): Remove PROCESSOR_CELL
	condition from HONOR_NANS test.
	* config/spu/spu.md (ceq_df): Always generate comparison code
	inline, including checks for NaNs and infinities.
	(cgt_df): Likewise.
	(cgt_v2df): Likewise.
	(cmpdf): Make this expander unconditional.

testsuite/
	* gcc.target/spu/compare-dp.c: New test.

From-SVN: r130198
2007-11-15 23:22:04 +11:00
Richard Guenther
4a648c5d7d tree-ssa-alias.c (create_overlap_variables_for): Make sure to only create SFTs if we also create variable infos for PTA.
2007-11-15  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-alias.c (create_overlap_variables_for): Make sure
	to only create SFTs if we also create variable infos for PTA.
	* tree-ssa-structalias.c (set_uids_in_ptset): Add all overlapping
	SFTs.

From-SVN: r130197
2007-11-15 11:15:08 +00:00
Richard Guenther
f83ca2512f tree-ssa-structalias.c (set_uids_in_ptset): Use the pointed-to type for TBAA pruning.
2007-11-15  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-structalias.c (set_uids_in_ptset): Use the pointed-to
	type for TBAA pruning.
	(find_what_p_points_to): Call set_uids_in_ptset with the original
	pointer, not the decl of the solution we collapsed to.

From-SVN: r130195
2007-11-15 09:06:58 +00:00
David Daney
cc3c24ed02 linux-unwind.h (mips_fallback_frame_state): Use CFA to find sigcontext.
2007-11-14  David Daney  <ddaney@avtrex.com>

	* config/mips/linux-unwind.h (mips_fallback_frame_state): Use CFA
	to find sigcontext.

From-SVN: r130194
2007-11-15 05:33:28 +00:00
GCC Administrator
35293ded0c Daily bump.
From-SVN: r130191
2007-11-15 00:17:17 +00:00
Eric Botcazou
c6f4f1d196 re PR target/33923 (ICE in reload_cse_simplify_operands (insn does not satisfy its constraints))
PR target/33923
	* config/ia64/ia64.h (CANNOT_CHANGE_MODE_CLASS): Forbid mode changes
	for registers in BR_REGS class.

From-SVN: r130188
2007-11-14 23:21:15 +00:00
Jakub Jelinek
f7bc70c5bf re PR middle-end/34088 (ICE with uninitialized variable and -Werror)
PR middle-end/34088
	* tree-ssa.c (delete_tree_ssa): Don't call fini_ssa_operands if
	init_ssa_operands has not been called for cfun.

	* gcc.dg/pr34088.c: New test.

From-SVN: r130187
2007-11-14 20:32:45 +01:00
Eric Botcazou
3bc8ba2577 re PR tree-optimization/34046 (verify_flow_info failed)
PR tree-optimization/34046
	* cfg.c (update_bb_profile_for_threading): Avoid the division for the
	scaling if the old probability is greater than the new base.

From-SVN: r130185
2007-11-14 19:06:10 +00:00
Eric Botcazou
a01e283ff5 trans.c (call_to_gnu): Always set the source location on the call expression.
* trans.c (call_to_gnu): Always set the source location on the call
	expression.  If the function returns-by-target, also set it on the
	address expression.

From-SVN: r130184
2007-11-14 18:31:57 +00:00
Sebastian Pop
6c74788ed7 tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Remove unused edges after loop duplication.
2007-11-14  Sebastian Pop  <sebastian.pop@amd.com>

	* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Remove
	unused edges after loop duplication.

From-SVN: r130182
2007-11-14 17:36:01 +00:00
Samuel Tardieu
1e992e163d i-cstrin.ads (chars_ptr): Make it a C convention type.
gcc/ada/
	* i-cstrin.ads (chars_ptr): Make it a C convention type.

From-SVN: r130180
2007-11-14 15:14:45 +00:00
Uros Bizjak
c2f17e192e i386.h (TARGET_CPU_DEFAULT_*): Substitute with ...
* config/i386/i386.h (TARGET_CPU_DEFAULT_*): Substitute with ...
	(enum target_cpu_default): ... this enum.
	(TARGET_CPU_DEFAULT_NAMES): Remove macro.  Move initializer to ...
	* config/i386/i386.c (override_options): ... here.
	* config/i386/i386-interix.h (TARGET_CPU_DEFAULT): Use
	TARGET_CPU_DEFAULT_i486.

From-SVN: r130177
2007-11-14 15:14:13 +01:00
Rask Ingemann Lambertsen
359125444f global.c (rest_of_handle_global_alloc): Fix comment typos.
* global.c (rest_of_handle_global_alloc): Fix comment typos.
	* config/sh/sh.c (sh_rtx_costs): Likewise.
	* ChangeLog: Likewise.

From-SVN: r130176
2007-11-14 12:28:41 +00:00
Samuel Tardieu
713c31453c adaint.c [...]: Remove system-specific sections of non-supported Interix target.
gcc/ada/
	* adaint.c init.c initialize.c link.c: Remove system-specific
	sections of non-supported Interix target.

	* s-osinte-interix.ads: Removed.

From-SVN: r130175
2007-11-14 12:26:05 +00:00
Jerry DeLisle
3865fa6a9d re PR fortran/31608 (wrong types in character array/scalar binop)
2007-11-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/31608
	*gfortran.dg/char_cast_1.f90: Modify regex in scan-tree-dump-times
	to match known variations in symbol format. Document in comments.

From-SVN: r130173
2007-11-14 01:35:09 +00:00
Jerry DeLisle
68c2aa7d95 re PR libfortran/33985 (access="stream",form="unformatted" doesn't buffer)
2007-11-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/33985
	*gfortran.dg/streamio_12.f90: New test to avoid future regression.

From-SVN: r130172
2007-11-14 01:22:17 +00:00
Jerry DeLisle
0aeaf89a2a list_read_7.f90: Fix test so that test file is deleted when done.
2007-11-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	*gfortran.dg/list_read_7.f90: Fix test so that test file is deleted when
	done.

From-SVN: r130171
2007-11-14 01:14:39 +00:00
Jerry DeLisle
83012bd421 2007-11-13 Jerry DeLisle <jvdelisle@gcc.gnu.org>
Fix date of last entry.

From-SVN: r130170
2007-11-14 01:08:19 +00:00
Jerry DeLisle
2daddc8e15 re PR fortran/33162 (INTRINSIC functions as ACTUAL argument)
2007-11-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/33162
	*gfortran.dg/proc_decl_1.f90: Update.
	*gfortran.dg/proc_decl_7.f90: New test.
	*gfortran.dg/proc_decl_8.f90: New test.
	*gfortran.dg/proc_decl_9.f90: New test.
	*gfortran.dg/proc_decl_10.f90: New test.

From-SVN: r130169
2007-11-14 01:06:13 +00:00
Jerry DeLisle
6cc309c923 re PR fortran/33162 (INTRINSIC functions as ACTUAL argument)
2007-11-11  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/33162
	* decl.c (match_procedure_decl): Remove TODO and allow intrinsics in
	PROCEDURE declarations.  Set attr.untyped to allow the interface to be
	resolved later where the symbol type will be set.
	* interface.c (compare_intr_interfaces): Remove static from pointer
	declarations.  Add type and kind checks for dummy function arguments.
	(compare_actual_formal_intr): New function to compare an actual
	argument with an intrinsic function. (gfc_procedures_use): Add check for
	interface that points to an intrinsic function, use the new function.
	* resolve.c (resolve_specific_f0): Resolve the intrinsic interface.
	(resolve_specific_s0): Ditto.

From-SVN: r130168
2007-11-14 00:59:09 +00:00
Sebastian Pop
7cbb9e2902 tree-chrec.h (build_polynomial_chrec): RHS of a chrec should not be of pointer type.
2007-11-13  Sebastian Pop  <sebastian.pop@amd.com>

	* tree-chrec.h (build_polynomial_chrec): RHS of a chrec
	should not be of pointer type.

From-SVN: r130167
2007-11-14 00:41:05 +00:00
GCC Administrator
9732cac401 Daily bump.
From-SVN: r130165
2007-11-14 00:17:16 +00:00
Michael Meissner
a273c72a5d make ix86_sse5_valid_op_p adhere to GNU coding style
From-SVN: r130163
2007-11-14 00:16:45 +00:00
Sterling Augustine
6eb065e62c unwind-dw2-xtensa.c: New.
* config/xtensa/unwind-dw2-xtensa.c: New.
	* config/xtensa/unwind-dw2-xtensa.h: New.
	* config/xtensa/xtensa.h (MUST_USE_SJLJ_EXCEPTIONS): Remove.
	(DWARF2_UNWIND_INFO): Remove.
	(DWARF_FRAME_REGISTERS): Define.
	(EH_RETURN_DATA_REGNO): Define.
	* config/xtensa/xtensa.md (UNSPECV_EH_RETURN): Define.
	(eh_return): New.
	* config/xtensa/t-xtensa (LIB2ADDEH): Define.

Co-Authored-By: Bob Wilson <bob.wilson@acm.org>

From-SVN: r130160
2007-11-13 22:41:50 +00:00
Jakub Jelinek
b423089ec2 invoke.texi: Fix description of -fsched-stalled-insns=0, -fsched-stalled-insns.
* doc/invoke.texi: Fix description of -fsched-stalled-insns=0,
	-fsched-stalled-insns.

From-SVN: r130159
2007-11-13 21:37:16 +01:00
Paul Thomas
e73d166e6f re PR fortran/34080 (Transfer was working, now broken)
2007-11-13  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/34080
	* iresolve.c (gfc_resolve_transfer): Do not try to convert
	to a constant MOLD expression, if it is an assumed size
	dummy.

2007-11-13  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/34080
	* gfortran.dg/transfer_assumed_size_1.f90: New test.

From-SVN: r130158
2007-11-13 20:33:21 +00:00
Samuel Tardieu
66beb09b04 sem_prag.adb (Process_Convention): Move the test for the entity on which the Convention pragma applies down to...
gcc/ada/
	* sem_prag.adb (Process_Convention): Move the test for the
	entity on which the Convention pragma applies down to also
	forbid pragma Convention on enumeration literals reached
	through renamings.

From-SVN: r130155
2007-11-13 19:12:57 +00:00
Jakub Jelinek
046e407180 re PR c++/34054 (ICE with parameter pack in return type)
PR c++/34054
	PR c++/34056
	PR c++/34057
	PR c++/34058
	PR c++/34060
	* pt.c (find_parameter_packs_r): If ppd->set_packs_to_error,
	set to error_mark_node the outermost POINTER_TYPE to the pack if
	it is seen in a POINTER_TYPE.
	(push_template_decl_real): If check_for_bare_parameter_packs
	fails for function return type, set the return type to
	integer_type_node.  If check_for_bare_parameter_packs failed
	for non-function, return error_mark_node.

	* g++.dg/parse/crash36.C: Add another dg-error.
	* g++.dg/cpp0x/pr34054.C: New test.
	* g++.dg/cpp0x/pr34056.C: New test.
	* g++.dg/cpp0x/pr34057.C: New test.
	* g++.dg/cpp0x/pr34058.C: New test.
	* g++.dg/cpp0x/pr34060.C: New test.

From-SVN: r130152
2007-11-13 19:27:09 +01:00
Jakub Jelinek
f6ee9faefc re PR tree-optimization/34063 (ICE: build2_stat, at tree.c:3115)
PR tree-optimization/34063
	* tree-chrec.c (chrec_evaluate): Put CHREC_LEFT based argument
	as first chrec_fold_plus operand rather than second.

	* g++.dg/tree-ssa/pr34063.C: New test.

From-SVN: r130151
2007-11-13 19:23:03 +01:00
Diego Novillo
d770555138 pr 33870
pr 33870
	* tree.h (strcut tree_memory_tag): add field unpartitionable.
	remove field in_nested_struct.
	(struct tree_struct_field_tag): add field nesting_level.
	(sft_in_nested_struct): remove.
	(sft_nesting_level): define.
	(sft_unpartitionable_p): define.
	* tree-ssa-alias.c (mem_sym_score): if mp->var is not
	partitionable, return long_max.
	(compute_memory_partitions): do not partition sfts marked
	unpartitionable.
	(create_sft): add argument nesting_level.  set
	sft_nesting_level with it.  update all users.
	(create_overlap_variables_for): show nesting level.
	* tree-dfa.c (dump_subvars_for): likewise.
	(dump_variable): likewise.
	show whether the sft is partitionable or not.
	* tree-flow.h (struct fieldoff): remove field
	in_nested_struct.
	add field nesting_level.
	* tree-ssa-structalias.c (struct variable_info): remove
	field in_nested_struct.
	(push_fields_onto_fieldstack): add argument
	nesting_level.  update all users.
	update documentation.
	update pair->nesting_level with nesting_level.
	make recursive calls with nesting_level + 1.
	(set_uids_in_ptset): if an sft is added to the points-to
	set, mark it as unpartitionable.
	* tree-ssa-operands.c (ref_nesting_level): new.
	(add_vars_for_offset): call it.
	add argument full_ref.  update
	callers.
	if var is inside a nested structure and the nesting level
	of full_ref is lower than the nesting level of var,
	adjust offset by the offset of var.

testsuite/ChangeLog
	
	PR 33870
	* gcc.c-torture/execute/pr33870-1.c: New test.
	* gcc.dg/tree-ssa/alias-16.c: New test.

From-SVN: r130141
2007-11-13 10:20:40 -05:00
Samuel Tardieu
0e506c4b4f a-tasatt.adb: Add a comment at the beginning of the package explaining why in general...
gcc/ada/
	* a-tasatt.adb: Add a comment at the beginning of the package
	explaining why in general 'Unchecked_Access must be used instead
	of 'Access.

From-SVN: r130139
2007-11-13 14:11:18 +00:00
Victor Kaplansky
c28e913a8b re PR regression/32582 (Bootstrap with vectorization enabled fails with ICE on PPC)
2007-11-13  Victor Kaplansky  <victork@il.ibm.com>

        PR tree-optimization/32582
        * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-tree-vectorize

From-SVN: r130138
2007-11-13 13:53:33 +00:00
GCC Administrator
bfb6c26c07 Daily bump.
From-SVN: r130129
2007-11-13 00:17:30 +00:00
Jakub Jelinek
ffbf581329 re PR c++/29225 (ICE in gimplify_expr, at gimplify.c:4513)
PR c++/29225
	* call.c (build_new_op): Call resolve_args before calling
	build_over_call.

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

From-SVN: r130126
2007-11-13 00:17:18 +01:00
Danny Smith
d32034a78d extend.texi (dllimport): Document that pointers to dllimport'd functions can be used as constant.
* doc/extend.texi (dllimport): Document that pointers to dllimport'd
	functions can be used as constant.

From-SVN: r130124
2007-11-12 22:05:38 +00:00
Uros Bizjak
6ee015bfb5 * ChangeLog: Fix whitespace.
From-SVN: r130123
2007-11-12 22:48:57 +01:00
Eric Botcazou
2aac3a0171 re PR rtl-optimization/34035 (ICE in calc_dfs_tree with -O2 -fnon-call-exceptions -ffast-math -fno-gcse)
PR rtl-optimization/34035
	* cse.c (cse_cfg_altered): New global variable.
	(cse_jumps_altered): Make boolean.
	(recorded_label_ref): Likewise.
	(cse_insn): Adjust for above changes.
	(cse_extended_basic_block): Likewise.  Set cse_cfg_altered
	if dead edges have been purged.
	(cse_main): Change return value specification and adjust code.
	(rest_of_handle_cse): Adjust for above change.
	(rest_of_handle_cse2): Likewise.
	* gcse.c (rest_of_handle_gcse): Likewise.

From-SVN: r130122
2007-11-12 21:21:37 +00:00
Dwarakanath Rajagopal
d51fba8ef2 i386.md (sse5_setcc<mode>): Use <ssemodefsuffix> to get the appropriate suffix for the coms* instruction.
2007-11-12  Dwarakanath Rajagopal  <dwarak.rajagopal@amd.com>
            Michael Meissner  <michael.meissner@amd.com>

        * config/i386/i386.md (sse5_setcc<mode>): Use <ssemodefsuffix>
        to get the appropriate suffix for the coms* instruction.
        (sse5_pcmov_<mode>): Restrict operands of pcmov
        for scalar case to be only xmm registers and not memory.

        * config/i386/sse.md (sse5_pcmov_<mode>): Correct the operand
        constraints to follow the mnemonics for the pcmov instruction



Co-Authored-By: Michael Meissner <michael.meissner@amd.com>

From-SVN: r130120
2007-11-12 20:41:14 +00:00
Richard Sandiford
fd0d4c1fbb re PR target/34042 (Segfault in mips_cannot_change_mode_class)
gcc/
	PR target/34042
	* config/mips/mips.c (mips_return_fpr_single): New function.
	(mips_function_value): Use it when returning single-field
	aggregates in FPRs.
	(mips_expand_call): Handle the PARALLELs created by
	mips_return_fpr_single.

From-SVN: r130119
2007-11-12 20:05:46 +00:00
Joseph Myers
3aa64f2ccc * de.po, zh_CN.po: Update.
From-SVN: r130104
2007-11-12 16:37:32 +00:00
Richard Guenther
916c75b473 re PR middle-end/34070 (Wrong code for (int)x%4)
2007-11-12  Richard Guenther  <rguenther@suse.de>

	PR middle-end/34070
	* fold-const.c (fold_binary): If testing for non-negative
	operands with tree_expr_nonnegative_warnv_p make sure to
	use op0 which has all (sign) conversions retained.

	* gcc.c-torture/execute/pr34070-1.c: New testcase.
	* gcc.c-torture/execute/pr34070-2.c: Likewise.

From-SVN: r130098
2007-11-12 14:16:05 +00:00
Richard Guenther
65648dd47e re PR tree-optimization/34027 (-Os code size nearly doubled)
2007-11-12  Richard Guenther  <rguenther@suse.de>

	PR middle-end/34027
	* fold-const.c (fold_binary): Fold n - (n / m) * m to n % m.
	(fold_binary): Fold unsinged FLOOR_DIV_EXPR to TRUNC_DIV_EXPR.

	* gcc.dg/pr34027-1.c: New testcase.
	* gcc.dg/pr34027-2.c: Likewise.

From-SVN: r130097
2007-11-12 13:24:06 +00:00
Ira Rosen
50d76c246f re PR tree-optimization/33953 (internal compiler error: vector VEC(tree,base) index domain error, in vectorizable_operation at tree-vect-transform.c:4017)
PR tree-optimization/33953
	* tree-vect-transform.c (vectorizable_operation): In case of SLP,
	allocate vec_oprnds1 according to the number of created vector
	statements. In case of shift with scalar argument, store scalar operand
	for every vector statement to be created for the SLP node. Fix a
	comment.

From-SVN: r130096
2007-11-12 09:32:13 +00:00
Tom Tromey
f1e207107a re PR c++/17577 (#pragma implementation no longer diagnoses use after file to which it applies)
gcc/cp
	PR c++/17577:
	* lex.c (handle_pragma_implementation): Use cpp_included_before.
gcc/testsuite
	PR c++/17577:
	* g++.dg/ext/pr17577.h: New file.
	* g++.dg/ext/pr17577.C: New file.
libcpp
	PR c++/17557:
	* include/cpplib.h (cpp_included_before): Declare.
	* files.c (struct file_hash_entry) <location>: New field.
	(_cpp_find_file): Initialize new field.
	(make_cpp_dir): Likewise.
	(cpp_included_before): New function.

From-SVN: r130093
2007-11-12 00:38:48 +00:00
Manuel López-Ibáñez
b131ad7c3d re PR c++/8570 (line number in error message is badly placed with illegal template friend declaration)
2007-11-12  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

	PR c++/8570
cp/
	* pt.c (redeclare_class_template): Update error message. Use a
	note to show the previous declaration.
	(tsubst_friend_class): Use the location of the friend template as
	the input location before calling redeclare_class_template.
testsuite/
	* g++.old-deja/g++.ns/template13.C: Update expected output.
	* g++.old-deja/g++.pt/friend23.C: Likewise.
	* g++.dg/warn/pr8570.C: New.

From-SVN: r130092
2007-11-12 00:28:41 +00:00
GCC Administrator
acd7ad0afc Daily bump.
From-SVN: r130090
2007-11-12 00:17:13 +00:00
Jakub Jelinek
09b1ccd6d8 re PR c++/34068 (ICE using pseudo-destructor for invalid expression)
PR c++/34068
	* semantics.c (finish_pseudo_destructor_expr): Handle
	object == error_mark_node.

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

From-SVN: r130087
2007-11-11 23:27:18 +01:00
GCC Administrator
d4b5dc8945 Daily bump.
From-SVN: r130080
2007-11-11 00:17:05 +00:00
Samuel Tardieu
14678e4662 a-tasatt.adb: Revert previous change for this file as it will generate an error when...
gcc/ada/
	* a-tasatt.adb: Revert previous change for this file as it will
	generate an error when this package is instantiated from a
	local context.

From-SVN: r130076
2007-11-10 22:20:15 +00:00
Joseph Myers
db171f6f50 be.po, [...]: Update.
* be.po, ca.po, da.po, de.po, el.po, es.po, fr.po, ja.po, nl.po,
	ru.po, sr.po, sv.po, tr.po, zh_CN.po, zh_TW.po: Update.

From-SVN: r130074
2007-11-10 18:36:27 +00:00
Francois-Xavier Coudert
1130e1607d * trans-common.c: Remove prototype for gfc_get_common.
From-SVN: r130073
2007-11-10 18:03:22 +00:00
Francois-Xavier Coudert
28762eb089 re PR fortran/33592 (FAIL: gfortran.dg/array_constructor_11.f90 -O1 execution test)
PR fortran/33592
	* trans.c (gfc_call_realloc): Fix the logic and rename variables.

From-SVN: r130072
2007-11-10 18:02:18 +00:00
Steven Bosscher
2272b24c41 gcse.c (CUID_INSN): Remove.
2007-11-10  Steven Bosscher  <stevenb.gcc@gmail.com>

	* gcse.c (CUID_INSN): Remove.
	(cuid_insn): Ditto.
	(alloc_gcse_mem): Don't allocate cuid_insn.
	(free_gcse_mem): Don't free cuid_insn.

From-SVN: r130071
2007-11-10 14:54:39 +00:00
Jakub Jelinek
78e4746337 re PR fortran/34020 (Bogus codegen for openmp atomics w/ indirects operands on IPF)
PR fortran/34020
	* gimplify.c (goa_lhs_expr_p): Inside INDIRECT_REF handle unshared
	nops.

	* testsuite/libgomp.fortran/pr34020.f90: New test.

From-SVN: r130069
2007-11-10 08:51:55 +01:00
Jakub Jelinek
416c991fdd re PR middle-end/34018 (ICE: verify_stmts failed)
PR middle-end/34018
	* tree-inline.h (copy_body_data): Add regimplify field.
	* tree-inline.c (copy_body_r): Set id->regimplify to true
	if an TREE_INVARIANT ADDR_EXPR is no longer invariant after
	substitutions.
	(copy_bb): Clear id->regimplify before walk_tree, if it is
	set afterwards, regimplify the whole statement.

	* g++.dg/opt/inline14.C: New test.

From-SVN: r130068
2007-11-10 08:46:31 +01:00
Jakub Jelinek
6481b879ba re PR tree-optimization/33680 (ICE when compilling elbg.c from ffmpeg (vectorizer))
PR tree-optimization/33680
	* tree-data-ref.c (split_constant_offset) <case ADDR_EXPR>: Punt
	if the added cast involves variable length types.

	* gcc.c-torture/compile/20071108-1.c: New test.

From-SVN: r130067
2007-11-10 08:40:37 +01:00
Jakub Jelinek
3d9b2eb64f re PR c++/32241 (ICE trying to call x.~X(); in a template)
PR c++/32241
	* pt.c (tsubst_copy_and_build) <case COMPONENT_REF>: If object_type
	is not scalar type, let finish_class_member_access_expr handle
	diagnostics.  Pass BIT_NOT_EXPR argument to
	finish_pseudo_destructor_expr.  Handle SCOPE_REF properly.

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

From-SVN: r130066
2007-11-10 08:36:09 +01:00
Douglas Gregor
49b5e2f6b5 re PR c++/33510 (Array size of array with size determined by the initializer wrong with packs)
2007-11-09  Douglas Gregor  <doug.gregor@gmail.com>

	PR c++/33510
	* decl.c (cp_complete_array_type): If any of the initializer
	elements are pack expansions, don't compute the array size yet.

2007-11-09  Douglas Gregor  <doug.gregor@gmail.com>

	PR c++/33510
	* g++.dg/cpp0x/variadic-init.C: New.

From-SVN: r130065
2007-11-10 02:53:31 +00:00
GCC Administrator
a4d60af8e9 Daily bump.
From-SVN: r130063
2007-11-10 00:17:18 +00:00
Alexander Monakov
0a1766b289 Maxim Kuvyrkov <maxim@codesourcery.com>
* gcc/sched-deps.c (sched_analyze_insn): Use MOVE_BARRIER
	instead of TRUE_BARRIER for jumps.  Add register dependencies
	even when reg_pending_barrier is set.


Co-Authored-By: Maxim Kuvyrkov <maxim@codesourcery.com>

From-SVN: r130052
2007-11-09 20:23:42 +03:00
Alexander Monakov
ac4a7e21ca haifa-sched.c (haifa_classify_insn): Rename to ...
* gcc/haifa-sched.c (haifa_classify_insn): Rename to ...
	(haifa_classify_rtx): ...  this.  Improve handling of COND_EXECs,
	handle PARALLELs by recursing.  Use it ...  
	(haifa_classify_insn): ...  here.  Reimplement.

From-SVN: r130050
2007-11-09 20:02:10 +03:00
Richard Guenther
76e910c6b7 bitmap.h (bitmap_single_bit_set_p): Declare.
2007-11-09  Richard Guenther  <rguenther@suse.de>

	* bitmap.h (bitmap_single_bit_set_p): Declare.
	* bitmap.c (bitmap_single_bit_set_p): New function.
	* tree-ssa-alias.c (add_may_alias_for_new_tag): Use it.
	(maybe_create_global_var): Use bitmap_empty_p.

From-SVN: r130045
2007-11-09 14:01:33 +00:00
Paolo Bonzini
de26695057 re PR rtl-optimization/34012 (Pessimization caused by fwprop)
PR rtl-optimization/34012
	* fwprop.c (try_fwprop_subst): Do not replace if the new
	SET_SRC has a higher cost than the old one.

	* gcc.target/i386/pr34012.c: New test.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>

From-SVN: r130043
2007-11-09 14:02:25 +01:00
Eric Botcazou
96cdfb52ff re PR rtl-optimization/33732 (gcc.c-torture/execute/longlong.c execution at -O3)
PR rtl-optimization/33732
	* reload.c (push_reload): Check that the REG_DEAD note was referring
	to a hardreg or to a pseudo that has been assigned exactly one hardreg
	before considering it in order to select the reload register.
	(combine_reloads): Likewise.
	(find_dummy_reload): Likewise.

From-SVN: r130042
2007-11-09 12:49:55 +00:00
Richard Guenther
91a17a346e tree-flow.h (struct ptr_info_def): Make escape_mask a ENUM_BITFIELD.
2007-11-09  Richard Guenther  <rguenther@suse.de>

	* tree-flow.h (struct ptr_info_def): Make escape_mask a
	ENUM_BITFIELD.
	(struct ptr_info_def): Likewise.
	(enum escape_type): Also use bit zero.

From-SVN: r130041
2007-11-09 12:47:22 +00:00
Richard Guenther
6aaa40131a re PR target/33604 (Revision 119502 causes significantly slower results with 4.3/4.4 compared to 4.2)
2007-11-09  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/33604
	* tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_vars):
	Disregard changes in CV qualifiers of pointed to types for
	forward propagating ADDR_EXPRs.
	* tree-ssa-ccp.c (fold_stmt_r): Preserve volatileness of the original
	expression.

	* g++.dg/tree-ssa/pr33604.C: New testcase.
	* gcc.dg/pr32721.c: Adjust pattern.

From-SVN: r130040
2007-11-09 12:32:20 +00:00
Richard Sandiford
06acf7d0ad dse.c (find_shift_sequence): Always choose an integer mode for new_mode.
gcc/
	* dse.c (find_shift_sequence): Always choose an integer mode for
	new_mode.
	(replace_read): Require both the read and store mode to be
	integer ones.  Remove a then-redundant FLOAT_P check.

gcc/testsuite/
	* gcc.target/mips/dse-1.c: Disable.

From-SVN: r130039
2007-11-09 12:11:48 +00:00
GCC Administrator
ea9d4a1937 Daily bump.
From-SVN: r130033
2007-11-09 00:17:22 +00:00
Richard Guenther
7d32e17a1a tree-dfa.c (remove_referenced_var): If removing a variable which has subvars...
2007-11-08  Richard Guenther  <rguenther@suse.de>

	* tree-dfa.c (remove_referenced_var): If removing a
	variable which has subvars, also remove those from
	the referenced vars.  Do not create a variable annotation.

From-SVN: r130030
2007-11-08 22:35:44 +00:00
Bob Wilson
35a3be486a xtensa.c (xtensa_expand_prologue): Remove first argument for gen_entry calls.
* config/xtensa/xtensa.c (xtensa_expand_prologue): Remove first
	argument for gen_entry calls.
	* config/xtensa/xtensa.md: Add new "entry" value to "type" attribute.
	(entry): Use the new attribute value.  Remove unused first operand.

From-SVN: r130029
2007-11-08 22:08:02 +00:00
Joseph Myers
4665db2c36 * gcc.pot: Regenerate.
From-SVN: r130026
2007-11-08 21:15:16 +00:00
Tom Tromey
c7412148f7 c-parser.c (c_parser_translation_unit): Use location in error.
gcc
	* c-parser.c (c_parser_translation_unit): Use location in error.
	(c_parser_external_declaration): Likewise.
	(c_parser_declaration_or_fndef): Likewise.
	(c_parser_enum_specifier): Likewise.
	(c_parser_struct_or_union_specifier): Likewise.
	(c_parser_struct_declaration): Likewise.
	(c_parser_typeof_specifier): Likewise.
	(c_parser_parms_list_declarator): Likewise.
	(c_parser_asm_string_literal): Likewise.
	(c_parser_braced_init): Likewise.
	(c_parser_initelt): Likewise.
	(c_parser_compound_statement_nostart): Likewise.
	(c_parser_statement_after_labels): Likewise.
	(c_parser_do_statement): Likewise.
	(c_parser_asm_statement): Likewise.
	(c_parser_conditional_expression): Likewise.
	(c_parser_unary_expression): Likewise.
	(c_parser_sizeof_expression): Likewise.
	(c_parser_postfix_expression): Likewise.
	(c_parser_postfix_expression_after_paren_type): Likewise.
	(c_parser_objc_class_instance_variables): Likewise.
	(c_parser_objc_method_definition): Likewise.
	(c_parser_objc_methodprotolist): Likewise.
	(c_parser_pragma): Likewise.
	(c_parser_omp_clause_num_threads): Likewise.
	(c_parser_omp_clause_schedule): Likewise.
	(c_parser_omp_all_clauses): Likewise.
	(c_parser_omp_sections_scope): Likewise.
	(c_parser_label): Use location of label, not colon.
gcc/testsuite
	* gcc.dg/empty-source-3.c: Update warning location.
	* gcc.dg/gomp/barrier-2.c: Likewise.
	* gcc.dg/label-decl-3.c: Likewise.
	* gcc.dg/label-decl-2.c: Likewise.
	* gcc.dg/empty-source-2.c: Likewise.

From-SVN: r130025
2007-11-08 20:50:37 +00:00
Danny Smith
349fcd7817 re PR target/33774 (Cygwin/mingw do not support 16 byte alignment of struct/union fields)
PR target/33774
	* config/i386/cygming.h (BIGGEST_FIELD_ALIGNMENT): Define only if
	IN_TARGET_LIBS.

From-SVN: r130024
2007-11-08 20:20:02 +00:00
Tom Tromey
c02cdc25dc re PR c++/30297 (ICE with extern "C" and inheritance)
gcc/cp
2007-11-08  Andrew Pinski  <pinskia@gmail.com>
	PR c++/30297:
	* tree.c (decl_linkage): Fields have no linkage.
gcc/testsuite
	PR c++/30297:
	* g++.dg/inherit/pr30297.C: New file.

From-SVN: r130018
2007-11-08 19:50:38 +00:00
Danny Smith
061c5ee427 * gcc.dg/compat/struct-layout-1_generate.c (dg-options) Add
-fno-common for cygwin and mingw32.

From-SVN: r130017
2007-11-08 19:47:36 +00:00
Francois-Xavier Coudert
4cdf766ef6 re PR debug/33739 (Failure of gfortran.dg/literal_character_constant_1_*.F with -m64 -g on Darwin)
PR fortran/33739
	* scanner.c (start_source_file, end_source_file,
	exit_remaining_files): New functions.
	(gfc_advance_line): Use the new functions.

From-SVN: r130016
2007-11-08 19:19:50 +00:00
Kenneth Zadeck
17541d72a7 [multiple changes]
2007-11-07  Kenneth Zadeck <zadeck@naturalbridge.com>

	PR middle-end/33826
	* ipa-pure-const (static_execute): Added code to keep recursive
	functions from being marked as pure or const.
	* ipa-utils (searchc): Fixed comment.
2007-11-08  Kenneth Zadeck <zadeck@naturalbridge.com>

	PR middle-end/33826
	* gcc.dg/pr33826.c: New.
	* gcc.dg/tree-ssa/20030714-1.c: Removed two tests that depend on 
	recursive functions being marked pure or const.

From-SVN: r130006
2007-11-08 16:45:53 +00:00
Tom Tromey
f6230c17e9 common.opt (fshow-column): Default to 0.
* common.opt (fshow-column): Default to 0.
	* configure: Rebuilt.
	* configure.ac (--enable-mapped-location): Default to 'yes'.

From-SVN: r130005
2007-11-08 16:39:59 +00:00
Francois-Xavier Coudert
8dc9f613ea re PR fortran/34028 (Type mismatch with optimization of ISHFT)
PR fortran/34028
	* trans-intrinsic.c (gfc_conv_intrinsic_ishft): Use correct type.

From-SVN: r130003
2007-11-08 15:33:23 +00:00
Tobias Burnus
abf86978b3 re PR fortran/33917 (Rejects valid PROCEDURE declarations)
2007-11-08  Tobias Burnus  <burnus@net-b.de>

        PR fortran/33917
        * interface.c (check_sym_interfaces): Disallow PROCEDURE-declared
        procedures for MODULE PROCEDURE.
        * decl.c (match_procedure_in_interface): Do not mark as procedure.

2007-11-08  Tobias Burnus  <burnus@net-b.de>

        PR fortran/33917
        * gfortran.dg/proc_decl_5.f90: New.
        * gfortran.dg/proc_decl_6.f90: New.

From-SVN: r130002
2007-11-08 16:28:30 +01:00
Kenneth Zadeck
71733172a4 common.opt: Add pointer to doc/options.texi.
2007-11-07  Kenneth Zadeck <zadeck@naturalbridge.com>

	 * common.opt: Add pointer to doc/options.texi.
	 * doc/invoke.texi (-fdse, -fdce, -fauto-inc-dec, -fipa-pure-const,
	 -fipa-reference): Add or correct doc.  Sorted options list for -Os
	 -O, -O2.

From-SVN: r130000
2007-11-08 13:47:41 +00:00
Bernhard Fischer
d3a9662cad re PR target/16350 (gcc only understands little endian ARM systems)
PR target/16350
* config.gcc: For arm*b-* define TARGET_BIG_ENDIAN_DEFAULT.
* config/arm/linux-elf.h (TARGET_ENDIAN_DEFAULT): Define based on TARGET_BIG_ENDIAN_DEFAULT.
   Use for MULTILIB_DEFAULTS.
   (TARGET_DEFAULT): Set according to TARGET_ENDIAN_DEFAULT.
   (LINUX_TARGET_LINK_SPEC): Pass -mlittle-endian on to the assembler.
* config/arm/linux-eabi.h (TARGET_LINKER_EMULATION): Set according to TARGET_BIG_ENDIAN_DEFAULT.
   (SUBTARGET_EXTRA_LINK_SPEC): Likewise.
* gcc/config/arm/bpabi.h (TARGET_DEFAULT_MASK): Set according to TARGET_BIG_ENDIAN_DEFAULT.

From-SVN: r129999
2007-11-08 13:44:09 +00:00
Jakub Jelinek
c4e2c79ee4 re PR tree-optimization/32575 (With -ftree-vrp miscompiles a single line of code in SQLite)
PR tree-optimization/32575
	* gcc.c-torture/execute/20071108-1.c: New test.

From-SVN: r129998
2007-11-08 14:07:54 +01:00
Daniel Jacobowitz
8208d7dc30 class.c (build_ctor_vtbl_group): Lay out the new type and decl.
* class.c (build_ctor_vtbl_group): Lay out the new type and decl.

	* g++.dg/opt/anchor1.C: New.

From-SVN: r129997
2007-11-08 12:48:28 +00:00
Diego Novillo
24c1b08d69 tree.h (struct tree_struct_field_tag): Move field in_nested_struct ...
* tree.h (struct tree_struct_field_tag): Move field
	in_nested_struct ...
	(struct tree_memory_tag): ... here.

From-SVN: r129982
2007-11-07 21:18:32 -05:00
GCC Administrator
eba0c53727 Daily bump.
From-SVN: r129980
2007-11-08 00:17:22 +00:00
Diego Novillo
6f09f3140c re PR tree-optimization/33870 (miscompiles sqlite)
PR 33870
	* tree.h (struct tree_struct_field_tag): Add field in_nested_struct.
	(SFT_IN_NESTED_STRUCT): Define.
	* tree-dfa.c (dump_subvars_for): Show offset of each
	sub-var.
	* tree-flow.h (struct fieldoff): Add field in_nested_struct.
	* tree-ssa-structalias.c (struct variable_info): Likewise.
	(push_fields_onto_fieldstack): If OFFSET is positive,
	set in_nested_struct.
	(create_variable_info_for): Copy setting of
	in_nested_struct from the field offset object.
	(set_uids_in_ptset): Set SFT_IN_NESTED_STRUCT from the
	variable info object.
	* tree-ssa-operands.c (add_vars_for_offset): If VAR
	belongs to a nested structure, adjust OFFSET by
	SFT_OFFSET(VAR).

testsuite/ChangeLog

	* gcc.c-torture/execute/pr33870.x: Remove.

From-SVN: r129976
2007-11-07 19:01:38 -05:00
Douglas Gregor
e4fd5b87bf re PR c++/33045 ([c++0x] Incorrect decltype result for function calls.)
2007-11-07  Douglas Gregor  <doug.gregor@gmail.com>

	PR c++/33045
	PR c++/33837
	PR c++/33838
	* semantics.c (finish_decltype_type): See through INDIRECT_REFs.
	Be careful with ERROR_MARK_NODEs.
	* parser.c (cp_parser_check_access_in_redeclaration): Handle NULL
	argument.
	
2007-11-07  Douglas Gregor  <doug.gregor@gmail.com>

	PR c++/33045
	PR c++/33837
	PR c++/33838
	* g++.dg/cpp0x/decltype-33837.C: New.
	* g++.dg/cpp0x/decltype-refbug.C: New.
	* g++.dg/cpp0x/decltype-33838.C: New.

From-SVN: r129975
2007-11-07 23:37:29 +00:00
Tom Tromey
4a54716a85 re PR java/34019 (Minor typo in gcj documentation)
PR java/34019:
	* gcj.texi (Input Options): Add missing noun.

From-SVN: r129974
2007-11-07 22:55:58 +00:00
Eric Botcazou
52982a970e re PR rtl-optimization/33737 (verify_flow_info failed: Wrong probability of edge 94->1 -6651)
PR rtl-optimization/33737
	* cfgcleanup.c (try_crossjump_to_edge): Add count and frequency of
	target block after computing the probabilities of outgoing edges.
	Cap the frequency to BB_FREQ_MAX.
	* tree-ssa-threadupdate.c (redirect_edges): Also adjust count and
	frequency of the basic block if it has been reused.

From-SVN: r129973
2007-11-07 22:05:37 +00:00
Eric Botcazou
8c6c36a3c9 re PR rtl-optimization/33822 (-g -O -mstrict-align causes an ICE in set_variable_part,)
PR rtl-optimization/33822
	* rtl.h (REG_OFFSET): Fix comment.
	* var-tracking.c (INT_MEM_OFFSET): New macro.
	(var_mem_set): Use it.
	(var_mem_delete_and_set): Likewise.
	(var_mem_delete): Likewise.
	(same_variable_part_p): Likewise.
	(vt_get_decl_and_offset): Likewise.
	(offset_valid_for_tracked_p): New predicate.
	(count_uses): Do not track locations with invalid offsets.
	(add_uses): Likewise.
	(add_stores): Likewise.

From-SVN: r129970
2007-11-07 20:48:08 +00:00
Tom Tromey
83eb8eb789 Makefile.in (tree-ssa-structalias.o): Depend on $(FUNCTION_H)
* Makefile.in (tree-ssa-structalias.o): Depend on $(FUNCTION_H)
	(BASIC_BLOCK_H): Add vec.h, $(FUNCTION_H).

From-SVN: r129969
2007-11-07 20:15:38 +00:00
Jakub Jelinek
2811f33dcd re PR c++/33501 (Copy constructor assumed to exist for undefined class)
PR c++/33501
	* call.c (build_over_call): Don't check TREE_ADDRESSABLE
	on incomplete type.

	* g++.dg/warn/incomplete2.C: New test.
	* g++.dg/template/incomplete4.C: New test.
	* g++.dg/template/incomplete5.C: New test.

From-SVN: r129968
2007-11-07 20:27:27 +01:00
Dmitry Zhurikhin
5cd537421e modulo-sched.c (sms_order_nodes, [...]): Fix prototypes.
* modulo-sched.c (sms_order_nodes, permute_partial_schedule,
        generate_prolog_epilog, duplicate_insns_of_cycles): Fix prototypes.
        (calculate_order_params, sms_order_nodes): New parameter pmax_asap.
        Save calculated max_asap in it.
        (sms_schedule): Calculate maxii using max_asap.


Co-Authored-By: Andrey Belevantsev <abel@ispras.ru>

From-SVN: r129966
2007-11-07 19:07:29 +03:00
Samuel Tardieu
d9c1dc68ad sem_attr.adb (Analyze_Attribute): Remove duplicate identical embedded check for "Ada_Version >= Ada_05".
gcc/ada/
	* sem_attr.adb (Analyze_Attribute): Remove duplicate identical
	embedded check for "Ada_Version >= Ada_05".

From-SVN: r129965
2007-11-07 14:52:24 +00:00
Samuel Tardieu
bc01690e80 tracebak.c (i386 alternative): Remove useless comparaison which is always false...
gcc/ada/
	* tracebak.c (i386 alternative): Remove useless comparaison
	which is always false; LOWEST_ADDRESS is 0 and is never greater
	than an unsigned integer.

From-SVN: r129964
2007-11-07 14:51:05 +00:00
Samuel Tardieu
dcbd752dc4 a-tasatt.adb: Use 'Access instead of 'Unchecked_Access when applicable.
gcc/ada/
	* a-tasatt.adb: Use 'Access instead of 'Unchecked_Access when
	applicable. Local lifetime is the one of the package.
	(Set_Value): W is allocated on the heap.

	* g-socket.adb: Use 'Access instead of 'Unchecked_Access when
	applicable.
	(Get_Socket_Option): Optlen formal of C_Getsockopt is of an anonymous
	access type.
	(Receive_Socket): Fromlen formal of C_Recvfrom is of an anonymous
	access type.

	* s-taasde.adb: Use 'Access instead of 'Unchecked_Access when
	applicable.
	(elaboration code): Timer_Queue lifetime is the one of the
	package.

From-SVN: r129963
2007-11-07 14:49:46 +00:00
Samuel Tardieu
f9d806de0b a-tasatt.adb: Type Wrapper should be declared in comment instead of already declared type...
gcc/ada/
	* a-tasatt.adb: Type Wrapper should be declared in comment instead
	of already declared type Node_Access.

From-SVN: r129962
2007-11-07 14:47:19 +00:00
Olivier Hainque
cb88a3eae3 decl.c (make_aligning_type): Set the mode of the RECORD_TYPE we craft and expand comment.
2007-11-07  Olivier Hainque  <hainque@adacore.com>

        * decl.c (make_aligning_type): Set the mode of the RECORD_TYPE we
        craft and expand comment.

        testsuite/
        * gnat.dg/max_align.adb: New test.

From-SVN: r129958
2007-11-07 09:51:46 +00:00
Andreas Krebbel
4daf64719c invoke.texi: Replace rs6000 dfp switches -mdfp/-mno-dfp with -mhard-dfp/-mno-hard-dfp.
2007-11-07  Andreas Krebbel  <krebbel1@de.ibm.com>

	* doc/invoke.texi: Replace rs6000 dfp switches -mdfp/-mno-dfp
	with -mhard-dfp/-mno-hard-dfp.

From-SVN: r129957
2007-11-07 08:57:02 +00:00
Diego Novillo
28f6b1e4e2 tree-flow.h (struct fieldoff): Reformat comment.
* tree-flow.h (struct fieldoff): Reformat comment.
	Document fields.
	* tree-ssa-operands.c: Tidy top-level comments.
	(add_vop): Likewise.
	(add_vars_for_offset): Tidy parameter formatting..
	(get_addr_dereference_operands): Likewise.
	(get_indirect_ref_operands): Likewise.
	(get_expr_operands) <OMP_ATOMIC_LOAD>: Reformat.
	<OMP_ATOMIC_STORE>: Likewise.

From-SVN: r129956
2007-11-06 22:00:22 -05:00
GCC Administrator
b6e2138fb7 Daily bump.
From-SVN: r129952
2007-11-07 00:17:50 +00:00
Maxim Kuvyrkov
3c9cc6f470 re PR middle-end/33670 (cc1 segfault with -O2 -fsched-stalled-insns=0 for twolf)
PR middle-end/33670
	* haifa-sched.c (check_sched_flags): Remove.
	(sched_init): Don't call it.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>

From-SVN: r129948
2007-11-07 00:20:38 +01:00
H.J. Lu
6a9497ff33 Correct ChangeLog entry for revision 129904.
From-SVN: r129945
2007-11-06 13:38:44 -08:00
Rask Ingemann Lambertsen
a6ecb05c86 re PR target/32787 (Sun Studio 12 Undefined symbol addl)
2007-11-06  Rask Ingemann Lambertsen  <rask@sygehus.dk>

	PR target/32787
	* config/i386/driver-i386.c: Test for __GNUC__ instead of
	GCC_VERSION which is always defined.

From-SVN: r129944
2007-11-06 20:14:22 +00:00
H.J. Lu
b3519e7c8a re PR target/30961 (redundant reg/mem stores/moves)
gcc/

2007-11-06  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

	PR target/30961
	* reload1.c (find_reloads): Also check in_reg when handling a
	simple move with an input reload and a destination of a hard
	register.

gcc/testsuite/

2007-11-06  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/30961
	* gcc.target/i386/pr30961-1.c: New.

From-SVN: r129943
2007-11-06 11:19:23 -08:00
Maxim Kuvyrkov
b8c963204c m68k.c (sched-int.h, [...]): New includes.
* config/m68k/m68k.c (sched-int.h, insn-codes.h): New includes.
	(TARGET_SCHED_ADJUST_COST, TARGET_SCHED_VARIABLE_ISSUE,
	TARGET_SCHED_INIT_GLOBAL, TARGET_SCHED_FINISH_GLOBAL,
	TARGET_SCHED_INIT, TARGET_SCHED_DFA_PRE_ADVANCE_CYCLE,
	TARGET_SCHED_DFA_POST_ADVANCE_CYCLE): Redefine.
	(m68k_sched_attr_type2): New function.
	(sched_adjust_cost_state): New static variable.
	(m68k_sched_adjust_cost): New static function implementing
	scheduler hook.
	(sched_ib_size, sched_ib_filled, sched_ib_insn, sched_mem_unit_code):
	New static variables.
	(m68k_sched_variable_issue): New static function implementing
	scheduler hook.
	(sched_dump_class_def, sched_dump_class_func_t): New typedefs.
	(sched_dump_split_class): New static function.
	(sched_dump_dfa_guess_unit_code, sched_dump_dfa_state): New static
	variables.
	(sched_dump_dfa_class, m68k_sched_dump): New static function.
	(m68k_sched_md_init_global, m68k_sched_md_finish_global,
	m68k_sched_md_init, m68k_sched_dfa_pre_advance_cycle,
	m68k_sched_dfa_post_advance_cycle): New static functions implementing
	scheduler hooks.

	* config/m68k/m68k.h (m68k_sched_attr_type2): Declare.
	(CPU_UNITS_QUERY): Define.

	* config/m68k/cf.md: New file.
	* config/m68k/m68.md (cf.md): New include.

From-SVN: r129938
2007-11-06 16:52:17 +00:00
Tom Tromey
38d346765a PR c++/32256, PR c++/32368:
gcc
	PR c++/32256, PR c++/32368:
	* function.c (saved_in_system_header): New global.
	(push_cfun): Save in_system_header.
	(pop_cfun): Restore in_system_header.
	(push_struct_function): Save in_system_header.
gcc/testsuite
	PR c++/32368:
	* g++.dg/warn/pragma-system_header3.h: New.
	* g++.dg/warn/pragma-system_header3.C: New.

	PR c++/32256:
	* g++.dg/warn/pragma-system_header4.C: New.
	* g++.dg/warn/pragma-system_header4.h: New.

From-SVN: r129936
2007-11-06 15:57:02 +00:00
Douglas Gregor
9ae165a072 re PR c++/33977 (internal compiler error: canonical types differ for identical types const char [5] and const sal_Char [5])
2007-11-06  Douglas Gregor  <doug.gregor@gmail.com>

	PR c++/33977
	PR c++/33886
	* tree.c (c_build_qualified_type): Define bridge to
	cp_build_qualified_type.

2007-11-06  Douglas Gregor  <doug.gregor@gmail.com>

	PR c++/33977
	PR c++/33886
	* c-common.c (c_build_qualified_type): Moved to c-typeck.c.
	(complete_array_type): Set canonical type appropriately.
	* c-typeck.c (c_build_qualified_type): Moved from c-common.c. The
	C and C++ front ends now have different versions of this function,
	because the C++ version needs to maintain canonical types here.

2007-11-06  Douglas Gregor  <doug.gregor@gmail.com>

	PR c++/33977
	PR c++/33886
	* g++.dg/other/canon-array.C: New.

From-SVN: r129929
2007-11-06 14:39:41 +00:00
Douglas Gregor
1ad8aeeb96 re PR c++/31439 (ICE with variadic template and broken specialization)
2007-11-06  Douglas Gregor  <doug.gregor@gmail.com>

	PR c++/31439
	PR c++/32114
	PR c++/32115
	PR c++/32125
	PR c++/32126
	PR c++/32127
	PR c++/32128
	PR c++/32253
	PR c++/32566
	* typeck.c (check_return_expr): Pass address of retval to
	check_for_bare_parameter_packs.
	* class.c (build_base_field): Tolerate bases that have no layout
	due to errors.
	(end_of_base): Ditto.
	* tree.c (canonical_type_variant): Be careful with
	ERROR_MARK_NODE.
	* cp-tree.h (check_for_bare_parameter_packs): Now accepts a
	tree*.
	* pt.c (find_parameter_pack_data): Add set_packs_to_error field,
	which states whether parameter packs should be replaced with
	ERROR_MARK_NODE.
	(find_parameter_packs_r): Pass addresses to cp_walk_tree wherever
	possible. If set_packs_to_error is set true, replace the parameter
	pack with ERROR_MARK_NODE. Manage our own pointer sets.
	(uses_parameter_packs): Don't set parameter packs to
	ERROR_MARK_NODE.
	(check_for_bare_parameter_packs): Now takes a pointer to a tree,
	which may be modified (if it is a parameter pack). Instructs
	find_parameter_packs_r to replace parameter packs with
	ERROR_MARK_NODE (so that they won't cause errors later on).
	(process_template_parm): Pass pointer to
	check_for_bare_parameter_packs.
	(process_partial_specialization): Replace pack expansions before
	the end of the template argument list with ERROR_MARK_NODE.
	(push_template_decl_real): Pass pointer to
	check_for_bare_parameter_packs. Replace parameter packs not at the
	end of the template parameter list with ERROR_MARK_NODE.
	(convert_template_argument): Be more careful about using DECL_NAME
	on only declarations.
	(unify): Can't unify against ERROR_MARK_NODE.
	* semantics.c (finish_cond): Pass pointer to
	check_for_bare_parameter_packs.
	(finish_expr_stmt): Ditto.
	(finish_for_expr): Ditto.
	(finish_switch_cond): Pass pointer to
	check_for_bare_parameter_packs, and call it before we put the
	condition into the statement.
	(finish_mem_initializers): Pass pointer to
	check_for_bare_parameter_packs.
	(finish_member_declaration): Ditto.
	* parser.c (cp_parser_base_clause): Ditto.
	
2007-11-06  Douglas Gregor  <doug.gregor@gmail.com>

	* testsuite/g++.dg/parser/crash36.C: Tweak expected errors.
	* testsuite/g++.dg/cpp0x/pr31439.C: New.
	* testsuite/g++.dg/cpp0x/pr32114.C: New.
	* testsuite/g++.dg/cpp0x/pr32115.C: New.
	* testsuite/g++.dg/cpp0x/pr32125.C: New.
	* testsuite/g++.dg/cpp0x/pr32126.C: New.
	* testsuite/g++.dg/cpp0x/pr32127.C: New.
	* testsuite/g++.dg/cpp0x/pr32128.C: New.
	* testsuite/g++.dg/cpp0x/pr32253.C: New.
	* testsuite/g++.dg/cpp0x/pr32566.C: New.
	* testsuite/g++.dg/cpp0x/pr31445.C: Tweak expected errors.
	* testsuite/g++.dg/cpp0x/pr31438.C: Ditto.
	* testsuite/g++.dg/cpp0x/variadic81.C: Ditto.
	* testsuite/g++.dg/cpp0x/pr31432.C: Ditto.
	* testsuite/g++.dg/cpp0x/pr31442.C: Ditto.

From-SVN: r129928
2007-11-06 14:37:56 +00:00
Razya Ladelsky
0eb7e7aa01 tree-parloops.c (reduction_info): Remove reduction_init field.
2007-11-04  Razya Ladelsky  <razya@il.ibm.com>
	
	* tree-parloops.c (reduction_info): Remove reduction_init field.
	(initialize_reductions): Remove creation of the reduction_init variable.
	(struct data_arg): Remove.
	(add_field_for_reduction, create_stores_for_reduction): New functions.
	(add_field_for_name): Remove reduction handling.
	(separate_decls_in_loop): Call add_field_for_reduction, 
	create_stores_for_reduction.

From-SVN: r129923
2007-11-06 10:29:12 +00:00
Jakub Jelinek
b0eb6a8f72 re PR target/33168 (GCC Boot failure, building libstc++)
PR target/33168
	* decl.c (cp_finish_decl): Call make_rtl_for_nonlocal_decl already
	with the final TREE_READONLY flag in place.  processing_template_decl
	is known to be 0 in this part of function.

	* g++.dg/other/datasec1.C: New test.

From-SVN: r129922
2007-11-06 09:33:25 +01:00
Jakub Jelinek
36b6e79343 re PR tree-optimization/33458 (ICE "PHI def is not a GIMPLE value")
PR tree-optimization/33458
	* tree-inline.c (copy_phis_for_bb): If PHI arg substitution creates
	!is_gimple_val PHI argument, gimplify it and insert it on edge.

	* g++.dg/opt/inline12.C: New test.

From-SVN: r129921
2007-11-06 09:29:48 +01:00
Jakub Jelinek
c563bcd1da re PR tree-optimization/33993 (ICE: verify_stmts failed (invalid reference prefix))
PR tree-optimization/33993
	* tree-vect-transform.c (vect_get_constant_vectors): Use build_vector
	rather than build_constructor_from_list if all list values are
	constants.
	(get_initial_def_for_induction): Use build_vector instead of
	build_constructor_from_list.

	* gcc.c-torture/compile/20071105-1.c: New test.

From-SVN: r129920
2007-11-06 09:28:37 +01:00
Jakub Jelinek
239371f9c7 re PR c++/33894 (pragma omp atomic broken)
PR c++/33894
	* cp-tree.h: Update comment - TYPE_LANG_FLAG_0 is not
	OMP_ATOMIC_DEPENDENT_P in OMP_ATOMIC.
	* pt.c (tsubst_expr): Assert OMP_ATOMIC_DEPENDENT_P.
	* semantics.c (finish_omp_atomic): Revert most of the
	2007-02-05 changes, just keep the new representation of
	OMP_ATOMIC_DEPENDENT_P OMP_ATOMIC.

	* testsuite/libgomp.c++/atomic-1.C: New test.

From-SVN: r129919
2007-11-06 09:26:50 +01:00
Mark Mitchell
873c716480 re PR target/33579 (INIT_PRIORITY is broken)
PR target/33579
	* tree.h (DECL_INIT_PRIORITY): Do not require
	DECL_HAS_INIT_PRIORITY_P.
	(DECL_FINI_PRIORITY): Likewise.
	* tree.c (decl_init_priority_lookup): Remove assert.
	(decl_fini_priority_insert): Likewise.
	* cgraphunit.c (static_ctors): Make it a VEC.
	(static_dtors): Likewise.
	(record_cdtor_fn): Adjust accordingly.
	(build_cdtor): Generate multiple functions for each initialization
	priority.
	(compare_ctor): New function.
	(compare_dtor): Likewise.
	(cgraph_build_cdtor_fns): Sort the functions by priority before
	calling build_cdtor.
	(cgraph_build_static_cdtor): Put the priority in the function's
	name.

From-SVN: r129918
2007-11-06 00:30:52 +00:00
GCC Administrator
7ef52af452 Daily bump.
From-SVN: r129916
2007-11-06 00:17:19 +00:00
H.J. Lu
528dc60364 re PR driver/32632 (-pie won't override -shared in -shared -pie)
2007-11-05  H.J. Lu  <hongjiu.lu@intel.com>

	PR driver/32632
	* common.opt: Add shared and pie.

From-SVN: r129913
2007-11-05 15:42:30 -08:00
Bob Wilson
d99ffa9404 xtensa.c (xtensa_expand_nonlocal_goto): Do not replace references to virtual_stack_vars_rtx in goto_handler.
* config/xtensa/xtensa.c (xtensa_expand_nonlocal_goto): Do not replace
	references to virtual_stack_vars_rtx in goto_handler.

From-SVN: r129912
2007-11-05 23:37:38 +00:00
H.J. Lu
565603f84a re PR c++/33871 (typeinfo name referenced in ... defined in discarded section)
2007-11-05  H.J. Lu  <hongjiu.lu@intel.com>

	PR c++/33871
	* decl2.c (constrain_visibility): Clear DECL_ONE_ONLY if marked
	local.

From-SVN: r129911
2007-11-05 15:11:57 -08:00
Jakub Jelinek
d03b2e6b4d Fix last entry.
From-SVN: r129910
2007-11-05 23:00:07 +01:00
Jakub Jelinek
2dc675d531 re PR rtl-optimization/33648 (ICE in verify_flow_info for -fmodulo-sched -freorder-blocks-and-partition)
PR rtl-optimization/33648
	* gcc.dg/pr33648.c: New test.

From-SVN: r129909
2007-11-05 22:55:37 +01:00
Revital Eres
77cfbfe79e Fix check_750cl_hw_available function
From-SVN: r129906
2007-11-05 18:58:43 +00:00
Douglas Gregor
86089be5e1 Index...
Index: testsuite/g++.dg/cpp0x/pr33996.C
===================================================================
--- testsuite/g++.dg/cpp0x/pr33996.C	(revision 0)
+++ testsuite/g++.dg/cpp0x/pr33996.C	(revision 0)
@@ -0,0 +1,52 @@
+// { dg-options "-std=c++0x" }
+
+#define BUG
+struct type
+{
+  type() { }
+  type(const type&) { }
+
+private:
+  type(type&&);
+};
+
+template<typename _Tp>
+  struct identity
+  {
+    typedef _Tp type;
+  };
+
+template<typename _Tp>
+  inline _Tp&&
+  forward(typename identity<_Tp>::type&& __t)
+  { return __t; }
+
+struct vec
+{
+  template<typename _Args>
+    void
+    bar(_Args&& __args)
+#ifdef BUG
+    ;
+#else
+    {
+      type(forward<_Args>(__args));
+    }
+#endif
+};
+
+#ifdef BUG
+template<typename _Args>
+  void
+  vec::bar(_Args&& __args)
+  {
+    type(forward<_Args>(__args));
+  }
+#endif
+
+int main()
+{
+  vec v;
+  type c;
+  v.bar(c);
+}
Index: testsuite/g++.dg/cpp0x/rv-trivial-bug.C
===================================================================
--- testsuite/g++.dg/cpp0x/rv-trivial-bug.C	(revision 0)
+++ testsuite/g++.dg/cpp0x/rv-trivial-bug.C	(revision 0)
@@ -0,0 +1,33 @@
+// { dg-do "run" }
+// { dg-options "-std=c++0x" }
+// PR c++/33235
+#include <cassert>
+
+int move_construct = 0;
+int move_assign = 0;
+
+struct base2
+{
+    base2() {}
+    base2(base2&&) {++move_construct;}
+    base2& operator=(base2&&) {++move_assign; return *this;}
+};
+
+int test2()
+{
+    base2 b;
+    base2 b2(b);
+    assert(move_construct == 0);
+    base2 b3(static_cast<base2&&>(b));
+    assert(move_construct == 1);
+    b = b2;
+    assert(move_assign == 0);
+    b = static_cast<base2&&>(b2);
+    assert(move_assign == 1);
+}
+
+int main()
+{
+    test2();
+    return 0;
+}
Index: testsuite/g++.dg/cpp0x/pr33930.C
===================================================================
--- testsuite/g++.dg/cpp0x/pr33930.C	(revision 0)
+++ testsuite/g++.dg/cpp0x/pr33930.C	(revision 0)
@@ -0,0 +1,10 @@
+// { dg-options "-std=c++0x" }
+typedef const int* type;
+
+float& foo( const type& ggg );
+int& foo( type&& ggg );
+
+void bar( int* someptr )
+{
+  int& x = foo( someptr );
+}
Index: cp/typeck.c
===================================================================
--- cp/typeck.c	(revision 129899)
+++ cp/typeck.c	(working copy)
@@ -620,7 +620,7 @@ merge_types (tree t1, tree t2)
 	if (code1 == POINTER_TYPE)
 	  t1 = build_pointer_type (target);
 	else
-	  t1 = build_reference_type (target);
+	  t1 = cp_build_reference_type (target, TYPE_REF_IS_RVALUE (t1));
 	t1 = build_type_attribute_variant (t1, attributes);
 	t1 = cp_build_qualified_type (t1, quals);
 
Index: cp/call.c
===================================================================
--- cp/call.c	(revision 129899)
+++ cp/call.c	(working copy)
@@ -5076,7 +5076,8 @@ build_over_call (struct z_candidate *can
 	    return build_target_expr_with_type (arg, DECL_CONTEXT (fn));
 	}
       else if (TREE_CODE (arg) == TARGET_EXPR
-	       || TYPE_HAS_TRIVIAL_INIT_REF (DECL_CONTEXT (fn)))
+	       || (TYPE_HAS_TRIVIAL_INIT_REF (DECL_CONTEXT (fn))
+		   && !move_fn_p (fn)))
 	{
 	  tree to = stabilize_reference
 	    (build_indirect_ref (TREE_VALUE (args), 0));
@@ -6118,7 +6119,11 @@ compare_ics (conversion *ics1, conversio
   if (ics1->kind == ck_qual
       && ics2->kind == ck_qual
       && same_type_p (from_type1, from_type2))
-    return comp_cv_qual_signature (to_type1, to_type2);
+    {
+      int result = comp_cv_qual_signature (to_type1, to_type2);
+      if (result != 0)
+	return result;
+    }
 
   /* [over.ics.rank]

From-SVN: r129905
2007-11-05 18:42:22 +00:00
Paul Brook
b76c3c4bee config.gcc (arm*-*-*): Set c_target_objs and cxx_target_objs.
2007-11-05  Paul Brook  <paul@codesourcery.com>

	gcc/
	* config.gcc (arm*-*-*): Set c_target_objs and cxx_target_objs.
	* config/arm/arm.c (arm_lang_output_object_attributes_hook): New.
	(arm_file_start): Don't set Tag_ABI_PCS_wchar_t.  Call
	arm_lang_output_object_attributes_hook.
	* config/arm/arm.h (arm_lang_output_object_attributes_hook): Declare.
	(REGISTER_TARGET_PRAGMAS): Call arm_lang_object_attributes_init.
	* config/arm/arm-protos.h (arm_lang_object_attributes_init): Add
	prototype.
	* config/arm/t-arm.c (arm.o): New rule.
	* config/arm/arm-c.c: New file.

From-SVN: r129904
2007-11-05 17:13:46 +00:00
Nick Clifton
f0ed4cfb9d re PR tree-optimization/32540 (Exponential time behavior in PRE)
2007-11-05  Nick Clifton  <nickc@redhat.com>
	    Sebastian Pop  <sebastian.pop@amd.com>

	PR tree-optimization/32540
	PR tree-optimization/33922
	* doc/invoke.texi: Document PARAM_MAX_PARTIAL_ANTIC_LENGTH.
	* tree-ssa-pre.c: Include params.h.
	(compute_partial_antic_aux): Use PARAM_MAX_PARTIAL_ANTIC_LENGTH
	to limit the maximum length of the PA set for a given block.
	* Makefile.in: Add a dependency upon params.h for tree-ssa-pre.c
	* params.def (PARAM_MAX_PARTIAL_ANTIC_LENGTH): New parameter.

	* gcc.dg/tree-ssa/pr32540-1.c: New.
	* gcc.dg/tree-ssa/pr32540-2.c: New.
	* gcc.dg/tree-ssa/pr33922.c: New.


Co-Authored-By: Sebastian Pop <sebastian.pop@amd.com>

From-SVN: r129901
2007-11-05 15:42:30 +00:00
Douglas Gregor
2afad0f6bb re PR c++/33939 (Rvalue references not deduced correctly in vararg function templates)
2007-11-05  Douglas Gregor  <doug.gregor@gmail.com>

	PR c++/33939
	* pt.c (unify_pack_expansion): bring handling of function call
	arguments into line with type_unification_real. 

2007-11-05  Douglas Gregor  <doug.gregor@gmail.com>

	PR c++/33939
	* g++.dg/cpp0x/variadic-rref.C: New.

From-SVN: r129900
2007-11-05 12:50:21 +00:00
Nathan Sidwell
f139f5faa7 libgcc2.c (__fixunstfDI, [...]): Make return type unsigned.
* libgcc2.c (__fixunstfDI, __fixunsxfDI, __fixunsdfDI,
	__fixunssfDI): Make return type unsigned.
	* libgcc2.h (__fixunstfDI, __fixunsxfDI, __fixunsdfDI,
	__fixunssfDI): Make return type unsigned.

From-SVN: r129899
2007-11-05 11:41:40 +00:00
Manuel López-Ibáñez
278b63df62 typeck.c (build_binary_op): Use pedwarn instead of error for consistency.
2007-11-05  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
cp/
	* typeck.c (build_binary_op): Use pedwarn instead of error for
	consistency.
testsuite/
	* g++dg/warn/pointer-integer-comparison.C: New.

From-SVN: r129898
2007-11-05 10:03:04 +00:00
Jakub Jelinek
0976ffb63f re PR tree-optimization/33856 (Segfault in create_data_ref/compute_data_dependences_for_loop)
PR tree-optimization/33856
	* tree-data-ref.c (get_references_in_stmt): Don't add
	REFERENCE_CLASS_P trees to references vector if get_base_address
	returns NULL on them.

	* gcc.c-torture/compile/20071027-1.c: New test.

From-SVN: r129897
2007-11-05 09:44:23 +01:00
Jakub Jelinek
f370e66bb8 re PR c++/33836 (ICE with invalid use of &&)
PR c++/33836
	* parser.c (cp_parser_unary_expression): For &&label call
	cp_parser_non_integral_constant_expression and return error_mark_node
	if it returned true.

	* g++.dg/ext/label10.C: New test.

From-SVN: r129896
2007-11-05 09:18:03 +01:00