Commit Graph

101728 Commits

Author SHA1 Message Date
Bernd Schmidt
dbb9443595 function.c (record_hard_reg_sets): Restrict the previous change to cases where the incoming nominal mode is the...
* function.c (record_hard_reg_sets): Restrict the previous change
	to cases where the incoming nominal mode is the same as the
	incoming promoted mode and everything happens in MODE_INT.

From-SVN: r162391
2010-07-21 22:51:13 +00:00
Bernd Schmidt
08bd6876cb re PR bootstrap/44970 (Revision 162270 failed to bootstrap)
PR bootstrap/44970
	PR middle-end/45009
	* postreload.c: Include "target.h".
	(reload_combine_closest_single_use): Don't take DEBUG_INSNs
	into account.
	(fixup_debug_insns): Don't copy the rtx.
	(reload_combine_recognize_const_pattern): DEBUG_INSNs can't
	have uses.  Don't copy when replacing.  Call fixup_debug_insns
	in the case where we merged one add with another.
	(reload_combine_recognize_pattern): Fail if there aren't any
	uses.  Try harder to determine whether we're picking a valid
	index register.  Don't set store_ruid for an insn we're going
	to scan in the next iteration.
	(reload_combine): Remove unused code.
	(reload_combine_note_use): When updating use information for
	an old insn, ignore a use that occurs after store_ruid.
	* Makefile.in (postreload.o): Update dependencies.

From-SVN: r162390
2010-07-21 22:48:14 +00:00
Steven G. Kargl
6168fc435e re PR fortran/44929 ([OOP] Parsing error of derived type name starting with 'REAL')
2010-07-21  Steven G. Kargl  <kargl@gcc.gnu.org>

    PR fortran/44929
    * Revert my commit r162325 for this PR.

From-SVN: r162386
2010-07-21 22:34:07 +00:00
Jakub Jelinek
fcc71c6c35 re PR debug/45015 (ICE in cselib.c caused by fix for PR43051)
PR debug/45015
	* var-tracking.c (adjust_mems): Ignore ASM_OPERANDS with non-zero
	ASM_OPERANDS_OUTPUT_IDX.
	(adjust_insn): For inline asm with multiple sets ensure first
	ASM_OPERANDS vectors are used by all following ASM_OPERANDS in
	the insn.

	* gcc.target/m68k/pr45015.c: New test.

From-SVN: r162385
2010-07-21 21:11:55 +02:00
Richard Henderson
650b53291f Eliminate the computed goto in x64 varargs.
Use a simple test and branch vs 0 instead.  Which also allows us
to avoid funny code emission problems as well.

From-SVN: r162384
2010-07-21 11:50:02 -07:00
Jeffrey Yasskin
5634254ce5 IA64 uses // instead of # for comments in its assembly file.
PR c++/44641
	* lib/scanasm.exp (dg-function-on-line): Fix regex for IA64's
	comments.

From-SVN: r162383
2010-07-21 18:46:40 +00:00
Changpeng Fang
7c6dafac64 Fix PR 44955: Strip off the real and complex parts.
2010-07-21  Changpeng Fang  <changpeng.fang@amd.com>

	PR tree-optimization/44955
	* tree-ssa-loop-prefetch.c (analyze_ref): Strip off the real
	and imagine parts of a complex, so that they can have the same
	base and fall into the same group.

From-SVN: r162381
2010-07-21 15:44:24 +00:00
Richard Guenther
60f6be5a8e re PR lto/45018 (ICE: tree check: did not expect class 'type', have 'type' (record_type) in contains_placeholder_p, at tree.c:2749)
2010-07-21  Richard Guenther  <rguenther@suse.de>

	PR lto/45018
	* tree.c (find_decls_types_r): Do not follow TREE_CHAIN
	of TYPE_DECLs.  Do not follow TYPE_NEXT_VARIANT,
	TYPE_NEXT_PTR_TO, nor TYPE_NEXT_REF_TO or TYPE_CANONICAL.

	* g++.dg/lto/20100721-1_0.C: New testcase.

From-SVN: r162380
2010-07-21 15:09:00 +00:00
Pascal Obry
79cf762806 * make-temp-file.c (choose_tmpdir): Append a dot to P_tmpdir if needed.
From-SVN: r162379
2010-07-21 15:02:09 +00:00
Jason Merrill
31d06664e6 * tree.c (cp_tree_equal): Fix CONSTRUCTOR handling.
From-SVN: r162378
2010-07-21 10:38:12 -04:00
Jason Merrill
557165ae94 parser.c (cp_parser_init_declarator): Pass LOOKUP_NORMAL to cp_finish_decl.
* parser.c (cp_parser_init_declarator): Pass LOOKUP_NORMAL
	to cp_finish_decl.

