97060 Commits

Author SHA1 Message Date
Martin Jambor
09f0dc451d re PR tree-optimization/42154 (Wrong code from (early) SRA)
2009-11-24  Martin Jambor  <mjambor@suse.cz>

	PR tree-optimization/42154
	* tree-sra.c (struct access): Added comments.
	(sra_modify_expr): Build references to the old aggregate with
	build_ref_for_offset instead of reusing access->expr.
	(load_assign_lhs_subreplacements): Likewise.

	* testsuite/gcc.c-torture/execute/pr42154.c: New test.

From-SVN: r154493
2009-11-24 11:56:14 +01:00
Janus Weil
6c03662614 re PR fortran/42045 ([F03] passing a procedure pointer component to a procedure pointer dummy)
2009-11-24  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/42045
	* resolve.c (resolve_actual_arglist): Make sure procedure pointer
	actual arguments are resolved correctly.
	(resolve_function): An EXPR_FUNCTION which is a procedure pointer
	component, has already been resolved.
	(resolve_fl_derived): Procedure pointer components should not be
	implicitly typed.

2009-11-24  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/42045
	* gfortran.dg/proc_ptr_comp_2.f90: Correct invalid test case.
	* gfortran.dg/proc_ptr_comp_3.f90: Extended test case.
	* gfortran.dg/proc_ptr_comp_24.f90: New.

From-SVN: r154492
2009-11-24 09:16:32 +01:00
Andy Hutchinson
aa62c18876 * gcc.c-torture/execute/pr40404.c: Use long for bitfield on 16bit int targets.
From-SVN: r154487
2009-11-24 01:22:52 +00:00
GCC Administrator
a67a5c0297 Daily bump.
From-SVN: r154485
2009-11-24 00:16:49 +00:00
Andy Hutchinson
939aa29f00 * gcc-dg/Wtype-limits.c: Add line to correct line numbers.
From-SVN: r154482
2009-11-23 23:46:19 +00:00
Uros Bizjak
c84f404273 i386.md (add<mode>3_carry): Change insn pattern to expander.
* config/i386/i386.md (add<mode>3_carry): Change insn pattern
        to expander.
        (sub<mode>3_carry): Ditto.
        (x86_mov<mode>cc_0_m1): Ditto.
        (*add<mode>3_carry): New insn pattern. Use VOIDmode match_operator
        for ix86_carry_flag_operator operator predicate.
        (*sub<mode>3_carry): Ditto.
        (*x86_mov<mode>cc_0_m1): Ditto.
        (*addsi3_carry_zext): Use VOIDmode match_operator for
        ix86_carry_flag_operator operator predicate.
        (*subsi3_carry_zext): Ditto.
        (*x86_mov<mode>cc_0_m1_s): Ditto.
        (*x86_mov<mode>cc_0_m1_neg): Ditto.
        * config/i386/predocates.md (ix86_carry_flag_operator): Do not
        check operator sub-expressions for FLAGS_REG and const0_rtx.
        * config/i386/i386.c (*ix86_gen_sub3_carry): Update prototype.
        (ix86_expand_int_movcc): Update calls to gen_x86_mov{si,di}cc_0_m1.
        (ix86_expand_int_addcc): Update calls to
        gen_{add,sub}{qi,hi,si,di}3_carry.  Do not set mode of compare_op.
        (ix86_expand_strlensi_unroll_1): Update calls to ix86_gen_sub3_carry.
        Do not set mode of compare operation.

From-SVN: r154480
2009-11-24 00:18:02 +01:00
H.J. Lu
ecd883d483 re PR testsuite/42086 (FAIL: gcc.target/ia64/fptr-1.c execution test)
2009-11-23  H.J. Lu  <hongjiu.lu@intel.com>

	PR testsuite/42086
	* gcc.target/ia64/fptr-1.c: Make it a compile test.

From-SVN: r154478
2009-11-23 14:55:54 -08:00
Janis Johnson
da60b46b23 lto.exp (lto_option_list): Rename from option_list.
* lib/lto.exp (lto_option_list): Rename from option_list.
	* lib/compat.exp (compat_option_list): Rename from option_list.

