gcc.git
13 years agoipa-inline-transform.c (inline_transform): Fix previous change.
Richard Guenther [Tue, 21 Jun 2011 12:07:19 +0000 (12:07 +0000)]
ipa-inline-transform.c (inline_transform): Fix previous change.

2011-06-21  Richard Guenther  <rguenther@suse.de>

* ipa-inline-transform.c (inline_transform): Fix previous
change.

From-SVN: r175256

13 years agore PR tree-optimization/49478 (ice in expand_widen_pattern_expr with -O3)
Ira Rosen [Tue, 21 Jun 2011 11:58:33 +0000 (11:58 +0000)]
re PR tree-optimization/49478 (ice in expand_widen_pattern_expr with -O3)

        PR tree-optimization/49478
        * tree-vect-loop.c (vectorizable_reduction): Handle DOT_PROD_EXPR
        with constant operand.

From-SVN: r175255

13 years agoipa-inline-transform.c (inline_transform): Fix typo.
Richard Guenther [Tue, 21 Jun 2011 11:13:08 +0000 (11:13 +0000)]
ipa-inline-transform.c (inline_transform): Fix typo.

2011-06-21  Richard Guenther  <rguenther@suse.de>

* ipa-inline-transform.c (inline_transform): Fix typo.

From-SVN: r175253

13 years agore PR tree-optimization/49483 (unable to vectorize code equivalent to "scalbnf")
Richard Guenther [Tue, 21 Jun 2011 11:02:38 +0000 (11:02 +0000)]
re PR tree-optimization/49483 (unable to vectorize code equivalent to "scalbnf")

2011-06-21  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/49483
* tree-vect-stmts.c (vectorizable_assignment): Also handle
VIEW_CONVERT_EXPR conversions.

* gcc.dg/vect/vect-120.c: New testcase.

From-SVN: r175252

13 years agogcc.pot: Regenerate.
Joseph Myers [Tue, 21 Jun 2011 10:33:57 +0000 (11:33 +0100)]
gcc.pot: Regenerate.

gcc/po:
* gcc.pot: Regenerate.

libcpp/po:
* cpplib.pot: Regenerate.

From-SVN: r175251

13 years agoFixed several pathnames to be relative to gcc/testsuite.
Rainer Orth [Tue, 21 Jun 2011 10:32:38 +0000 (10:32 +0000)]
Fixed several pathnames to be relative to gcc/testsuite.

From-SVN: r175250

13 years agogcc_update (gcc/config/avr/avr-tables.opt): New dependencies.
Joseph Myers [Tue, 21 Jun 2011 10:22:19 +0000 (11:22 +0100)]
gcc_update (gcc/config/avr/avr-tables.opt): New dependencies.

contrib:
* gcc_update (gcc/config/avr/avr-tables.opt): New dependencies.

gcc:
* config/avr/avr-mcus.def, config/avr/genopt.sh: New files.
* config/avr/avr-tables.opt: New file (generated).
* config.gcc (avr-*-*): Use avr/avr-tables.opt.
* config/avr/avr-devices.c (avr_mcu_types): Move contents to
avr-mcus.def.
* config/avr/avr.c (avr_help, TARGET_HELP): Remove.
(avr_option_override): Don't process -mmcu= argument here.  Set
avr_current_device using avr_mcu_index.
(avr_file_start): Use avr_current_device->name instead of
avr_mcu_name.
* config/avr/avr.opt (mmcu=): Use Enum.
* config/avr/t-avr (avr-devices.o): Update dependencies.
($(srcdir)/config/avr/avr-tables.opt): New.
* target.def (help): Remove.
* doc/tm.texi.in (TARGET_HELP): Remove.
* doc/tm.texi: Regenerate.
* opts.c: Don't include target.h.
(common_handle_option): Don't call targetm.help.
* system.h (TARGET_HELP): Poison.
* Makefile.in (opts.o): Update dependencies.

From-SVN: r175248