From-SVN: r162377
2010-07-21 10:37:56 -04:00
Martin Jambor
75a75e91fd re PR tree-optimization/44900 (The variable of SSE will be broken)
2010-07-21  Martin Jambor  <mjambor@suse.cz>

	PR tree-optimization/44900
	* tree-sra.c (load_assign_lhs_subreplacements): Updated comments.
	(sra_modify_assign): Move gsi to the next statmenent unconditionally.

	* testsuite/g++.dg/torture/pr44900.C: New test.

From-SVN: r162375
2010-07-21 16:17:11 +02:00
Daniel Kraft
d74d8807cc trans.h (gfc_get_return_label): Removed.
2010-07-21  Daniel Kraft  <d@domob.eu>

	* trans.h (gfc_get_return_label): Removed.
	(gfc_generate_return): New method.
	(gfc_trans_deferred_vars): Update gfc_wrapped_block rather than
	returning a tree directly.
	* trans-stmt.c (gfc_trans_return): Use `gfc_generate_return'.
	(gfc_trans_block_construct): Update for new interface to
	`gfc_trans_deferred_vars'.
	* trans-decl.c (current_function_return_label): Removed.
	(current_procedure_symbol): New variable.
	(gfc_get_return_label): Removed.
	(gfc_trans_deferred_vars): Update gfc_wrapped_block rather than
	returning a tree directly.
	(get_proc_result), (gfc_generate_return): New methods.
	(gfc_generate_function_code): Clean up and do init/cleanup here
	also with gfc_wrapped_block.  Remove return-label but rather
	return directly.

From-SVN: r162373
2010-07-21 15:44:38 +02:00
Bernd Schmidt
426797b226 re PR middle-end/44738 (c-c++-common/uninit-17.c failed)
PR middle-end/44738
	* tree-ssa.c (warn_uninit): Avoid emitting an unnecessary message.

	PR middle-end/44738
	* c-c++-common/uninit-17.c: Correct expected error.

From-SVN: r162372
2010-07-21 12:36:44 +00:00
Richard Guenther
35e3a6e946 re PR middle-end/45013 (Failed to build 483.xalancbmk in SPEC CPU 2006)
2010-07-21  Richard Guenther  <rguenther@suse.de>

	PR middle-end/45013
	* tree-ssa.c (useless_type_conversion_p): Dispatch to
	gimple_types_compatible_p only when in lto.
	* gimple.c (gimple_types_compatible_p): Use canonical types
	to speed up comparison.

From-SVN: r162371
2010-07-21 11:45:27 +00:00
Richard Guenther
3f2930d891 tree-flow.h (referenced_var): Move define ...
2010-07-21  Richard Guenther  <rguenther@suse.de>

	* tree-flow.h (referenced_var): Move define ...
	* tree-flow-inline.h (referenced_var): ... here as an inline
	function.  Assert here ...
	* tree-dfa.c (referenced_var_lookup): ... instead of here.
	* tree-ssa.c (maybe_optimize_var): Check if the variable
	is in referenced vars.
	(execute_update_addresses_taken): Remove old broken check.
	* gimple-pretty-print.c (pp_points_to_solution): Use
	referenced_var_lookup.
	* tree-into-ssa.c (dump_decl_set): Likewise.

From-SVN: r162368
2010-07-21 09:46:11 +00:00
Jakub Jelinek
370ae5992f re PR debug/45003 (VTA issues with sign/zero extension and debug temporaries)
PR debug/45003
	* var-tracking.c (reverse_op): Also handle {SIGN,ZERO}_EXTEND of
	a MEM.
	* dwarf2out.c (loc_descriptor): Don't handle SIGN_EXTEND nor
	ZERO_EXTEND here.

	* gcc.dg/guality/pr45003-2.c: New test.
	* gcc.dg/guality/pr45003-3.c: New test.

From-SVN: r162364
2010-07-21 10:50:57 +02:00
Jakub Jelinek
a431e91330 * gcc.dg/guality/asm-1.c: New test.
From-SVN: r162363
2010-07-21 10:12:36 +02:00
Jerry DeLisle
6b2b43d844 re PR fortran/44697 (I/O testsuite failures: \r\n vs \n - gfortran.dg/ftell_3.f90)
2010-07-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/44697
	* gfortran.dg/ftell_3.f90: Take care of cr-lf record endings.