From-SVN: r154477
2009-11-23 22:49:20 +00:00
Andy Hutchinson
3d0cc4ae1a raw-string-1.c: Require-effective-target wchar.
* gcc-dg/raw-string-1.c: Require-effective-target wchar.
* gcc-dg/raw-string-2.c: Ditto.
* gcc-dg/utf-array-short-wchar.c: Ditto.
* gcc-dg/utf-array.c: Ditto.
* gcc-dg/utf8-2.c: Ditto.

From-SVN: r154476
2009-11-23 22:40:18 +00:00
Jan Hubicka
cefdbe2fe9 re PR middle-end/42151 (verify_cgraph_node failed with -O3 -Winline)
PR middle-end/42151
	* ipa-inline.c (inline_transform): Avoid ICE when transform is called
	twice.

From-SVN: r154475
2009-11-23 22:27:15 +00:00
Andy Hutchinson
83a4e6e992 * gcc.dg/torture/pr37868.c: Use smaller bitfield for 16bit int targets.
From-SVN: r154474
2009-11-23 22:21:21 +00:00
Andy Hutchinson
dc8926ce36 * gcc.dg/tree-ssa/pr33920.c: Remove warning check for 16 bit targets.
From-SVN: r154473
2009-11-23 22:17:21 +00:00
Andy Hutchinson
1ba1aa534c * gcc-dg/Wtype-limits.c: Remove XFAIL for avr target.
From-SVN: r154472
2009-11-23 22:14:25 +00:00
Andy Hutchinson
0422d54667 re PR c/36470 (sizeof UTF-32 is 2 on AVR)
PR testsuite/36470
* gcc.dg/utf-cvt.c: Skip int test for 16bit int targets.
Enable short test for avr target.
* gcc.dg/utf32-1.c: Enable test for avr and m32 targets.
* gcc.dg/utf32-2.c: Ditto.
* gcc.dg/utf32-3.c: Ditto.
* gcc.dg/utf32-4.c: Enable test for non-32bit targets.

From-SVN: r154471
2009-11-23 22:10:18 +00:00
Andy Hutchinson
c806393f02 * gcc.dg/tree-ssa/asmgoto-1.c: Suppress warnings.
From-SVN: r154470
2009-11-23 21:57:11 +00:00
Andy Hutchinson
7f557ec7a2 * gcc.c-torture/execute/ipa-sra-2.x: New. Skip test for 16bit targets.
From-SVN: r154469
2009-11-23 21:50:27 +00:00
Andy Hutchinson
08915830e8 sms-6.c: Use long for 16 bit int targets.
* gcc.dg/sms-6.c: Use long for 16 bit int targets.
* gcc.dg/sms-7.c: Ditto.

From-SVN: r154468
2009-11-23 21:43:22 +00:00
Andy Hutchinson
fb64cb7c3a pr36998.c: Frame pointer required for avr target.
* gcc.dg/pr36998.c: Frame pointer required for avr target.
* gcc.dg/debug/pr41264-1.c: Use long if int size 16bit or smaller.
* gcc.dg/pr39226.c: Use smaller bitfield if int size is 16bit.
* gcc.dg/pr41340.c: Test requires long pointer target.
* gcc.dg/profile-generate-3.c: Test requires profiling support.

From-SVN: r154467
2009-11-23 21:38:32 +00:00
Andy Hutchinson
04f3ccd55a block-1.c: Require 32-bit or larger array support.
* gcc.dg/graphite/block-1.c: Require 32-bit or larger array support.
* gcc.dg/graphite/block-3.c: Ditto.
* gcc.dg/graphite/block-4.c: Ditto.
* gcc.dg/graphite/block-5.c: Ditto.
* gcc.dg/graphite/block-6.c: Ditto.
* gcc.dg/graphite/interchange-0.c: Ditto.
* gcc.dg/graphite/interchange-1.c: Ditto.
* gcc.dg/graphite/interchange-2.c: Ditto.
* gcc.dg/graphite/interchange-3.c: Ditto.
* gcc.dg/graphite/interchange-4.c: Ditto.
* gcc.dg/graphite/interchange-5.c: Ditto.
* gcc.dg/graphite/interchange-6.c: Ditto.
* gcc.dg/graphite/run-id-1.c: Ditto.
* gcc.dg/graphite/scop-16.c: Ditto.
* gcc.dg/graphite/scop-17.c: Ditto.
* gcc.dg/graphite/scop-18.c: Ditto.
* gcc.dg/graphite/scop-matmult.c: Ditto.
* gcc.dg/graphite/pr40157.c: Require 32bit or larger int.
* gcc.dg/graphite/id-15.c: Ditto.