13 years agore PR testsuite/49443 (gcc.dg/vect/vect-peel-3.c and vect-peel-4.c fail on IA64 after...
Ira Rosen [Tue, 21 Jun 2011 09:01:23 +0000 (09:01 +0000)]
re PR testsuite/49443 (gcc.dg/vect/vect-peel-3.c and vect-peel-4.c fail on IA64 after testsuite change)

        PR testsuite/49443
        * gcc.dg/vect/vect-peel-3.c: Expect to fail on vect_no_align
        targets.
        * gcc.dg/vect/vect-peel-4.c: Likewise.

From-SVN: r175246

13 years agousegld.h: New file.
Rainer Orth [Tue, 21 Jun 2011 08:53:06 +0000 (08:53 +0000)]
usegld.h: New file.

* config/usegld.h: New file.
* config/sol2.h (PREFERRED_DEBUGGING_TYPE): Remove.
(CPP_SUBTARGET_SPEC): Remove -compat-bsd support.
(LIB_SPEC): Likewise.
Search /lib.
(LINK_ARCH32_SPEC_BASE): Remove -compat-bsd support.
(RDYNAMIC_SPEC): Handle GNU ld.
[HAVE_LD_EH_FRAME_HDR && TARGET_DL_ITERATE_PHDR] (LINK_EH_SPEC): Define.
(SUPPORTS_INIT_PRIORITY): Only disable for Sun ld.
(SUBTARGET_INSERT_ATTRIBUTES, SUBTARGET_ATTRIBUTE_TABLE): Define.
[!USE_GAS] (NO_DBX_BNSYM_ENSYM): Redefine.
(STACK_CHECK_STATIC_BUILTIN): Define.
* config/sol2.opt (compat-bsd): Remove.
* config/sol2-10.h (TARGET_C99_FUNCTIONS): Remove undef.
* config/sol2-bi.h: New file.
* config/sol2-gld.h: Remove.
* config/i386/sol2.h (TLS_COMMON_ASM_OP): Only define if !USE_GAS.
(NO_DBX_BNSYM_ENSYM): Remove.
(SUBTARGET_INSERT_ATTRIBUTES, SUBTARGET_ATTRIBUTE_TABLE): Remove.
(STACK_CHECK_STATIC_BUILTIN): Remove.
Test USE_GLD instead of TARGET_GNU_LD.
* config/i386/sol2-10.h: Rename to ...
* config/i386/sol2-bi.h .. this.
(SUBTARGET_EXTRA_SPECS): Redefine.
(WCHAR_TYPE, WCHAR_TYPE_SIZE, WINT_TYPE, WINT_TYPE_SIZE): Remove.
(MULTILIB_DEFAULTS): Remove.
(DEFAULT_ARCH32_P): Define.
(LINK_ARCH64_SPEC_BASE, LINK_ARCH64_SPEC): Remove.
(ARCH64_SUBDIR): Define.
Test USE_GLD instead of TARGET_GNU_LD.
(I386_EMULATION): Rename to ...
(ARCH32_EMULATION): ... this.
(X86_64_EMULATION): Rename to ...
(ARCH64_EMULATION): ... this.
(TARGET_LD_EMULATION): Remove.
(LINK_ARCH_SPEC): Remove.
* config/i386/sol2-gas.h: Remove.
* config/i386/t-sol2-10: Rename to ...
* config/i386/t-sol2-64: ... this.
* config/sparc/sol2.h (SPARC_DEFAULT_CMODEL): Redefine.
(AS_SPARC64_FLAG): Define.
(ASM_CPU32_DEFAULT_SPEC, ASM_CPU64_DEFAULT_SPEC): Redefine.
(CPP_CPU64_DEFAULT_SPEC, ASM_CPU32_DEFAULT_SPEC): Redefine
depending on TARGET_CPU_DEFAULT.
(CPP_CPU_SPEC): Redefine.
(ASM_CPU_SPEC): Handle DEFAULT_ARCH32_P.
(CPP_CPU_DEFAULT_SPEC, ASM_CPU_DEFAULT_SPEC): Redefine.
(CPP_ARCH32_SPEC, CPP_ARCH64_SPEC, CPP_ARCH_SPEC): Redefine.
(ASM_ARCH_SPEC, ASM_ARCH32_SPEC, ASM_ARCH64_SPEC,
ASM_ARCH_DEFAULT_SPEC): Redefine.
(SUBTARGET_EXTRA_SPECS): Add LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
LINK_ARCH_DEFAULT_SPEC.
[USE_GLD] (ARCH32_EMULATION, ARCH64_EMULATION): Define.
[USE_GLD] (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC): Redefine.
(ARCH64_SUBDIR): Define.
(LINK_ARCH64_SPEC): Redefine.
(CC1_SPEC): Redefine.
(OPTION_DEFAULT_SPECS): Redefine.
(MULTILIB_DEFAULTS): Define.
(WCHAR_TYPE, WCHAR_TYPE_SIZE, WINT_TYPE, WINT_TYPE_SIZE): Redefine.
[USE_GAS && HAVE_AS_TLS] (TARGET_SUN_TLS, TARGET_GNU_TLS): Redefine.
[USE_GLD] (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Undef.
(NO_DBX_BNSYM_ENSYM): Remove.
(SUBTARGET_INSERT_ATTRIBUTES, SUBTARGET_ATTRIBUTE_TABLE): Remove.
(ASM_OUTPUT_ALIGN_WITH_NOP): Only define if !USE_GAS.
(TARGET_ASM_NAMED_SECTION): Likewise.
(STACK_CHECK_STATIC_BUILTIN): Remove.
* config/sparc/sol2-bi.h: Remove.
* config/sparc/sol2-gas-bi.h: Remove.
* config/sparc/sol2-gas.h: Remove.
* config/sparc/sol2-gld-bi.h: Remove.
* config.gcc (i[34567]86-*-solaris2*, sparc*-*-solaris2*): Move
common parts ...
(*-*-solaris2*): ... here.

From-SVN: r175245

13 years agoRemove >>>> marker.
Jakub Jelinek [Tue, 21 Jun 2011 08:15:36 +0000 (10:15 +0200)]
Remove >>>> marker.

From-SVN: r175243

13 years agoPR middle-end/49139 fix always_inline diagnostics
Christian Bruel [Tue, 21 Jun 2011 06:48:45 +0000 (08:48 +0200)]
PR middle-end/49139 fix always_inline diagnostics

From-SVN: r175242

13 years agoPR middle-end/49139 PR other/43564 make sure the inline function is inlined
Christian Bruel [Tue, 21 Jun 2011 06:45:05 +0000 (08:45 +0200)]
PR middle-end/49139 PR other/43564 make sure the inline function is inlined

From-SVN: r175241

13 years agoPR middle-end/49139 fix always_inline diagnostics
Christian Bruel [Tue, 21 Jun 2011 06:43:26 +0000 (08:43 +0200)]
PR middle-end/49139 fix always_inline diagnostics

From-SVN: r175240

13 years agoPR middle-end/49139 fix always_inline diagnostics
Christian Bruel [Tue, 21 Jun 2011 06:42:05 +0000 (08:42 +0200)]
PR middle-end/49139 fix always_inline diagnostics

From-SVN: r175239

13 years agoMakefile.in (dg_target_exps): Set.
Jakub Jelinek [Tue, 21 Jun 2011 06:27:35 +0000 (08:27 +0200)]
Makefile.in (dg_target_exps): Set.

* Makefile.in (dg_target_exps): Set.
(check_gcc_parallelize): Parallelize gcc testing into 10 jobs
instead of 7, try to divide it more evenly.

* Make-lang.in (check_gfortran_parallelize): Parallelize dg.exp
into 6 jobs instead of 3.

* testsuite/Makefile.am (check_DEJAGNU_normal_targets): Add
check-DEJAGNUnormal[4-9].
(check-DEJAGNU): Split into 10 jobs for parallel testing instead of 4.
* testsuite/Makefile.in: Regenerated.

From-SVN: r175238

13 years agore PR c++/49216 ([C++0x] ICE on compiling new-expression with braced-init-list for...
Jason Merrill [Tue, 21 Jun 2011 02:24:17 +0000 (22:24 -0400)]
re PR c++/49216 ([C++0x] ICE on compiling new-expression with braced-init-list for arrays)

PR c++/49216
* init.c (build_vec_init): Don't try to use a CONSTRUCTOR when
base is a pointer.
* typeck2.c (process_init_constructor_array): Use {} for classes,
too.
* call.c (convert_like_real): Handle substitution failure.

From-SVN: r175237

13 years agore PR c++/48138 (__attribute__((aligned)) should give an error when applied to a...
Jason Merrill [Tue, 21 Jun 2011 02:24:09 +0000 (22:24 -0400)]
re PR c++/48138 (__attribute__((aligned)) should give an error when applied to a typedef or template parameter, at least in C++0x mode.)

PR c++/48138
* pt.c (canonicalize_type_argument): New.
(convert_template_argument, unify): Use it.

From-SVN: r175236

13 years agoDaily bump.
GCC Administrator [Tue, 21 Jun 2011 00:18:46 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r175235

13 years agopr49089: enable avx256 splitting unaligned load/store only when beneficial
Changpeng Fang [Mon, 20 Jun 2011 21:52:32 +0000 (21:52 +0000)]
pr49089: enable avx256 splitting unaligned load/store only when beneficial

* config/i386/i386.c (avx256_split_unaligned_load): New definition.
(avx256_split_unaligned_store): New definition.
(ix86_option_override_internal): Enable avx256 unaligned load/store
splitting only when avx256_split_unaligned_load/store is set.

From-SVN: r175230

13 years agore PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
Tobias Burnus [Mon, 20 Jun 2011 21:12:39 +0000 (23:12 +0200)]
re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])

2011-06-20  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * gfortran.h (gfc_check_vardef_context): Update prototype.
        (iso_fortran_env_symbol): Handle derived types.
        (symbol_attribute): Add lock_comp.
        * expr.c (gfc_check_vardef_context): Add LOCK_TYPE check.
        * interface.c (compare_parameter, gfc_procedure_use): Handle
        LOCK_TYPE.
        (compare_actual_formal): Update
        gfc_check_vardef_context call.
        * check.c (gfc_check_atomic_def, gfc_check_atomic_ref): Ditto.
        * intrinsic.c (check_arglist): Ditto.
        * io.c (resolve_tag, gfc_resolve_dt, gfc_resolve_inquire):
        * Ditto.
        * iso-fortran-env.def (ISOFORTRAN_LOCK_TYPE): Add.
        * intrinsic.texi (ISO_FORTRAN_ENV): Document LOCK_TYPE.
        * module.c (mio_symbol_attribute): Handle lock_comp.
        (create_derived_type): New function.
        (use_iso_fortran_env_module): Call it to handle LOCK_TYPE.
        * parse.c (parse_derived): Add constraint check for LOCK_TYPE.
        * resolve.c (resolve_symbol, resolve_lock_unlock): Add
        * constraint
        checks for LOCK_TYPE.
        (gfc_resolve_iterator, resolve_deallocate_expr,
        resolve_allocate_expr, resolve_code, resolve_transfer): Update
        gfc_check_vardef_context call.
        * trans-stmt.h (gfc_trans_lock_unlock): New prototype.
        * trans-stmt.c (gfc_trans_lock_unlock): New function.
        * trans.c (trans_code): Handle LOCK and UNLOCK.

2011-06-20  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * gfortran.dg/coarray_lock_1.f90: Update dg-error.
        * gfortran.dg/coarray_lock_3.f90: New.
        * gfortran.dg/coarray/lock_1.f90: New.

From-SVN: r175228

13 years agoregrename.c (scan_rtx_reg): Handle the case where we write to an open chain in a...
Bernd Schmidt [Mon, 20 Jun 2011 17:16:10 +0000 (17:16 +0000)]
regrename.c (scan_rtx_reg): Handle the case where we write to an open chain in a smaller mode without...

* regrename.c (scan_rtx_reg): Handle the case where we write to an
open chain in a smaller mode without failing the entire block.

From-SVN: r175225

13 years agoscandump.exp (scan-dump, [...]): Treat a missing dump file as unresolved and report...
Janis Johnson [Mon, 20 Jun 2011 17:08:37 +0000 (17:08 +0000)]
scandump.exp (scan-dump, [...]): Treat a missing dump file as unresolved and report the reason to the log file.

* lib/scandump.exp (scan-dump, scan-dump-times, scan-dump-not,
scan-dump-dem, scan-dump-dem-not): Treat a missing dump file as
unresolved and report the reason to the log file.

From-SVN: r175224

13 years agoscanasm.exp (object-size): Move argument processing earlier to report errors before...
Janis Johnson [Mon, 20 Jun 2011 17:07:24 +0000 (17:07 +0000)]
scanasm.exp (object-size): Move argument processing earlier to report errors before verifying that the...

* lib/scanasm.exp (object-size): Move argument processing earlier
to report errors before verifying that the file exists.  Report
problems detected at runtime as unresolved instead of error and
report their reasons to the log file.

From-SVN: r175223

13 years agoDon't check zero/sign extended hard registers.
H.J. Lu [Mon, 20 Jun 2011 17:03:16 +0000 (17:03 +0000)]
Don't check zero/sign extended hard registers.

2011-06-20  H.J. Lu  <hongjiu.lu@intel.com>

PR middle-end/47725
* combine.c (cant_combine_insn_p): Don't check zero/sign
extended hard registers.

From-SVN: r175222

13 years agors6000.c (rs6000_cannot_force_const_mem): Match CONST high part large-toc address.
Alan Modra [Mon, 20 Jun 2011 15:05:05 +0000 (00:35 +0930)]
rs6000.c (rs6000_cannot_force_const_mem): Match CONST high part large-toc address.

* config/rs6000/rs6000.c (rs6000_cannot_force_const_mem): Match
CONST high part large-toc address.
(rs6000_tls_referenced_p): Make static.
* config/rs6000/rs6000-protos.h (rs6000_tls_referenced_p): Delete.

From-SVN: r175219

13 years agoCheck zero/sign extended hard registers.
H.J. Lu [Mon, 20 Jun 2011 14:53:48 +0000 (14:53 +0000)]
Check zero/sign extended hard registers.

2011-06-20  H.J. Lu  <hongjiu.lu@intel.com>

PR middle-end/47725
* combine.c (cant_combine_insn_p): Check zero/sign extended
hard registers.

From-SVN: r175218

13 years agore PR c++/47080 ([C++0x] explicit conversion function return conversions not restrict...
Jason Merrill [Mon, 20 Jun 2011 14:40:38 +0000 (10:40 -0400)]
re PR c++/47080 ([C++0x] explicit conversion function return conversions not restricted to qualifications)

PR c++/47080
* call.c (rejection_reason_code): Add rr_explicit_conversion.
(print_z_candidate): Handle it.
(explicit_conversion_rejection): New.
(build_user_type_conversion_1): Reject an explicit conversion
function that requires more than a qualification conversion.

From-SVN: r175217

13 years agore PR c++/47635 ([C++0x] ICE on invalid code in constructor_name_p, at cp/name-lookup...
Jason Merrill [Mon, 20 Jun 2011 14:40:29 +0000 (10:40 -0400)]
re PR c++/47635 ([C++0x] ICE on invalid code in constructor_name_p, at cp/name-lookup.c:1809)

PR c++/47635
* decl.c (grokdeclarator): Don't set ctype to an ENUMERAL_TYPE.

From-SVN: r175216

13 years agore PR c++/48138 (__attribute__((aligned)) should give an error when applied to a...
Jason Merrill [Mon, 20 Jun 2011 14:40:19 +0000 (10:40 -0400)]
re PR c++/48138 (__attribute__((aligned)) should give an error when applied to a typedef or template parameter, at least in C++0x mode.)

PR c++/48138
* tree.c (strip_typedefs): Use build_aligned_type.

From-SVN: r175215

13 years agore PR c++/49205 ([C++0x] Default constructor with pack expansion parameter not detected)
Jason Merrill [Mon, 20 Jun 2011 14:40:10 +0000 (10:40 -0400)]
re PR c++/49205 ([C++0x] Default constructor with pack expansion parameter not detected)

PR c++/49205
* call.c (sufficient_parms_p): Allow parameter packs too.

From-SVN: r175214

13 years agore PR c++/37089 ([C++0x] rvalue/lvalue reference collapsing not performed in error...
Jason Merrill [Mon, 20 Jun 2011 14:40:01 +0000 (10:40 -0400)]
re PR c++/37089 ([C++0x] rvalue/lvalue reference collapsing not performed in error ouput thus printing "&&&")

PR c++/37089
* cp-demangle.c (d_print_comp): Handle reference smashing.

From-SVN: r175213

13 years agore PR c++/43321 ([c++0x] ICE on valid auto)
Jason Merrill [Mon, 20 Jun 2011 14:39:53 +0000 (10:39 -0400)]
re PR c++/43321 ([c++0x] ICE on valid auto)

PR c++/43321
* semantics.c (describable_type): Remove.
* cp-tree.h: Likewise.
* decl.c (cp_finish_decl): Don't call it.
* init.c (build_new): Likewise.
* parser.c (cp_parser_omp_for_loop): Likewise.
* pt.c (tsubst_decl): Likewise.
(do_auto_deduction): If we fail in a template, try again
at instantiation time.

From-SVN: r175212

13 years agore PR c++/43831 ([C++0x] gcc-4.5.0 does not fail invalid lambda captures (against...
Jason Merrill [Mon, 20 Jun 2011 14:39:44 +0000 (10:39 -0400)]
re PR c++/43831 ([C++0x] gcc-4.5.0 does not fail invalid lambda captures (against n3092 5.1.2/8))

PR c++/43831
* parser.c (cp_parser_lambda_introducer): Complain about redundant
captures.
* semantics.c (add_capture): Likewise.
(register_capture_members): Clear IDENTIFIER_MARKED.

From-SVN: r175211

13 years agore PR target/49385 (Invalid RTL intstruction for ARM)
Ramana Radhakrishnan [Mon, 20 Jun 2011 12:15:58 +0000 (12:15 +0000)]
re PR target/49385 (Invalid RTL intstruction for ARM)

Fix PR target/49385

2011-06-20  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>

PR target/49385
* config/arm/thumb2.md (*thumb2_movhi_insn): Make sure atleast
one of the operands is a register.

From-SVN: r175208

13 years agoChangeLog gcc/
Kai Tietz [Mon, 20 Jun 2011 11:49:27 +0000 (13:49 +0200)]
ChangeLog gcc/

2011-06-20  Kai Tietz  <ktietz@redhat.com>

* fold-const.c (fold_binary_loc): Add missing
folding for truth-not operations in combination
with binary and.

ChangeLog gcc/testsuite/

2011-06-20  Kai Tietz  <ktietz@redhat.com>

* gcc.dg/binop-notand1.c: New test.
* gcc.dg/binop-notand2.c: New test.
* gcc.dg/binop-notand3.c: New test.
* gcc.dg/binop-notand4.c: New test.
* gcc.dg/binop-notand5.c: New test.
* gcc.dg/binop-notand6.c: New test.

From-SVN: r175206

13 years agotuple (__conv_types, [...]): Add.
Daniel Krugler [Mon, 20 Jun 2011 11:05:45 +0000 (11:05 +0000)]
tuple (__conv_types, [...]): Add.

2011-06-20  Daniel Krugler  <daniel.kruegler@googlemail.com>
    Paolo Carlini  <paolo.carlini@oracle.com>

* include/std/tuple (__conv_types, __one_by_one_convertible,
__all_convertible): Add.
(tuple): Use the latter.
(tuple<_T1>): Remove.
* testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error
line number.
* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Likewise.

Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r175204

13 years ago* regrename.c (do_replace): Don't update notes.
Bernd Schmidt [Mon, 20 Jun 2011 10:29:46 +0000 (10:29 +0000)]
* regrename.c (do_replace): Don't update notes.

From-SVN: r175203

13 years agoc-pragma.h (pragma_handler_1arg, [...]): New handler.
Pierre Vittet [Mon, 20 Jun 2011 08:05:02 +0000 (08:05 +0000)]
c-pragma.h (pragma_handler_1arg, [...]): New handler.

2011-06-20  Pierre Vittet  <piervit@pvittet.com>

* c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
handler.
(gen_pragma_handler): New union.
(internal_pragma_handler): New type.
(c_register_pragma_with_data)
(c_register_pragma_with_expansion_and_data): New functions.

* c-pragma.c (registered_pragmas, c_register_pragma_1)
(c_register_pragma, c_register_pragma_with_expansion)
(c_invoke_pragma_handler): Changed to work with
internal_pragma_handler.
(c_register_pragma_with_data)
(c_register_pragma_with_expansion_and_data): New functions.

From-SVN: r175202

13 years agors6000.c (create_TOC_reference): Wrap high part of toc-relative address in CONST.
Alan Modra [Mon, 20 Jun 2011 05:12:10 +0000 (14:42 +0930)]
rs6000.c (create_TOC_reference): Wrap high part of toc-relative address in CONST.

* config/rs6000/rs6000.c (create_TOC_reference): Wrap high part
of toc-relative address in CONST.
(rs6000_delegitimize_address): Recognize changed address.
(rs6000_legitimize_reload_address): Likewise.
(rs6000_emit_move): Don't force these constants to memory.
* config/rs6000/rs6000.md (tls_gd, tls_gd_high): Wrap high part of
toc-relative address in CONST.
(tls_ld, tls_ld_high, tls_got_dtprel, tls_got_dtprel_high): Likewise.
(tls_got_tprel, tls_got_tprel_high, largetoc_high): Likewise.

From-SVN: r175200

13 years agoDaily bump.
GCC Administrator [Mon, 20 Jun 2011 00:18:32 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r175199

13 years agore PR target/49461 (boehm-gc and gcj incompatible with pie)
Mike Stump [Sun, 19 Jun 2011 17:54:24 +0000 (17:54 +0000)]
re PR target/49461 (boehm-gc and gcj incompatible with pie)

PR target/49461
  * mh-darwin: Turn off -pie on darwin11 and later.

From-SVN: r175192

13 years agoDaily bump.
GCC Administrator [Sun, 19 Jun 2011 00:18:00 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r175188

13 years agoUse long long builtins of zero counting for x86-64.
H.J. Lu [Sat, 18 Jun 2011 15:35:10 +0000 (15:35 +0000)]
Use long long builtins of zero counting for x86-64.

2011-06-18  H.J. Lu  <hongjiu.lu@intel.com>

* longlong.h (count_leading_zeros): Use long long builtin for
x86-64.
(count_trailing_zeros): Likewise.

From-SVN: r175183

13 years agore PR target/49461 (boehm-gc and gcj incompatible with pie)
Jack Howarth [Sat, 18 Jun 2011 15:06:26 +0000 (15:06 +0000)]
re PR target/49461 (boehm-gc and gcj incompatible with pie)

PR target/49461
* libjava/configure.ac (SYSTEMSPEC): Pass -no_pie for darwin11.
* libjava/configure: Regenerate.

From-SVN: r175182

13 years agoProperly check if .init_array can be used with .ctors on targets.
H.J. Lu [Sat, 18 Jun 2011 14:48:14 +0000 (14:48 +0000)]
Properly check if .init_array can be used with .ctors on targets.

2011-06-18  H.J. Lu  <hongjiu.lu@intel.com>

PR other/49325
* acinclude.m4 (gcc_AC_INITFINI_ARRAY): Properly check if
.init_array can be used with .ctors on targets.
* configure: Regenerated.

From-SVN: r175181

13 years agore PR testsuite/49432 (FAIL: obj-c++.dg/invalid-type-1.mm)
Jakub Jelinek [Sat, 18 Jun 2011 12:56:56 +0000 (14:56 +0200)]
re PR testsuite/49432 (FAIL: obj-c++.dg/invalid-type-1.mm)

PR testsuite/49432
* obj-c++.dg/invalid-type-1.mm: Adjust for new error wording.

From-SVN: r175178

13 years agore PR fortran/49400 ([F08] Proc-pointer declaration in BLOCK construct)
Janus Weil [Sat, 18 Jun 2011 12:36:45 +0000 (14:36 +0200)]
re PR fortran/49400 ([F08] Proc-pointer declaration in BLOCK construct)

2011-06-18  Janus Weil  <janus@gcc.gnu.org>

PR fortran/49400
* decl.c (gfc_match_procedure): Allow PROCEDURE declarations inside
BLOCK constructs.

2011-06-18  Janus Weil  <janus@gcc.gnu.org>

PR fortran/49400
* gfortran.dg/proc_ptr_31.f90: New.

From-SVN: r175177

13 years agotree-sra.c (type_internals_preclude_sra_p): Return true if the element type is volatile.
Eric Botcazou [Sat, 18 Jun 2011 11:02:45 +0000 (11:02 +0000)]
tree-sra.c (type_internals_preclude_sra_p): Return true if the element type is volatile.

* tree-sra.c (type_internals_preclude_sra_p) <ARRAY_TYPE>: Return true
if the element type is volatile.
ada/
* gcc-interface/decl.c (gnat_to_gnu_component_type): Use GNAT_TYPE
local variable throughout.  Remove useless call to Base_Type.
(gnat_to_gnu_field): Use GNAT_FIELD_TYPE local variable throughout.
Take it also into account for the volatileness of the field.  Set the
TREE_SIDE_EFFECTS flag as well in this case.  Reorder some warnings.

From-SVN: r175176

13 years agooops, comitted with wrong PR# :( PR lto/48246
Jan Hubicka [Sat, 18 Jun 2011 10:51:43 +0000 (10:51 +0000)]
oops, comitted with wrong PR# :( PR lto/48246

oops, comitted with wrong PR# :(
PR lto/48246
* lto.c (lto_1_to_1_map): Don't create empty partitions.
(lto_balanced_map): Likewise.

From-SVN: r175175

13 years agore PR lto/48246 (ICE in lto_wpa_write_files)
Jan Hubicka [Sat, 18 Jun 2011 10:48:08 +0000 (12:48 +0200)]
re PR lto/48246 (ICE in lto_wpa_write_files)

PR lto/23754
* lto.c (lto_1_to_1_map): Don't create empty partitions.
(lto_balanced_map): Likewise.

From-SVN: r175174

13 years agotrans.c (Identifier_to_gnu): Don't set TREE_THIS_NOTRAP on a dereference built for...
Eric Botcazou [Sat, 18 Jun 2011 10:31:26 +0000 (10:31 +0000)]
trans.c (Identifier_to_gnu): Don't set TREE_THIS_NOTRAP on a dereference built for a by-ref object if...

* gcc-interface/trans.c (Identifier_to_gnu): Don't set TREE_THIS_NOTRAP
on a dereference built for a by-ref object if it has an address clause.

From-SVN: r175172

13 years agoeinfo.ads (Address_Taken): Document use for the second argument of Asm_Input and...
Eric Botcazou [Sat, 18 Jun 2011 10:18:38 +0000 (10:18 +0000)]
einfo.ads (Address_Taken): Document use for the second argument of Asm_Input and Asm_Output attributes.

* einfo.ads (Address_Taken): Document use for the second argument of
Asm_Input and Asm_Output attributes.
* sem_attr.adb (Analyze_Attribute) <Attribute_Asm_Input>: If the second
argument is an entity name, then set Address_Taken on it.
<Attribute_Asm_Output>: Likewise.
* gcc-interface/trans.c (lvalue_required_for_attribute_p): Handle the
Attr_Asm_Input and Attr_Asm_Output attributes explicitly.
(gnat_to_gnu) <N_Code_Statement>: If an operand is going to end up in
memory and is a CONST_DECL, retrieve its corresponding VAR_DECL.

From-SVN: r175171

13 years agolto-symtab.c (lto_varpool_replace_node): Remove code handling extra name aliases.
Jan Hubicka [Sat, 18 Jun 2011 08:33:47 +0000 (08:33 +0000)]
lto-symtab.c (lto_varpool_replace_node): Remove code handling extra name aliases.

* lto-symtab.c (lto_varpool_replace_node): Remove code handling
extra name aliases.
(lto_symtab_resolve_can_prevail_p): Likewise.
(lto_symtab_merge_cgraph_nodes): Update alias_of pointers.
* cgraphbuild.c (record_reference): Remove extra body alias code.
(mark_load): Likewise.
(mark_store): Likewise.
* cgraph.h (varpool_node): Remove extra_name filed;
add alias_of and extraname_alias.
(varpool_create_variable_alias, varpool_for_node_and_aliases): Declare.
(varpool_alias_aliased_node): New inline function.
(varpool_variable_node): New function.
* cgraphunit.c (handle_alias_pairs): Handle also variable aliases.
* ipa-ref.c (ipa_record_reference): Allow aliases on variables.
* lto-cgraph.c (lto_output_varpool_node): Update streaming.
(input_varpool_node): Likewise.
* lto-streamer-out.c (produce_symtab): Remove extra name aliases.
(varpool_externally_visible_p): Remove extra body alias code.
(function_and_variable_visibility): Likewise.
* tree-ssa-structalias.c (associate_varinfo_to_alias_1): New function.
(ipa_pta_execute): Use it.
* varpool.c (varpool_remove_node): Remove extra name alias code.
(varpool_mark_needed_node): Likewise.
(varpool_analyze_pending_decls): Analyze aliases.
(assemble_aliases): New functoin.
(varpool_assemble_decl): Use it.
(varpool_create_variable_alias): New function.
(varpool_extra_name_alias): Rewrite.
(varpool_for_node_and_aliases): New function.

From-SVN: r175169

13 years agolto-symtab.c (lto_varpool_replace_node): Remove code handling extra name aliases.
Jan Hubicka [Sat, 18 Jun 2011 08:33:10 +0000 (08:33 +0000)]
lto-symtab.c (lto_varpool_replace_node): Remove code handling extra name aliases.

* lto-symtab.c (lto_varpool_replace_node): Remove code handling
extra name aliases.
(lto_symtab_resolve_can_prevail_p): Likewise.
(lto_symtab_merge_cgraph_nodes): Update alias_of pointers.
* cgraphbuild.c (record_reference): Remove extra body alias code.
(mark_load): Likewise.
(mark_store): Likewise.
* cgraph.h (varpool_node): Remove extra_name filed;
add alias_of and extraname_alias.
(varpool_create_variable_alias, varpool_for_node_and_aliases): Declare.
(varpool_alias_aliased_node): New inline function.
(varpool_variable_node): New function.
* cgraphunit.c (handle_alias_pairs): Handle also variable aliases.
* ipa-ref.c (ipa_record_reference): Allow aliases on variables.
* lto-cgraph.c (lto_output_varpool_node): Update streaming.
(input_varpool_node): Likewise.
* lto-streamer-out.c (produce_symtab): Remove extra name aliases.
(varpool_externally_visible_p): Remove extra body alias code.
(function_and_variable_visibility): Likewise.
* tree-ssa-structalias.c (associate_varinfo_to_alias_1): New function.
(ipa_pta_execute): Use it.
* varpool.c (varpool_remove_node): Remove extra name alias code.
(varpool_mark_needed_node): Likewise.
(varpool_analyze_pending_decls): Analyze aliases.
(assemble_aliases): New functoin.
(varpool_assemble_decl): Use it.
(varpool_create_variable_alias): New function.
(varpool_extra_name_alias): Rewrite.
(varpool_for_node_and_aliases): New function.

From-SVN: r175168

13 years agolto-symtab.c (lto_varpool_replace_node): Remove code handling extra name aliases.
Jan Hubicka [Sat, 18 Jun 2011 08:31:03 +0000 (10:31 +0200)]
lto-symtab.c (lto_varpool_replace_node): Remove code handling extra name aliases.

* lto-symtab.c (lto_varpool_replace_node): Remove code handling
extra name aliases.
(lto_symtab_resolve_can_prevail_p): Likewise.
(lto_symtab_merge_cgraph_nodes): Update alias_of pointers.
* cgraphbuild.c (record_reference): Remove extra body alias code.
(mark_load): Likewise.
(mark_store): Likewise.
* cgraph.h (varpool_node): Remove extra_name filed;
add alias_of and extraname_alias.
(varpool_create_variable_alias, varpool_for_node_and_aliases): Declare.
(varpool_alias_aliased_node): New inline function.
(varpool_variable_node): New function.
* cgraphunit.c (handle_alias_pairs): Handle also variable aliases.
* ipa-ref.c (ipa_record_reference): Allow aliases on variables.
* lto-cgraph.c (lto_output_varpool_node): Update streaming.
(input_varpool_node): Likewise.
* lto-streamer-out.c (produce_symtab): Remove extra name aliases.
(varpool_externally_visible_p): Remove extra body alias code.
(function_and_variable_visibility): Likewise.
* tree-ssa-structalias.c (associate_varinfo_to_alias_1): New function.
(ipa_pta_execute): Use it.
* varpool.c (varpool_remove_node): Remove extra name alias code.
(varpool_mark_needed_node): Likewise.
(varpool_analyze_pending_decls): Analyze aliases.
(assemble_aliases): New functoin.
(varpool_assemble_decl): Use it.
(varpool_create_variable_alias): New function.
(varpool_extra_name_alias): Rewrite.
(varpool_for_node_and_aliases): New function.

From-SVN: r175167

13 years agoPR 49296 List directed read of string ending in EOF.
Janne Blomqvist [Sat, 18 Jun 2011 07:53:09 +0000 (10:53 +0300)]
PR 49296 List directed read of string ending in EOF.

libgfortran ChangeLog entry:

2011-06-18  Janne Blomqvist  <jb@gcc.gnu.org>

        PR libfortran/49296
        * io/list_read.c (read_character): Accept EOF as a separator when
        reading string.

testsuite ChangeLog entry:

2011-06-18  Janne Blomqvist  <jb@gcc.gnu.org>

        PR libfortran/48296
* gfortran.dg/read_list_eof_1.f90: New test.

From-SVN: r175166

13 years agore PR target/49411 ([4.6/4.7] ICE: unrecognizable insn with -mxop in _mm_roti_epi8...
Jakub Jelinek [Sat, 18 Jun 2011 06:43:38 +0000 (08:43 +0200)]
re PR target/49411 ([4.6/4.7] ICE: unrecognizable insn with -mxop in _mm_roti_epi8 with negative number)

PR target/49411
* config/i386/i386.c (ix86_expand_multi_arg_builtins): If
last_arg_constant and last argument doesn't match its predicate,
for xop_vpermil2<mode>3 error out and for xop_rotl<mode>3
if it is CONST_INT, mask it, otherwise expand using rotl<mode>3.
(ix86_expand_sse_pcmpestr, ix86_expand_sse_pcmpistr): Fix
spelling of error message.
* config/i386/sse.md (sse4a_extrqi, sse4a_insertqi,
vcvtps2ph, *vcvtps2ph, *vcvtps2ph_store, vcvtps2ph256): Use
const_0_to_255_operand instead of const_int_operand.

Revert:
2011-05-09  Uros Bizjak  <ubizjak@gmail.com>

* config/i386/sse.md (blendbits): Remove mode attribute.
(<sse4_1>_blend<ssemodesuffix><avxsizesuffix>): Use const_int_operand
instead of const_0_to_<blendbits>_operand for operand 3 predicate.
Check integer value of operand 3 in insn constraint.

* gcc.target/i386/testimm-1.c: New test.
* gcc.target/i386/testimm-2.c: New test.
* gcc.target/i386/testimm-3.c: New test.
* gcc.target/i386/testimm-4.c: New test.
* gcc.target/i386/testimm-5.c: New test.
* gcc.target/i386/testimm-6.c: New test.
* gcc.target/i386/testimm-7.c: New test.
* gcc.target/i386/testimm-8.c: New test.
* gcc.target/i386/xop-vpermil2px-2.c: New test.
* gcc.target/i386/xop-rotate1-int.c: New test.
* gcc.target/i386/xop-rotate2-int.c: New test.

From-SVN: r175165

13 years agore PR c++/49458 ([C++0x][DR 1328] Obvious candidate for conversion to function lvalue...
Jason Merrill [Sat, 18 Jun 2011 05:58:38 +0000 (01:58 -0400)]
re PR c++/49458 ([C++0x][DR 1328] Obvious candidate for conversion to function lvalue rejected)

PR c++/49458
* call.c (convert_class_to_reference_1): Allow binding function
lvalue to rvalue reference.

From-SVN: r175164

13 years agoDaily bump.
GCC Administrator [Sat, 18 Jun 2011 00:18:47 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r175163

13 years agore PR c++/43912 ([C++0x] lambda debug info does not describe captured variables)
Jason Merrill [Fri, 17 Jun 2011 20:08:01 +0000 (16:08 -0400)]
re PR c++/43912 ([C++0x] lambda debug info does not describe captured variables)

PR c++/43912
Generate proxy VAR_DECLs for better lambda debug info.
* cp-tree.h (FUNCTION_NEEDS_BODY_BLOCK): Add lambda operator().
(LAMBDA_EXPR_PENDING_PROXIES): New.
(struct tree_lambda_expr): Add pending_proxies.
* name-lookup.c (pushdecl_maybe_friend_1): Handle capture shadowing.
(qualify_lookup): Use is_lambda_ignored_entity.
* parser.c (cp_parser_lambda_expression): Don't adjust field names.
Call insert_pending_capture_proxies.
(cp_parser_lambda_introducer): Use this_identifier.
(cp_parser_lambda_declarator_opt): Call the object parameter
of the op() "__closure" instead of "this".
(cp_parser_lambda_body): Call build_capture_proxy.
* semantics.c (build_capture_proxy, is_lambda_ignored_entity): New.
(insert_pending_capture_proxies, insert_capture_proxy): New.
(is_normal_capture_proxy, is_capture_proxy): New.
(add_capture): Add __ to field names here, return capture proxy.
(add_default_capture): Use this_identifier, adjust to expect
add_capture to return a capture proxy.
(outer_lambda_capture_p, thisify_lambda_field): Remove.
(finish_id_expression, lambda_expr_this_capture): Adjust.
(build_lambda_expr): Initialize LAMBDA_EXPR_PENDING_PROXIES.
* pt.c (tsubst_copy_and_build): Check that LAMBDA_EXPR_PENDING_PROXIES
is null.

From-SVN: r175158

13 years agoname-lookup.c (pushdecl_maybe_friend_1): Do check for shadowing of artificial locals.
Jason Merrill [Fri, 17 Jun 2011 20:07:53 +0000 (16:07 -0400)]
name-lookup.c (pushdecl_maybe_friend_1): Do check for shadowing of artificial locals.

* name-lookup.c (pushdecl_maybe_friend_1): Do check for shadowing
of artificial locals.

From-SVN: r175157

13 years agoparser.c (cp_parser_lambda_expression): Clear LAMBDA_EXPR_THIS_CAPTURE after parsing.
Jason Merrill [Fri, 17 Jun 2011 20:07:45 +0000 (16:07 -0400)]
parser.c (cp_parser_lambda_expression): Clear LAMBDA_EXPR_THIS_CAPTURE after parsing.

* parser.c (cp_parser_lambda_expression): Clear
LAMBDA_EXPR_THIS_CAPTURE after parsing.
* pt.c (tsubst_copy_and_build): Make sure it isn't set.

From-SVN: r175156

13 years agocp-tree.h (struct tree_lambda_expr): Change common to typed.
Jason Merrill [Fri, 17 Jun 2011 20:07:33 +0000 (16:07 -0400)]
cp-tree.h (struct tree_lambda_expr): Change common to typed.

* cp-tree.h (struct tree_lambda_expr): Change common to typed.
Move non-pointers to end of struct.

From-SVN: r175155

13 years agopushdecl_with_scope comment
Jason Merrill [Fri, 17 Jun 2011 20:07:26 +0000 (16:07 -0400)]
pushdecl_with_scope comment

From-SVN: r175154

13 years agopt.c (tsubst_decl): Handle DECL_VALUE_EXPR on reference.
Jason Merrill [Fri, 17 Jun 2011 20:07:20 +0000 (16:07 -0400)]
pt.c (tsubst_decl): Handle DECL_VALUE_EXPR on reference.

* pt.c (tsubst_decl): Handle DECL_VALUE_EXPR on reference.
* decl.c (check_initializer): Handle DECL_VALUE_EXPR_P.

From-SVN: r175153

13 years agosemantics.c (finish_non_static_data_member): Preserve dereference in template.
Jason Merrill [Fri, 17 Jun 2011 20:07:13 +0000 (16:07 -0400)]
semantics.c (finish_non_static_data_member): Preserve dereference in template.

* semantics.c (finish_non_static_data_member): Preserve dereference
in template.

From-SVN: r175152

13 years agore PR fortran/48699 ([OOP] MOVE_ALLOC inside SELECT TYPE)
Janus Weil [Fri, 17 Jun 2011 20:03:04 +0000 (22:03 +0200)]
re PR fortran/48699 ([OOP] MOVE_ALLOC inside SELECT TYPE)

2011-06-17  Janus Weil  <janus@gcc.gnu.org>

PR fortran/48699
* check.c (gfc_check_move_alloc): If 'TO' argument is polymorphic,
make sure the vtab is present.

2011-06-17  Janus Weil  <janus@gcc.gnu.org>

PR fortran/48699
* gfortran.dg/move_alloc_5.f90: New.

From-SVN: r175151

13 years agore PR libgcj/49315 (Throw_2 SEGVs on Tru64 UNIX)
Rainer Orth [Fri, 17 Jun 2011 08:33:13 +0000 (08:33 +0000)]
re PR libgcj/49315 (Throw_2 SEGVs on Tru64 UNIX)

PR libgcj/49315
* include/solaris-signal.h: Rename to ...
* include/posix-signal.h: ... this.
(SA_FLAGS): Define.
(SIGNAL_HANDLER): Handle non-SA_SIGINFO case.
(sa_signal_handler): Define.
(_INIT_SIG_HANDLER): New macro.
(INIT_SEGV, INIT_FPE): Use it.
* configure.ac (SIGNAL_HANDLER): Use it on alpha*-dec-osf*,
mips-sgi-irix*, *-*-solaris2*
* configure: Regenerate.
* include/aix-signal.h: Refer to AIX.
* configure.host (alpha*-dec-osf*): Enable can_unwind_signal.
(mips-sgi-irix6*): Likewise.

From-SVN: r175138

13 years agore PR rtl-optimization/48542 (unchanged variables in code which calls setjmp may...
Hans-Peter Nilsson [Fri, 17 Jun 2011 02:20:11 +0000 (02:20 +0000)]
re PR rtl-optimization/48542 (unchanged variables in code which calls setjmp may be clobbered (including the return-address))

PR rtl-optimization/48542
* gcc.dg/torture/pr48542.c: New test.

From-SVN: r175133

13 years agore PR rtl-optimization/48542 (unchanged variables in code which calls setjmp may...
Hans-Peter Nilsson [Fri, 17 Jun 2011 02:18:24 +0000 (02:18 +0000)]
re PR rtl-optimization/48542 (unchanged variables in code which calls setjmp may be clobbered (including the return-address))

PR rtl-optimization/48542
* reload.c (find_equiv_reg): Stop looking when finding a
setjmp-type call.
* reload1.c (reload_as_needed): Invalidate all reload
registers when crossing a setjmp-type call.

From-SVN: r175132

13 years agoDaily bump.
GCC Administrator [Fri, 17 Jun 2011 00:19:24 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r175129

13 years agosingle.c (_gfortran_caf_register): Store the address of all static coarrays in a...
Daniel Carrera [Thu, 16 Jun 2011 23:09:36 +0000 (23:09 +0000)]
single.c (_gfortran_caf_register): Store the address of all static coarrays in a linked list.

2011-06-17  Daniel Carrera  <dcarrera@gmail.com>

        * caf/single.c (_gfortran_caf_register): Store the address
        of all static coarrays in a linked list.
        (_gfortran_caf_finalize): Free memory of staic coarrays.
        * caf/mpi.c (_gfortran_caf_register): Store the address
        of all static coarrays in a linked list. Initialize MPI
        if necessary.
        (_gfortran_caf_finalize): Free memory of staic coarrays.
        (_gfortran_caf_init): Check if MPI is already initialized
        before initializing again.
        * caf/libcaf.h: Add a type to caf_register_t to distinguish
        static coarrays and add the type caf_static_t to make the
        linked list of static coarrays.

From-SVN: r175124

13 years agore PR c++/44160 ([C++0x] a mysterious error on __func__ in a lambda expression)
Jason Merrill [Thu, 16 Jun 2011 22:09:28 +0000 (18:09 -0400)]
re PR c++/44160 ([C++0x] a mysterious error on __func__ in a lambda expression)

PR c++/44160
* parser.c (cp_parser_lambda_body): Share code between
simple and complex cases instead of using cp_parser_function_body.

From-SVN: r175123

13 years agore PR c++/45378 ([C++0x] Narrowing error not detected)
Jason Merrill [Thu, 16 Jun 2011 22:09:20 +0000 (18:09 -0400)]
re PR c++/45378 ([C++0x] Narrowing error not detected)

PR c++/45378
* decl.c (check_initializer): Check narrowing.

From-SVN: r175122

13 years agore PR c++/45399 ([C++0x] Warning for \0 in raw strings)
Jason Merrill [Thu, 16 Jun 2011 22:09:12 +0000 (18:09 -0400)]
re PR c++/45399 ([C++0x] Warning for \0 in raw strings)

PR c++/45399
* lex.c (lex_raw_string): Don't check for embedded NUL.

From-SVN: r175121

13 years agore PR c++/49229 ([C++0x][SFINAE] ICE with variadics and depending non-type default...
Jason Merrill [Thu, 16 Jun 2011 22:09:05 +0000 (18:09 -0400)]
re PR c++/49229 ([C++0x][SFINAE] ICE with variadics and depending non-type default parameter)

PR c++/49229
* pt.c (tsubst_decl) [FUNCTION_DECL]: Handle substitution failure.

From-SVN: r175120

13 years agore PR c++/49251 ([C++0x][parameter pack expanding] unused parameter warning with...
Jason Merrill [Thu, 16 Jun 2011 22:08:57 +0000 (18:08 -0400)]
re PR c++/49251 ([C++0x][parameter pack expanding] unused parameter warning with unpacking empty tuples)

PR c++/49251
* semantics.c (finish_id_expression): Mark even dependent
variables as used.

From-SVN: r175119

13 years agore PR c++/49420 ([C++0x] compiler segfault using result_of)
Jason Merrill [Thu, 16 Jun 2011 22:05:46 +0000 (18:05 -0400)]
re PR c++/49420 ([C++0x] compiler segfault using result_of)

PR c++/49420
* error.c (dump_template_argument): Don't try to omit default
template args from an argument pack.

From-SVN: r175117

13 years agotree-ssa-threadupdate.c (struct redirection_data): New field intermediate_edge.
Jeff Law [Thu, 16 Jun 2011 21:52:00 +0000 (15:52 -0600)]
tree-ssa-threadupdate.c (struct redirection_data): New field intermediate_edge.

* tree-ssa-threadupdate.c (struct redirection_data): New field
intermediate_edge.
(THREAD_TARGET2): Define.
(redirection_data_eq): Also check that the intermediate edge is
equal.
(lookup_redirection_data): Drop useless argument.  Extract the
outgoing_edge and intermediate edge from E.  Callers updated.
(copy_phi_args, update_destination_phis): New functions.
(fix_duplicate_block_edges): Likewise.
(create_edge_and_update_destination_phis): Duplicate all the edges
hung off e->aux.  Use copy_phi_args.
(create_duplicates): Use fix_duplicate_block_edges.
(fixup_template_block): Likewise.
(redirect_edges): If necessary, redirect the joiner block's incoming
edge to the duplicate of the joiner block.
(thread_block): Don't muck up loops when threading through a joiner
block.
(thread_through_loop_header): Handle threading through a joiner
block.
(mark_threaded_blocks, register_jump_thread): Likewise.
* tree-flow.h (register_jump_thread): Add new argument.  Callers
updated.
* tree-ssa-threadedge.c (phi_args_equal_on_edges): New function.
(thread_across_edge): Handle threading through a joiner block.

* gcc.dg/builtin-object-size-1.c: Update to handle changes from
improved jump threading.
* gcc.dg/builtin-object-size-2.c: Likewise.
* gcc.dg/tree-ssa/20030728-1.c: Likewise.

From-SVN: r175114

13 years agore PR fortran/49074 ([OOP] Defined assignment w/ CLASS arrays: Incomplete error message)
Janus Weil [Thu, 16 Jun 2011 21:45:26 +0000 (23:45 +0200)]
re PR fortran/49074 ([OOP] Defined assignment w/ CLASS arrays: Incomplete error message)

2011-06-16  Janus Weil  <janus@gcc.gnu.org>

PR fortran/49074
* interface.c (gfc_extend_assign): Propagate the locus from the
assignment to the type-bound procedure call.

2011-06-16  Janus Weil  <janus@gcc.gnu.org>

PR fortran/49074
* gfortran.dg/typebound_assignment_3.f03: New.

From-SVN: r175113

13 years agore PR testsuite/48727 (FAIL: g++.dg/opt/devirt2.C scan-assembler-times xyzzy 2)
Steve Ellcey [Thu, 16 Jun 2011 20:38:49 +0000 (20:38 +0000)]
re PR testsuite/48727 (FAIL: g++.dg/opt/devirt2.C scan-assembler-times xyzzy 2)

2011-06-16  Steve Ellcey  <sje@cup.hp.com>

PR testsuite/48727
* g++.dg/opt/devirt2.C: Change xfail rule to target.

From-SVN: r175112

13 years agore PR tree-optimization/49343 (ICE on field with variable offset)
Martin Jambor [Thu, 16 Jun 2011 20:21:21 +0000 (22:21 +0200)]
re PR tree-optimization/49343 (ICE on field with variable offset)

2011-06-16  Martin Jambor  <mjambor@suse.cz>

PR tree-optimization/49343
* tree-sra.c (build_ref_for_model): Use component_ref_field_offset to
calculate offset, provide 2nd operand for the new COMPONENT_REF.

* testsuite/gnat.dg/discr31.adb: New test.
* testsuite/gnat.dg/discr31.ads: Likewise.

From-SVN: r175111

13 years agodarwin-protos.h (machopic_select_rtx_section): Move to inside RTX_CODE ifdef.
Iain Sandoe [Thu, 16 Jun 2011 19:38:34 +0000 (19:38 +0000)]
darwin-protos.h (machopic_select_rtx_section): Move to inside RTX_CODE ifdef.

2011-06-16  Iain Sandoe  <iains@gcc.gnu.org>

    * config/darwin-protos.h (machopic_select_rtx_section): Move to
    inside RTX_CODE ifdef.

From-SVN: r175110

13 years agoFix typo.
Mike Stump [Thu, 16 Jun 2011 19:22:01 +0000 (19:22 +0000)]
Fix typo.

From-SVN: r175108

13 years ago* gcc.dg/debug/pr49032.c: Prune mips-tfile warning.
Rainer Orth [Thu, 16 Jun 2011 18:52:21 +0000 (18:52 +0000)]
* gcc.dg/debug/pr49032.c: Prune mips-tfile warning.

From-SVN: r175107

13 years agore PR middle-end/45098 (Missed induction variable optimization)
Tom de Vries [Thu, 16 Jun 2011 18:00:54 +0000 (18:00 +0000)]
re PR middle-end/45098 (Missed induction variable optimization)

2011-06-16  Tom de Vries  <tom@codesourcery.com>

PR target/45098
* gcc.target/arm/ivopts-3.c: Update test.
* gcc.target/arm/ivopts-5.c: Same.

From-SVN: r175106

13 years agore PR middle-end/45098 (Missed induction variable optimization)
Tom de Vries [Thu, 16 Jun 2011 17:57:08 +0000 (17:57 +0000)]
re PR middle-end/45098 (Missed induction variable optimization)

2011-06-16  Tom de Vries  <tom@codesourcery.com>

PR target/45098
* tree-ssa-loop-niter.c (infer_loop_bounds_from_pointer_arith): Disallow
NULL pointer for pointer arithmetic.

From-SVN: r175105

13 years agoRevert r174940
Ramana Radhakrishnan [Thu, 16 Jun 2011 13:51:17 +0000 (13:51 +0000)]
Revert r174940

Fix PR target/49398

From-SVN: r175104

13 years agore PR middle-end/46500 (target.h includes tm.h)
Joern Rennecke [Thu, 16 Jun 2011 13:45:47 +0000 (13:45 +0000)]
re PR middle-end/46500 (target.h includes tm.h)

PR middle-end/46500
gcc:
* doc/tm.texi.in: Update Copyright date.
* doc/tm.texi: Regenerate.
* targhooks.c (default_setup_incoming_varargs): Replace
CUMULATIVE_ARGS* argument type with cumulative_args_t.
(default_pretend_outgoing_varargs_named): Likewise.
(hook_pass_by_reference_must_pass_in_stack): Likewise.
(hook_callee_copies_named): Likewise.
(default_function_arg_advance): Likewise.
(default_function_arg): Likewise.
(default_function_incoming_arg): Likewise.
(hook_bool_CUMULATIVE_ARGS_false): Likewise.
(hook_bool_CUMULATIVE_ARGS_true): Likewise.
(hook_bool_CUMULATIVE_ARGS_mode_tree_bool_false): Likewise.
(hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true): Likewise.
(hook_int_CUMULATIVE_ARGS_mode_tree_bool_0): Likewise.
* targhooks.h (default_setup_incoming_varargs): Likewise.
(default_pretend_outgoing_varargs_named): Likewise.
(hook_pass_by_reference_must_pass_in_stack): Likewise.
(hook_callee_copies_named): Likewise.
(default_function_arg_advance): Likewise.
(default_function_arg): Likewise.
(default_function_incoming_arg): Likewise.
(hook_bool_CUMULATIVE_ARGS_false): Likewise.
(hook_bool_CUMULATIVE_ARGS_true): Likewise.
(hook_bool_CUMULATIVE_ARGS_mode_tree_bool_false): Likewise.
(hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true): Likewise.
(hook_int_CUMULATIVE_ARGS_mode_tree_bool_0): Likewise.
* target.def (pass_by_reference): Likewise.
(setup_incoming_varargs, strict_argument_naming): Likewise.
(pretend_outgoing_varargs_named, callee_copies): Likewise.
(arg_partial_bytes, function_arg_advance, function_arg): Likewise.
(function_incoming_arg): Likewise.
* target.h: Don't include "tm.h" .
(cumulative_args_t): New typedef.
[GCC_TM_H] (get_cumulative_args): New static inline function.
[GCC_TM_H] (pack_cumulative_args): Likewise.
* config/alpha/alpha.c (alpha_function_arg): Replace CUMULATIVE_ARGS*
argument type with cumulative_args_t.
(alpha_function_arg_advance, alpha_arg_partial_bytes): Likewise.
(alpha_pass_by_reference, alpha_setup_incoming_varargs): Likewise.
* config/frv/frv.c (frv_setup_incoming_varargs): Likewise.
(frv_arg_partial_bytes, frv_function_arg): Likewise.
(frv_function_incoming_arg, frv_function_arg_advance): Likewise.
(frv_function_arg_1): Likewise.
* config/s390/s390.c (s390_pass_by_reference): Likewise.
(s390_function_arg_advance, s390_function_arg): Likewise.
* config/m32c/m32c.c (m32c_function_arg): Likewise.
(m32c_pass_by_reference, m32c_function_arg_advance): Likewise.
(m32c_strict_argument_naming): Likewise.
* config/spu/spu.c (spu_pass_by_reference, spu_function_arg): Likewise.
(spu_function_arg_advance): Likewise.
(spu_setup_incoming_varargs): Likewise.  Make static.
* config/spu/spu-protos.h (spu_setup_incoming_varargs):
Remove prototype.
* config/sparc/sparc.c (sparc_strict_argument_naming): Replace
CUMULATIVE_ARGS* argument type with cumulative_args_t.
(sparc_pass_by_reference, sparc_function_arg_advance): Likewise.
(sparc_function_arg, sparc_function_incoming_arg): Likewise.
(sparc_arg_partial_bytes, sparc_function_arg_1): Likewise.
* config/mep/mep.c (mep_setup_incoming_varargs): Likewise.
(mep_pass_by_reference, mep_function_arg): Likewise.
(mep_function_arg_advance): Likewise.
* config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
(m32r_pass_by_reference, m32r_arg_partial_bytes): Likewise.
(m32r_function_arg, m32r_function_arg_advance): Likewise.
* config/rx/rx.c (rx_function_arg, rx_function_arg_advance): Likewise.
* config/i386/i386.c (ix86_function_arg_advance): Likewise.
(ix86_function_arg, ix86_pass_by_reference): Likewise.
(ix86_setup_incoming_varargs): Likewise.
* config/sh/sh.c (sh_setup_incoming_varargs): Likewise.
(sh_strict_argument_naming): Likewise.
(sh_pretend_outgoing_varargs_named, sh_pass_by_reference): Likewise.
(sh_callee_copies, sh_arg_partial_bytes): Likewise.
(sh_function_arg_advance, sh_function_arg): Likewise.
* config/pdp11/pdp11.c (pdp11_function_arg): Likewise.
(pdp11_function_arg_advance): Likewise.
* config/microblaze/microblaze.c (microblaze_function_arg_advance):
Likewise.
(microblaze_function_arg, function_arg_partial_bytes): Likewise.
* config/avr/avr.c (avr_function_arg): Likewise.
(avr_function_arg_advance): Likewise.
* config/xtensa/xtensa.c (xtensa_function_arg_advance): Likewise.
(xtensa_function_arg, xtensa_function_incoming_arg): Likewise.
(xtensa_function_arg_1): Likewise.
* config/stormy16/stormy16.c (xstormy16_function_arg_advance): Likewise.
(xstormy16_function_arg): Likewise.
* config/fr30/fr30.c (fr30_setup_incoming_varargs): Likewise.
(fr30_arg_partial_bytes, fr30_function_arg): Likewise.
(fr30_function_arg_advance): Likewise.
* config/lm32/lm32.c (lm32_setup_incoming_varargs): Likewise.
(lm32_function_arg, lm32_function_arg_advance): Likewise.
* config/moxie/moxie.c (moxie_setup_incoming_varargs): Likewise.
(moxie_function_arg, moxie_function_arg_advance): Likewise.
(moxie_pass_by_reference, moxie_arg_partial_bytes): Likewise.
* config/cris/cris.c (cris_setup_incoming_varargs): Likewise.
(cris_pass_by_reference, cris_arg_partial_bytes): Likewise.
(cris_function_arg, cris_function_incoming_arg): Likewise.
(cris_function_arg_advance, cris_function_arg_1): Likewise.
* config/iq2000/iq2000.c (iq2000_setup_incoming_varargs): Likewise.
(iq2000_pass_by_reference, iq2000_arg_partial_bytes): Likewise.
(iq2000_function_arg, iq2000_function_arg_advance): Likewise.
* config/mn10300/mn10300.c (mn10300_pass_by_reference): Likewise.
(mn10300_function_arg, mn10300_function_arg_advance): Likewise.
(mn10300_arg_partial_bytes): Likewise.
* config/ia64/ia64.c (ia64_setup_incoming_varargs): Likewise.
(ia64_arg_partial_bytes, ia64_function_arg): Likewise.
(ia64_function_incoming_arg, ia64_function_arg_advance): Likewise.
(ia64_function_arg_1): Likewise.
* config/m68k/m68k.c (m68k_function_arg_advance): Likewise.
(m68k_function_arg): Likewise.
* config/rs6000/rs6000.c (rs6000_function_arg_advance): Likewise.
(rs6000_function_arg, setup_incoming_varargs): Likewise.
(rs6000_pass_by_reference, rs6000_arg_partial_bytes): Likewise.
* config/picochip/picochip.c (picochip_arg_partial_bytes): Likewise.
(picochip_function_arg, picochip_incoming_function_arg): Likewise.
(picochip_arg_advance): Likewise.
* config/mcore/mcore.c (mcore_setup_incoming_varargs): Likewise.
(mcore_arg_partial_bytes, mcore_function_arg): Likewise.
(mcore_function_arg_advance): Likewise.
* config/score/score.c (score_pass_by_reference): Likewise.
(score_function_arg_advance): Likewise.
(score_arg_partial_bytes): Likewise.  Make static.
* config/score/score-protos.h (score_arg_partial_bytes): Don't declare.
* config/arm/arm.c (arm_arg_partial_bytes): Replace
CUMULATIVE_ARGS* argument type with cumulative_args_t.
(arm_function_arg, arm_function_arg_advance): Likewise.
(arm_setup_incoming_varargs, arm_pass_by_reference): Likewise.
* config/pa/pa.c (pa_pass_by_reference): Likewise.
(pa_arg_partial_bytes, pa_function_arg_advance): Likewise.
(pa_function_arg): Likewise.
* config/mips/mips.c (mips_strict_argument_naming): Likewise.
(mips_function_arg, mips_function_arg_advance): Likewise.
(mips_arg_partial_bytes, mips_pass_by_reference): Likewise.
(mips_callee_copies, mips_setup_incoming_varargs): Likewise.
* config/vax/vax.c (vax_function_arg): Likewise.
(vax_function_arg_advance): Likewise.
* config/h8300/h8300.c (h8300_function_arg): Likewise.
(h8300_function_arg_advance): Likewise.
* config/v850/v850.c (v850_pass_by_reference): Likewise.
(v850_strict_argument_naming, v850_function_arg): Likewise.
(v850_arg_partial_bytes, v850_function_arg_advance): Likewise.
(v850_setup_incoming_varargs): Likewise.
* config/mmix/mmix.c (mmix_setup_incoming_varargs): Likewise.
(mmix_function_arg_advance, mmix_function_incoming_arg): Likewise.
(mmix_function_arg, mmix_pass_by_reference): Likewise.
(mmix_function_arg_1): Replace const CUMULATIVE_ARGS* argument type
with const void *.
* config/bfin/bfin.c (setup_incoming_varargs): Replace
CUMULATIVE_ARGS* argument type with cumulative_args_t.
(bfin_function_arg_advance, bfin_function_arg): Likewise.
(bfin_arg_partial_bytes, bfin_pass_by_reference): Likewise.
* calls.c (emit_call_1): Change type of args_so_far to
cumulative_args_t.  Changed all callers.
(initialize_argument_information): Likewise.
(expand_call, emit_library_call_value_1): Use pack_cumulative_args.
* dse.c (get_call_args): Likewise.
* expr.c (block_move_libcall_safe_for_call_parm): Likewise.
* function.c (pass_by_reference, reference_callee_copied): Likewise.
(struct assign_parm_data_all): Rename args_so_far to args_so_far_v.
New member args_so_far_v.  Changed all users.
* var-tracking.c (prepare_call_arguments): Use pack_cumulative_args.
* config/iq2000/iq2000.c (iq2000_expand_prologue): Likewise.
* config/mips/mips.c (mips_output_args_xfer): Likewise.
* config/s390/s390.c (s390_call_saved_register_used): Likewise.
* config/sh/sh.c (sh_output_mi_thunk): Likewise.
* config/microblaze/microblaze.c (microblaze_expand_prologue): Likewise.
* config/m32r/m32r.c (m32r_return_in_memory): Adjust for changed
m32r_pass_by_reference.
gcc/ada:
* gcc-interface/decl.c (gnat_to_gnu_param): Use pack_cumulative_args.

From-SVN: r175103

13 years agotree-vectorizer.h (vect_recog_func_ptr): Change the first argument to be a VEC of...
Ira Rosen [Thu, 16 Jun 2011 12:08:37 +0000 (12:08 +0000)]
tree-vectorizer.h (vect_recog_func_ptr): Change the first argument to be a VEC of statements.

        * tree-vectorizer.h (vect_recog_func_ptr): Change the first
        argument to be a VEC of statements.
        * tree-vect-loop.c (vect_determine_vectorization_factor):
        Remove the assert that pattern statements have to have their
        vector type set.
        * tree-vect-patterns.c (vect_recog_widen_sum_pattern):
        Change the first argument to be a VEC of statements.  Update
        documentation.
        (vect_recog_dot_prod_pattern, vect_recog_pow_pattern): Likewise.
        (vect_handle_widen_mult_by_const): New function.
        (vect_recog_widen_mult_pattern):  Change the first argument to
        be a VEC of statements.  Update documentation.  Check that the
        constant is INTEGER_CST.  Support multiplication by a constant
        that fits an intermediate type - call
        vect_handle_widen_mult_by_const.
        (vect_pattern_recog_1): Update vect_recog_func_ptr and its
        call.  Handle additional pattern statements if necessary.

From-SVN: r175102

13 years agore PR fortran/49417 ([OOP] ICE on invalid CLASS component declaration)
Janus Weil [Thu, 16 Jun 2011 11:45:05 +0000 (13:45 +0200)]
re PR fortran/49417 ([OOP] ICE on invalid CLASS component declaration)

2011-06-16  Janus Weil  <janus@gcc.gnu.org>

PR fortran/49417
* module.c (mio_component): Make sure the 'class_ok' attribute is set
for use-associated CLASS components.
* parse.c (parse_derived): Check for 'class_ok' attribute.
* resolve.c (resolve_fl_derived): Ditto.

2011-06-16  Janus Weil  <janus@gcc.gnu.org>

PR fortran/49417
* gfortran.dg/class_43.f03: New.

From-SVN: r175101

13 years agore PR target/49427 (v850e-elf wants 850e/v850e-common.c)
Nick Clifton [Thu, 16 Jun 2011 10:21:05 +0000 (10:21 +0000)]
re PR target/49427 (v850e-elf wants 850e/v850e-common.c)

PR target/49427
* config.gcc: Set cpu_type to v850 for any V850 architecture.
(v850*-*-*): Delete explicit setting of tm_p_file, tmake_file,
md_file, extra_modes, out_file and extra_options are these are all
deduced from cpu_type.

From-SVN: r175100

13 years agolibgcc.S (__ashldi3, [...]): Set shift truncation mask to 63.
Georg-Johann Lay [Thu, 16 Jun 2011 09:32:18 +0000 (09:32 +0000)]
libgcc.S (__ashldi3, [...]): Set shift truncation mask to 63.

* config/avr/libgcc.S (__ashldi3, __ashrdi3, __lshrdi3): Set shift
truncation mask to 63.

From-SVN: r175099

13 years ago(__parityqi2): New function.
Georg-Johann Lay [Thu, 16 Jun 2011 09:18:31 +0000 (09:18 +0000)]
(__parityqi2): New function.

From-SVN: r175098

13 years agore PR target/49313 (Inefficient libgcc implementations for avr)
Georg-Johann Lay [Thu, 16 Jun 2011 09:06:44 +0000 (09:06 +0000)]
re PR target/49313 (Inefficient libgcc implementations for avr)

gcc/
PR target/49313
PR target/29524
* longlong.h: Add AVR support:
(count_leading_zeros): New macro.
(count_trailing_zeros): New macro.
(COUNT_LEADING_ZEROS_0): New macro.
* config/avr/t-avr (LIB1ASMFUNCS): Add
_ffssi2, _ffshi2, _loop_ffsqi2,
_ctzsi2, _ctzhi2, _clzdi2, _clzsi2, _clzhi2,
_paritydi2, _paritysi2, _parityhi2,
_popcounthi2,_popcountsi2, _popcountdi2, _popcountqi2,
_bswapsi2, _bswapdi2,
_ashldi3, _ashrdi3, _lshrdi3
(LIB2FUNCS_EXCLUDE): Add _clz.
* config/avr/libgcc.S (XCALL): Move up in file.
(XJMP): New C Macro.
(DEFUN): New asm macro.
(ENDF): New asm macro.
(__ffssi2): New function.
(__ffshi2): New function.
(__loop_ffsqi2): New function.
(__ctzsi2): New function.
(__ctzhi2): New function.
(__clzdi2): New function.
(__clzsi2): New function.
(__clzhi2): New function.
(__paritydi2): New function.
(__paritysi2): New function.
(__parityhi2): New function.
(__popcounthi2): New function.
(__popcountsi2): New function.
(__popcountdi2): New function.
(__popcountqi2): New function.
(__bswapsi2): New function.
(__bswapdi2): New function.
(__ashldi3): New function.
(__ashrdi3): New function.
(__lshrdi3): New function.
Fix suspicous lines.

libgcc/
PR target/49313
PR target/29524
* config/avr/t-avr: Fix line endings.
(intfuncs16): Remove _ffsXX2,  _clzXX2, _ctzXX2, _popcountXX2,
_parityXX2.

From-SVN: r175097

13 years agogimple.c (canonicalize_cond_expr_cond): (bool)x is not the same as x != 0.
Richard Guenther [Thu, 16 Jun 2011 08:41:50 +0000 (08:41 +0000)]
gimple.c (canonicalize_cond_expr_cond): (bool)x is not the same as x != 0.

2011-06-16  Richard Guenther  <rguenther@suse.de>

* gimple.c (canonicalize_cond_expr_cond): (bool)x is not
the same as x != 0.
* fold-const.c (fold_binary_loc): Do not fold X & 1 != 0 to
(bool) X & 1.
* ipa-prop.c (ipa_analyze_indirect_call_uses): Also allow
equality compares against zero for the lower bit.

From-SVN: r175096

13 years agore PR target/44618 (wrong code with -frename-registers)
Jakub Jelinek [Thu, 16 Jun 2011 07:49:58 +0000 (09:49 +0200)]
re PR target/44618 (wrong code with -frename-registers)

2011-06-13  Edmar Wienskoski  <edmar@freescale.com>

PR target/44618
* config/rs6000/rs6000.md (save_gpregs_<mode>): Replaced pattern
with a set of similar patterns, where the MATCH_OPERAND for the
function argument is replaced with individual references to hardware
registers.
(save_fpregs_<mode>): Ditto
(restore_gpregs_<mode>): Ditto
(return_and_restore_gpregs_<mode>): Ditto
(return_and_restore_fpregs_<mode>): Ditto
(return_and_restore_fpregs_aix_<mode>): Ditto

* gcc.target/powerpc/outofline_rnreg.c: New testcase.

From-SVN: r175093

13 years agore PR tree-optimization/49419 (gcc -O2 miscompiles gp2c)
Jakub Jelinek [Thu, 16 Jun 2011 07:45:17 +0000 (09:45 +0200)]
re PR tree-optimization/49419 (gcc -O2 miscompiles gp2c)

PR tree-optimization/49419
* tree-vrp.c (execute_vrp): Call init_range_assertions
before estimate_numbers_of_iterations, call
free_number_of_iterations_estimates before calling
remove_range_assertions.

* gcc.c-torture/execute/pr49419.c: New test.

From-SVN: r175092

13 years agoSMS: Fix calculation of row_rest_count
Revital Eres [Thu, 16 Jun 2011 06:25:51 +0000 (06:25 +0000)]
SMS: Fix calculation of row_rest_count

From-SVN: r175091

13 years agoSMS: Fix violation of memory dependence
Revital Eres [Thu, 16 Jun 2011 04:03:06 +0000 (04:03 +0000)]
SMS: Fix violation of memory dependence

From-SVN: r175090