From-SVN: r162362
2010-07-21 04:20:58 +00:00
Benjamin Kosnik
7d8cafcde8 appendix_contributing.xml: Update for new reality.
2010-07-19  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/xml/manual/appendix_contributing.xml: Update for new reality.
	* doc/Makefile.am (doc-xml): New default rule for XML output.
	(doc-xml-single-doxygen): Standardize output names.
	* doc/Makefile.in: Regenerate.

	* doc/doxygen/user.cfg.in: Tweak.

From-SVN: r162361
2010-07-21 02:02:42 +00:00
GCC Administrator
eb061dfbca Daily bump.
From-SVN: r162360
2010-07-21 00:17:15 +00:00
Richard Henderson
7703295fa8 * vxworks.c (vxworks_emutls_var_fields): Pass locus to build_decls.
From-SVN: r162356
2010-07-20 16:09:58 -07:00
Bernd Schmidt
16737e76d6 arm.md (thumb1_addsi3): Add alternative and split for computing the sum of the stack pointer and a...
* config/arm/arm.md (thumb1_addsi3): Add alternative and split for
	computing the sum of the stack pointer and a large constant.
	* config/arm/constraints.md (M): Remove superfluous parentheses.
	(Pc): New constraint.

From-SVN: r162355
2010-07-20 20:50:44 +00:00
Jeffrey Yasskin
0603fe683c re PR c++/44641 (Generated constructors and destructors get wrong debug location when a typedef uses a forward declaration of the type before the definition)
PR c++/44641
        * gcc/cp/pt.c (instantiate_class_template): Propagate the
        template's location to its instance.

       	* gcc/testsuite/lib/scanasm.exp (dg-function-on-line): Test
        that a function is defined on the current line.
        * gcc/testsuite/g++.dg/debug/dwarf2/lineno-simple1.C: New.
        Line number sanity test.
        * gcc/testsuite/g++.dg/debug/dwarf2/pr44641.C: New.

From-SVN: r162349
2010-07-20 20:16:53 +00:00
Jakub Jelinek
1b47fe3fe5 re PR debug/45006 (Failed to bootstrap)
PR debug/45006
	* cfgexpand.c (expand_debug_expr): Only look at TYPE_UNSIGNED of
	operand's type if exp is tcc_unary class tree.

From-SVN: r162348
2010-07-20 20:57:14 +02:00
Jeffrey Yasskin
b0b01eb01c Add myself to MAINTAINERS.
From-SVN: r162347
2010-07-20 18:55:39 +00:00
Nathan Froyd
97c56ee3a3 rs6000.md (abs<mode>2_isel, [...]): Reverse sense of if_then_else condition.
* config/rs6000/rs6000.md (abs<mode>2_isel, nabs<mode>2_isel):
	Reverse sense of if_then_else condition.

From-SVN: r162346
2010-07-20 18:38:50 +00:00
Jason Merrill
68f7159da9 re PR c++/44967 ([C++0x] decltype of method call dependent on pack expansion crashes)
PR c++/44967
	* pt.c (tsubst_copy_and_build): Rework last change.

From-SVN: r162345
2010-07-20 14:22:34 -04:00
Nathan Froyd
d95016e0e6 rs6000.opt (mblock-move-inline-limit): New option.
gcc/
	* config/rs6000/rs6000.opt (mblock-move-inline-limit): New option.
	* config/rs6000/rs6000.c (rs6000_override_options): Set
	rs6000_block_move_inline_limit appropriately.
	(expand_block_move): Use rs6000_block_move_inline_limit.
	* doc/invoke.texi (mblock-move-inline-limit): Document.

gcc/testsuite/
	* gcc.target/powerpc/block-move-1.c: New test.
	* gcc.target/powerpc/block-move-2.c: New test.

From-SVN: r162344
2010-07-20 17:43:06 +00:00
Jason Merrill
a397bb7255 re PR c++/44967 ([C++0x] decltype of method call dependent on pack expansion crashes)
PR c++/44967
	* pt.c (tsubst_copy_and_build): Handle partial substitution of
	CALL_EXPR.

From-SVN: r162343
2010-07-20 13:34:18 -04:00
Bernd Schmidt
caa4a25077 postreload.c (fixup_debug_insns): Remove arg REGNO.
* postreload.c (fixup_debug_insns): Remove arg REGNO.  New args
	FROM and TO.  All callers changed.  Don't look for tracked uses,
	just scan the RTL for DEBUG_INSNs and substitute.
	(reload_combine_recognize_pattern): Call fixup_debug_insns.
	(reload_combine): Ignore DEBUG_INSNs.