From-SVN: r154466
2009-11-23 21:34:15 +00:00
Jan Hubicka
43558bcc9d ipa-cp.c (ipcp_compute_node_scale): Work around completely wrong profile updates.
* ipa-cp.c (ipcp_compute_node_scale): Work around completely
	wrong profile updates.
	* predict.c (counts_to_freqs): Be expected for ENTRY/EXIT block
	having largest frequency.
	* ira-live.c (ira_implicitly_set_insn_hard_regs): Silecne
	used uninitalized warning.
	* tree-optimize.c (execute_fixup_cfg): Rescale entry and exit block
	frequencies.

From-SVN: r154462
2009-11-23 20:01:29 +00:00
Eric Botcazou
bf92569441 Fix nits
From-SVN: r154459
2009-11-23 19:14:59 +00:00
Eric Botcazou
4405947961 decl.c (gnat_to_gnu_entity): Pass the list of attributes when building the corresponding variable of a constant.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Pass the list
	of attributes when building the corresponding variable of a constant.
	* gcc-interface/utils.c (create_var_decl_1): Do not process attributes
	for constants.

From-SVN: r154458
2009-11-23 18:55:50 +00:00
Steve Ellcey
c5b966389e inline2.c: Modify scan.
2009-11-23  Steve Ellcey  <sje@cup.hp.com>

	* gcc.dg/debug/dwarf2/inline2.c: Modify scan.

From-SVN: r154456
2009-11-23 17:05:41 +00:00
Uros Bizjak
e0d909dba9 alpha.md (*cmp_sadd_sidi): Use gen_lowpart instead of gen_rtx_REG to generate operand 5.
* config/alpha/alpha.md (*cmp_sadd_sidi): Use gen_lowpart instead
	of gen_rtx_REG to generate operand 5.
	(*cmp_ssub_sidi): Ditto.

From-SVN: r154455
2009-11-23 17:59:47 +01:00
Richard Henderson
2f951ef47f i386.c (avx_vpermilp_parallel): Fix sign compare mismatch.
* config/i386/i386.c (avx_vpermilp_parallel): Fix sign compare
        mismatch.

From-SVN: r154451
2009-11-23 08:12:06 -08:00
Jakub Jelinek
87501227a9 re PR middle-end/42095 (g++.dg/lto/20081118-1 cp_lto_20081118-1_0.o-cp_lto_20081118-1_1.o link)
PR middle-end/42095
	* tree.c: Include cgraph.h.
	(cp_fix_function_decl_p): Don't return true for same_body aliases.
	* Make-lang.in (cp/tree.o): Depend on $(CGRAPH_H).

From-SVN: r154449
2009-11-23 17:10:19 +01:00
Eric Botcazou
a7194bfea9 re PR ada/42153 (s-osinte.adb:46:21: missing body for "To_Duration" declared at s-osinte.ads:216)
2009-11-23  Eric Botcazou  <ebotcazou@adacore.com>
            Laurent GUERBY  <laurent@guerby.net>

	PR ada/42153
        * s-osinte-linux.ads (struct_timeval): Delete.
        * s-osinte-hpux.ads (struct_timeval, To_Duration, To_Timeval): 
        Delete.
        * s-osinte-kfreebsd-gnu.ads: Likewise.
        * s-osinte-rtems.ads: Likewise.
        * s-osinte-aix.ads: Likewise.
        * s-osinte-hpux-dce.ads: Likewise.
        * s-osinte-darwin.ads: Likewise.
        * s-osinte-solaris-posix.ads: Likewise.
        * s-osinte-irix.ads: Likewise.
        * s-osinte-solaris.ads: Likewise.
        * s-osinte-hpux-dce.adb (To_Duration, To_Timeval): Delete.
        * s-osinte-irix.adb: Likewise.
        * s-osinte-solaris.adb: Likewise.
        * s-osinte-rtems.adb: Likewise. Minor reformatting.
        * s-osinte-aix.adb (To_Duration, To_Timeval): Delete.
        (clock_gettime): Use cal.c timeval_to_duration.
        * s-osinte-darwin.adb: Likewise.


Co-Authored-By: Laurent GUERBY <laurent@guerby.net>

From-SVN: r154446
2009-11-23 14:56:58 +00:00
Dodji Seketeli
aa373032bf re PR c++/14777 (typedef doesn't fully expose base class type)
Fix PR c++/14777

gcc/cp/ChangeLog:

	PR c++/14777
	* cp-tree.def <TEMPLATE_INFO>: Declare new kind of tree
	node.
	* cp-tree.h (struct tree_template_info,
	struct qualified_typedef_usage_s): New.
	(cp_tree_node_structure_enum): add TS_CP_TEMPLATE_INFO.
	(union lang_tree_node): Add template_info.
	(TI_TEMPLATE, TI_ARGS, TI_TYPEDEFS_NEEDING_ACCESS_CHECKING):
	Adjust.
	(build_template_info): Declare.
	(get_types_needing_access_check): Adjust return type.
	(add_typedef_to_current_template_for_access_check): Declare.
	* cp-objcp-common.c (cp_tree_size): Handle TEMPLATE_INFO.
	* semantics.c (add_typedef_to_current_template_for_access_check):
	Split from ...
	(check_accessibility_of_qualified_id): ... here.
	* decl.c (make_typename_type): Use it.
	* pt.c (build_template_info): Define.
	(check_explicit_specialization, find_parameter_packs_r,
	push_template_decl_real, lookup_template_class,
	for_each_template_parm_r, tsubst_decl, tsubst): Use
	build_template_info.
	(get_types_needing_access_check): Adjust return type.
	(append_type_to_template_for_access_check_1): Record the
	location of the usage point of the typedef. Adjust to TEMPLATE_INFO.
	(append_type_to_template_for_access_check): Add new location
	parameter. Pass it to append_type_to_template_for_access_check_1.
	Adjust to TEMPLATE_INFO.
	(perform_typedefs_access_check): Temporarily set input_location to
	the usage point of the typedef we are checking access for. Adjust
	to new TEMPLATE_INFO tree node.
	* tree.c (bind_template_template_parm): Use build_template_info.
	* call.c (add_template_candidate_real): Likewise.
	* decl.c (grokfndecl): Likewise.
	(cp_tree_node_structure): Handle TEMPLATE_INFO.

gcc/testsuite/ChangeLog:

	PR c++/14777
	* g++.dg/template/typedef13.C: Adjust.
	* g++.dg/template/typedef19.C: Adjust.
	* g++.dg/template/typedef20.C: Adjust.
	* g++.dg/template/typedef22.C: New test.

From-SVN: r154443
2009-11-23 14:29:50 +01:00
Rainer Orth
75d05d2ab7 * adaint.h: Assume large file support on IRIX only if _LFAPI.
From-SVN: r154442
2009-11-23 13:19:14 +00:00
Paul Brook
1586899ee9 arm.c (arm_compute_save_reg0_reg12_mask): Add special case for noreturn functions.
2009-11-23  Paul Brook  <paul@codesourcery.com>

	gcc/
	* config/arm/arm.c (arm_compute_save_reg0_reg12_mask): Add special
	case for noreturn functions.
	(arm_compute_save_reg_mask): Remove special noreturn handling.

From-SVN: r154441
2009-11-23 13:03:28 +00:00
Richard Guenther
0230277c25 tree-dfa.c (get_ref_base_and_extent): Adjust maximum access size for DECL bases.
2009-11-23  Richard Guenther  <rguenther@suse.de>

	* tree-dfa.c (get_ref_base_and_extent): Adjust maximum access
	size for DECL bases.

From-SVN: r154433
2009-11-23 10:44:17 +00:00
Ben Elliston
5120dc389f pex-unix.c (pex_child_error): Improve warning avoidance by checking the results of write(3) and exiting with...
* pex-unix.c (pex_child_error): Improve warning avoidance by
	checking the results of write(3) and exiting with -2 if any write
	returns a negative value.

Co-Authored-By: Ian Lance Taylor <iant@google.com>

From-SVN: r154431
2009-11-23 15:42:32 +11:00
GCC Administrator
5154a159df Daily bump.
From-SVN: r154430
2009-11-23 00:16:51 +00:00
Richard Henderson
8a67ca92a1 i386.c (avx_vpermilp_parallel): New function.
* i386.c (avx_vpermilp_parallel): New function.
	* i386-protos.h: Declare it.
	* predicates.md (avx_vpermilp_v8sf_operand, avx_vpermilp_v4df_operand,
	avx_vpermilp_v4sf_operand, avx_vpermilp_v2df_operand): New.
	* sse.md (AVXMODEFDP, AVXMODEFSP): New iterators.
	(ssescalarnum, ssedoublesizemode): Add AVX modes.
	(vpermilbits): Remove.
	(avx_vpermil<mode>): Change insns to expanders.
	(*avx_vpermil<mode>): New.  Use vec_select.

From-SVN: r154427
2009-11-22 16:01:47 -08:00
Steve Ward
d90a2c59eb dyn-string.c (dyn_string_append_char): Fix typo in comment.
2009-11-22  Steve Ward  <planet36@gmail.com>

	* dyn-string.c (dyn_string_append_char): Fix typo in comment.

From-SVN: r154425
2009-11-22 15:48:42 +00:00
Richard Earnshaw
4de29d8fb4 opts.c (decode_options): Don't enable flag_schedule_insns when optimizing for size.
* opts.c (decode_options): Don't enable flag_schedule_insns 
	when optimizing for size.
	* doc/invoke.texi: Document change.

From-SVN: r154424
2009-11-22 15:09:12 +00:00
Uros Bizjak
7e82354a00 re PR target/42113 (Internal Compiler error with -O3, breaking commit known)
PR target/42113
	* config/alpha/alpha.md (*cmp_sadd_si): Change mode
	of scratch register to SImode.
	(*cmp_sadd_sidi): Ditto.
	(*cmp_ssub_si): Ditto.
	(*cmp_ssub_sidi): Ditto.

testsuite/ChangeLog:

	PR target/42113
	* gcc.target/alpha/pr42113.c: New test.

From-SVN: r154423
2009-11-22 10:30:50 +01:00
Ian Lance Taylor
ed2eaa9f6e configure.ac: Change default of poststage1_ldflags to be empty if poststage1_libs is set.
./:	* configure.ac: Change default of poststage1_ldflags to be empty if
	poststage1_libs is set.  When poststage1_libs is empty, and
	ENABLE_BUILD_WITH_CXX is set, add -static-libgcc.
	* configure: Rebuild.
gcc/:
	* Makefile.in (HOST_LIBS): Move higher in file.
	(LINKER, LINKER_FLAGS): If ENABLE_BUILD_WITH_CXX, but $(HOST_LIBS)
	is not empty, set to $(CC) and $(CFLAGS).

From-SVN: r154422
2009-11-22 04:25:56 +00:00
Jerry DeLisle
44e7958586 re PR fortran/41807 (data statement with nested type constructors)
2009-11-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/41807
	* trans-const.c (gfc_conv_const): Fix typo in comment. Replace assert
	with error message if not constant.
	* resolve.c (next_data_value): Delete check for constant.

From-SVN: r154420
2009-11-22 02:06:26 +00:00
Jerry DeLisle
27bcaf0476 re PR fortran/41807 (data statement with nested type constructors)
2009-11-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/41807
	* gfortran.dg/data_value_1.f90: Update test.
	* gfortran.dg/array_constructor_32.f90: New test.

From-SVN: r154419
2009-11-22 02:05:12 +00:00
Jerry DeLisle
9d3d3f1078 trans-const.c (gfc_conv_const): Fix typo in comment.
2009-11-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	* trans-const.c (gfc_conv_const): Fix typo in comment. Replace assert
	with error message if not constant.
	* resolve.c (next_data_value): Delete check for constant.

From-SVN: r154418
2009-11-22 01:59:16 +00:00
GCC Administrator
fd829514a5 Daily bump.
From-SVN: r154417
2009-11-22 00:16:42 +00:00
Martin Jambor
cc12e76082 tree-cfg.c (verify_types_in_gimple_reference): Error out on V_C_E of an SSA_NAME or an invariant if lvalue is required.
2009-11-22  Martin Jambor  <mjambor@suse.cz>

	* tree-cfg.c (verify_types_in_gimple_reference): Error out on
	V_C_E of an SSA_NAME or an invariant if lvalue is required.
	(verify_gimple_call): Verify LHS also with with
	verify_types_in_gimple_reference.

From-SVN: r154414
2009-11-22 00:05:13 +01:00
Martin Jambor
c6a2c25d12 re PR middle-end/42025 (ICE verify_stmts failed (non-trivial conversion at assignment))
2009-11-21  Martin Jambor  <mjambor@suse.cz>

	PR middle-end/42025
	* tree-sra.c (access_precludes_ipa_sra_p): New function.
	(splice_param_accesses): Check all accesses by calling
	access_precludes_ipa_sra_p.
	(sra_ipa_modify_expr): Rename argument erite to dont_convert and do
	not convert types if it is true.
	(sra_ipa_modify_assign): Convert types in case of mismatch.

	* testsuite/gcc.c-torture/compile/pr42025-1.c: New test.
	* testsuite/gcc.c-torture/compile/pr42025-2.c: New test.

From-SVN: r154413
2009-11-21 23:56:36 +01:00
Kaushik Phatak
bcd9e00d09 sh.md (cmpeqsi_t-1): Use logical_operand predicate for operand 1.
* config/sh/sh.md (cmpeqsi_t-1): Use logical_operand predicate
	for operand 1.

From-SVN: r154412
2009-11-21 22:51:07 +00:00
Adam Nemet
583467831d * MAINTAINERS (Write After Approval): Update my email address.
From-SVN: r154411
2009-11-21 20:07:10 +00:00
Adam Nemet
a3c7bb26ea mips-protos.h (mulsidi3_gen_fn): New typedef.
* config/mips/mips-protos.h (mulsidi3_gen_fn): New typedef.
	(mips_mulsidi3_gen_fn): Declare new function.
	* config/mips/mips.c (mips_mulsidi3_gen_fn): New function.
	* config/mips/mips.md (<u>mulsidi3): Change condition to use
	mips_mulsidi3_gen_fn.  Use mips_mulsidi3_gen_fn to generate the
	insn.
	(<u>mulsidi3_64bit): Don't match for ISA_HAS_DMUL3.
	(mulsidi3_64bit_dmul): New define_insn.

testsuite/
	* gcc.target/mips/mult-1.c: Forbid octeon.
	* gcc.target/mips/octeon-dmul-3.c: New test.

From-SVN: r154410
2009-11-21 19:25:35 +00:00
Andy Hutchinson
36fd5b872b Nit.
From-SVN: r154409
2009-11-21 18:14:31 +00:00
Eric Botcazou
435697aae7 s-osinte-linux.ads (struct_timeval, [...]): Delete.
2009-11-21  Eric Botcazou  <ebotcazou@adacore.com>
            Laurent GUERBY  <laurent@guerby.net>

        * s-osinte-linux.ads (struct_timeval, To_Duration, To_Timeval,
        gettimeofday): Delete.
        * s-osinte-posix.adb (To_Duration, To_Timeval): Delete.
        * s-osprim-posix.adb (struct_timezone, struct_timeval, 
        gettimeofday): Delete.
        (Clock): Use cal.c timeval_to_duration.
        * s-taprop-linux.adb (Monotonic_Clock): Likewise.


Co-Authored-By: Laurent GUERBY <laurent@guerby.net>

From-SVN: r154407
2009-11-21 12:01:11 +00:00
Ben Elliston
e81f2ecf58 gengtype-lex.l: Enable noinput flex option.
* gengtype-lex.l: Enable noinput flex option.
	(YY_NO_INPUT): Remove define.

From-SVN: r154406
2009-11-21 21:24:25 +11:00