From-SVN: r162342
2010-07-20 15:33:35 +00:00
Richard Guenther
be5fda91fb re PR lto/42696 (lto1 error with -fsigned-char and char comparison)
2010-07-20  Richard Guenther  <rguenther@suse.de>

	PR lto/42696
	* gcc.dg/lto/20100720-4_0.c: New testcase.

From-SVN: r162341
2010-07-20 15:05:59 +00:00
Richard Guenther
cf259b8462 re PR lto/43221 ([LTO] ICE in get_alias_set, at alias.c:717)
2010-07-20  Richard Guenther  <rguenther@suse.de>

	PR lto/43221
	* gcc.dg/lto/20100720-2_0.c: New testcase.
	* gcc.dg/lto/20100720-2_1.c: Likewise.

From-SVN: r162339
2010-07-20 13:06:32 +00:00
Richard Guenther
eeee47af73 re PR lto/43208 (lto1: error: invalid conversion in return statement)
2010-07-20  Richard Guenther  <rguenther@suse.de>

	PR lto/43208
	* gcc.dg/lto/20100720-1_0.c: New testcase.
	* gcc.dg/lto/20100720-1_1.c: Likewise.

From-SVN: r162338
2010-07-20 13:03:10 +00:00
Jakub Jelinek
d2d571522c var-tracking.c (vt_expand_loc, [...]): Bump maximum depth to 8 from 5.
* var-tracking.c (vt_expand_loc, vt_expand_loc_dummy): Bump maximum
	depth to 8 from 5.

From-SVN: r162337
2010-07-20 14:58:59 +02:00
Jakub Jelinek
68eaf35cdb re PR debug/45003 (VTA issues with sign/zero extension and debug temporaries)
PR debug/45003
	* cfgexpand.c (expand_debug_expr) <case NOP_EXPR>: Use ZERO_EXTEND
	or SIGN_EXTEND depending on TYPE_UNSIGNED of the operand's type
	instead of the result's type.

	* gcc.dg/guality/pr45003-1.c: New test.

From-SVN: r162336
2010-07-20 14:58:03 +02:00
Richard Guenther
720151cabd re PR tree-optimization/44977 (ice in propagate_rhs_into_lhs, at tree-ssa-dom.c:2728)
2010-07-20  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/44977
	* tree-ssa-dom.c (propagate_rhs_into_lhs): Do not create invalid
	SSA form.

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

From-SVN: r162334
2010-07-20 12:41:20 +00:00
Bingfeng Mei
cd2be65a3b 20090313_0.c: Use dg-require-effective-target sync_char_short
2010-07-20  Bingfeng Mei  <bmei@broadcom.com>

	* gcc.dg/lto/20090313_0.c: Use dg-require-effective-target
	sync_char_short

From-SVN: r162331
2010-07-20 12:20:33 +00:00
Richard Guenther
f5d6836a24 lto-symtab.c (lto_symtab_merge): Use gimple_types_compatible_p.
2010-07-20  Richard Guenther  <rguenther@suse.de>

	* lto-symtab.c (lto_symtab_merge): Use gimple_types_compatible_p.
	(lto_symtab_merge_decls_2): Likewise.
	* gimple.h (gimple_types_compatible_p): Declare.
	* gimple.c (gimple_queue_type_fixup): Remove.
	(gimple_fixup_complete_and_incomplete_subtype_p): Likewise.
	(gimple_compatible_complete_and_incomplete_type_p): New
	function.
	(gimple_types_compatible_p): Adjust.
	(gimple_register_type): Remove type fixup code.
	(print_gimple_types_stats): Adjust.
	(free_gimple_type_tables): Likewise.
	* lto-streamer-in.c (input_gimple_stmt): Use gimple_types_compatible_p.
	* tree-ssa.c (useless_type_conversion_p): Likewise.

From-SVN: r162330
2010-07-20 12:05:59 +00:00
Richard Guenther
ad650c924f re PR debug/44971 (-fcompare-debug failure with uninitialized read in walk_gimple_stmt)
2010-07-20  Richard Guenther  <rguenther@suse.de>

	PR middle-end/44971
	PR middle-end/44988
	* tree-ssa.c (maybe_optimize_var): New function split out from ...
	(execute_update_addresses_taken): ... here.
	(non_rewritable_mem_ref_base): Likewise.
	(execute_update_addresses_taken): Do not iterate over all referenced
	vars but just all local decls and parms.
	Properly check call and asm arguments and rewrite call arguments.

	* gcc.dg/pr44971.c: New testcase.
	* gcc.c-torture/compile/pr44988.c: Likewise.

From-SVN: r162329
2010-07-20 11:28:56 +00:00
Paolo Carlini
93f1d8555d [multiple changes]
2010-07-20  Paolo Carlini  <paolo.carlini@oracle.com>

	* libsupc++/unwind-cxx.h: Minor formatting / stylistic tweaks.

2010-07-20  Mikael Pettersson  <mikpe@it.uu.se>

	PR libstdc++/44902
	* libsupc++/unwind-cxx.h (__cxa_type_match): Correct prototype.
	(__cxa_begin_cleanup): Likewise.

From-SVN: r162328
2010-07-20 09:44:01 +00:00
Benjamin Kosnik
547f963b5a Makefile.am (doc-texinfo): New rule.
2010-07-19  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/Makefile.am (doc-texinfo): New rule.
	(doc-texinfo-docbook): New rule.
	(DB2TEXI_FLAGS): New.
	(doc-xml-single-docbook): Just the manual, not the set. Tweak flags.
	* doc/Makefile.in: Regenerate.

From-SVN: r162327
2010-07-20 06:43:02 +00:00
Steven G. Kargl
13411c9d4c re PR fortran/44929 ([OOP] Parsing error of derived type name starting with 'REAL')
2010-07-19  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/44929
	* gfortran.dg/allocate_with_typespec.f90: New test.
	* gfortran.dg/allocate_derived_1.f90: Update error message.

2010-07-19  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/44929
	* fortran/match.c (match_type_spec): Check for derived type before
	intrinsic types.

From-SVN: r162325
2010-07-20 04:01:32 +00:00
Jason Merrill
8145be0145 re PR c++/44996 ([C++0x] decltype produces rvalue reference type for parenthesized id-expression)
PR c++/44996
	* semantics.c (finish_decltype_type): Correct decltype
	of parenthesized rvalue reference variable.

From-SVN: r162323
2010-07-19 21:31:42 -04:00
GCC Administrator
27728d816f Daily bump.
From-SVN: r162322
2010-07-20 00:17:25 +00:00
Maxim Kuvyrkov
2c8f43e695 config.gcc (LIBC_GLIBC, [...]): Move constants to top level.
* config.gcc (LIBC_GLIBC, LIBC_UCLIBC, LIBC_BIONIC): Move constants
	to top level.
	* config/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): Move Android-specific
	definitions ...
	* config/linux-android.h (ANDROID_TARGET_OS_CPP_BUILTINS): ... here.
	New macro.
	* config/arm/linux-eabi.h (TARGET_OS_CPP_BUILTINS): Use it.

From-SVN: r162315
2010-07-19 20:05:46 +00:00
Richard Sandiford
b08e033940 gengtype.c (start_root_entry): New function, split out from write_root.
gcc/
	* gengtype.c (start_root_entry): New function, split out from
	write_root.  Check whether V is null and raise an error if so.
	(write_field_root): Check for V being null.  Don't raise an error here;
	set V to null instead.
	(write_root): Update comment above function.  Use start_root_entry.

From-SVN: r162314
2010-07-19 19:38:42 +00:00
Paul Thomas
974df0f87f re PR fortran/42385 ([OOP] poylmorphic operators do not work)
2010-07-19  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/42385
	* interface.c (matching_typebound_op): Add argument for the
	return of the generic name for the procedure.
	(build_compcall_for_operator): Add an argument for the generic
	name of an operator procedure and supply it to the expression.
	(gfc_extend_expr, gfc_extend_assign): Use the generic name in
	calls to the above procedures.
	* resolve.c (resolve_typebound_function): Catch procedure
	component calls for CLASS objects, check that the vtable is
	complete and insert the $vptr and procedure components, to make
	the call.
	(resolve_typebound_function): The same.
	* trans-decl.c (gfc_trans_deferred_vars): Do not deallocate
	an allocatable scalar if it is a result.


2010-07-19  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/42385
	* gfortran.dg/class_defined_operator_1.f03 : New test.

From-SVN: r162313
2010-07-19 18:48:44 +00:00
Peter Bergner
be30e7b23d slp-perm-1.c (main): Make sure loops aren't vectorized.
* gcc.dg/vect/slp-perm-1.c (main): Make sure loops aren't vectorized.
	* gcc.dg/vect/slp-perm-2.c (main): Likewise.
	* gcc.dg/vect/slp-perm-3.c (main): Likewise.  Fix loop limit.
	* gcc.dg/vect/slp-perm-4.c (main): Fix loop limit.

From-SVN: r162311
2010-07-19 12:32:19 -05:00
Xinliang David Li
e74780a3dd Fix PR44932
From-SVN: r162310
2010-07-19 16:32:57 +00:00