gcc.git
11 years agore PR target/57736 (ICE in emit_move_insn with __builtin_ia32_rdtsc)
Jakub Jelinek [Fri, 28 Jun 2013 20:25:35 +0000 (22:25 +0200)]
re PR target/57736 (ICE in emit_move_insn with __builtin_ia32_rdtsc)

PR target/57736
* config/i386/i386.c (ix86_expand_builtin): If target == NULL
and mode is VOIDmode, don't create a VOIDmode pseudo to copy result
into.

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

From-SVN: r200555

11 years agoImplemented Jason Merrill's suggestions on Array Notation C++.
Balaji V. Iyer [Fri, 28 Jun 2013 20:04:36 +0000 (20:04 +0000)]
Implemented Jason Merrill's suggestions on Array Notation C++.

gcc/ChangeLog
2013-06-28  Balaji V. Iyer  <balaji.v.iyer@intel.com>

        * builtins.def: Fixed the function type of CILKPLUS_BUILTIN.

gcc/c/ChangeLog
2013-06-28  Balaji V. Iyer  <balaji.v.iyer@intel.com>

        * c-parser.c (c_parser_array_notation): Removed rejection of array
        notations in an array of function pointers.

gcc/c-family/ChangeLog
2013-06-28  Balaji V. Iyer  <balaji.v.iyer@intel.com>

        * array-notation-common.c (length_mismatch_in_expr_p): Collapsed two
        if-statements and compared the trees directly using tree_int_cst_equal.
        (find_rank): Checked for array notations in function name to handle
        array notations in function pointers.
        (extract_array_notation_exprs): Likewise.
        (replace_array_notations): Likewise.
        (cilkplus_extract_an_triplets): Replaced safe_push with
        safe_grow_cleared.  Also removed an unnecessary check to see if the
        node is of type ARRAY_NOTATION_REF.
        (fix_sec_implicit_args): Removed an unnecessary check for ADDR_EXPR.
        Also switched two if-statements to remove an unnecessary comparison.

gcc/cp/ChangeLog
2013-06-28  Balaji V. Iyer  <balaji.v.iyer@intel.com>

        * parser.c (cp_parser_array_notation): Removed rejection array notation
        of type function pointers. Added handling of array expressions when
        Cilk Plus is enabled.  Took out type-checking.
        (cp_parser_postfix_open_square_expression): Moved normal array expr.
        parsing into cp_parser_array_notation when cilkplus is enabled.
        (cp_parser_compound_statement): Removed expansion of array notations.
        (cp_parser_ctor_initializer_opt_and_function_body): Likewise.
        (cp_parser_function_definition_after_declarator): Likewise.
        (cp_parser_selection_statement): Removed error reporting.
        (cp_parser_iteration_statement): Likewise.
        (cp_parser_direct_declarator): Removed error checking/reporting if
        array notations are used in the declarator.
        * pt.c (instantiate_decl): Likewise.
        (type_unification_real): Removed a check for ARRAY_NOTATION_REF.
        (cxx_eval_constant_expression): Removed ARRAY_NOTATION_REF case.
        (potential_constant_expression_1): Returned false for ARRAY_NOTATION_REF
        case.
        * cp-gimplify.c (cp_genericize): Added expansion of array notation
        expressions here.
        * cp-array-notation.c (make_triplet_val_inv): Removed loc and cry
        parameters.  Replaced build_decls with get_temp_regvar with type as
        ptrdiff.
        (create_array_refs): Made the type-casting to ptrdiff_type.
        (replace_invariant_var): Added a check for void return type before
creating new var.  Replaced build_decl and build_min_nt_loc with
        get_temp_regvar.
        (expand_an_in_modify_expr): Ditto.  Replaced body of redundant else with
        gcc_unreachable.  Removed few unwanted checks.  Made induction variable
        type as ptrdiff_type.  Removed loc and complain arguments passed into
        make_triplet_val_inv.  Replaced all modify expression's code from NOP
        EXPR to INIT EXPR.  Replaced all forceful appending into stmt. list
        with the non-forceful one.  Replaced some integer conversion and
        equality-checking to using tree_int_cst_equal.
        (expand_sec_reduce_builtin): All changes mentioned in above function
        expand_an_in_modify_expr.  Made the new variable type of
        SEC_REDUCE_ANY/ALL_{NON}ZERO intrinsic functions as bool.
        (expand_array_notation_exprs): Removed SWITCH_EXPR case.  Moved all
        the error reporting from parser to this function.  Removed unwanted
        statements and checks from SWITCH_STMT, WHILE_STMT, and DO_STMT cases.
        (cilkplus_an_triplet_types_ok_p): Removed rejection of array notation
        in function pointers.
        (cp_expand_cond_array_notations): Added a new if statements to check
        if condition has a zero rank.  If so, then just return.
        (expand_return_expr): Added a check for return expressions with a rank.
        Replaced get_tmp_regvar with a create_temporary_var.
        (build_array_notation_ref): Simplified and removed unwanted if-stmts.
        Moved common code outside if-statements.  Moved type-checking from
        parser to here.
        * semantics.c (finish_return_stmt): Removed a check for return exprs.
        with a rank.
        * call.c (convert_like_real): Removed a check for array notation
        expression in a function.
        (build_over_call): Likewise.
        (magic_varargs_p): Added a check for builtin array notation function.
        Made this function non-static and removed its prototype.
        * cp-tree.h (magic_varargs_p): New prototype.
        * typeck.c (cp_build_function_call_vec): Removed automatic setting of
        nargs to the param->length when builtin reduction function is used.
        (convert_arguments): Replaced check for a constant_p function with
        margic_varargs_p function call.
        (cp_build_binary_op): Removed calling of the function
        find_correct_array_notation_type.
        (cp_build_addr_expr_1): Removed an unwanted if-statement.
        (convert_for_assignment): Removed automatic return of rhs when array
        notation builtin function is used.

gcc/testsuite/ChangeLog
2013-06-28  Balaji V. Iyer  <balaji.v.iyer@intel.com>

        * c-c++-common/cilk-plus/AN/decl-ptr-colon.c (main): Made this testcase
        c specific.
        * c-c++-common/cilk-plus/AN/decl-ptr-colon.c (main): Changed dg-error
        strings to match the fixed error messages.
        * c-c++-common/cilk-plus/AN/misc.c (main): Likewise.
        * c-c++-common/cilk-plus/AN/rank_mismatch.c (main): Added a new error
        message check.

From-SVN: r200554

11 years agolra-constraints.c (need_for_split_p): Check call used hard regs living through calls.
Vladimir Makarov [Fri, 28 Jun 2013 19:43:39 +0000 (19:43 +0000)]
lra-constraints.c (need_for_split_p): Check call used hard regs living through calls.

2013-06-28  Vladimir Makarov  <vmakarov@redhat.com>

* lra-constraints.c (need_for_split_p): Check call used hard regs
living through calls.

From-SVN: r200553

11 years agore PR target/57744 (Power8 support has problems with quad word atomic instructions)
Michael Meissner [Fri, 28 Jun 2013 16:15:17 +0000 (16:15 +0000)]
re PR target/57744 (Power8 support has problems with quad word atomic instructions)

[gcc]
2013-06-28  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/57744
* config/rs6000/rs6000.h (MODES_TIEABLE_P): Do not allow PTImode
to tie with any other modes.  Eliminate Altivec vector mode tests,
since these are a subset of ALTIVEC or VSX vector modes.  Simplify
code, to return 0 if testing MODE2 for a condition, if we've
already tested MODE1 for the same condition.

[gcc/testsuite]
2013-06-28  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/57744
* gcc.target/powerpc/pr57744.c: New test to make sure lqarx and
stqcx. get even registers.

From-SVN: r200538

11 years ago*: Move inside testsuite/21_strings/basic_string/operations/data/.
Paolo Carlini [Fri, 28 Jun 2013 16:01:08 +0000 (16:01 +0000)]
*: Move inside testsuite/21_strings/basic_string/operations/data/.

2013-06-27  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/21_strings/basic_string/operations/*: Move inside
testsuite/21_strings/basic_string/operations/data/.
* testsuite/21_strings/basic_string/compare/*: Move inside
testsuite/21_strings/basic_string/operations/.
* testsuite/21_strings/basic_string/find/*: Likewise.
* testsuite/21_strings/basic_string/rfind/*: Likewise.
* testsuite/21_strings/basic_string/substr/*: Likewise.

From-SVN: r200537

11 years ago[AArch64] Fix layout of aarch64_cannot_force_const_mem.
Marcus Shawcroft [Fri, 28 Jun 2013 15:22:48 +0000 (15:22 +0000)]
[AArch64] Fix layout of aarch64_cannot_force_const_mem.

From-SVN: r200532

11 years ago[AArch64] Update comment w.r.t SYMBOL_TINY_ABSOLUTE address model.
Marcus Shawcroft [Fri, 28 Jun 2013 15:17:19 +0000 (15:17 +0000)]
[AArch64] Update comment w.r.t SYMBOL_TINY_ABSOLUTE address model.

From-SVN: r200531

11 years agoDisable strassen.f90 test for aarch64 tiny memory.
Marcus Shawcroft [Fri, 28 Jun 2013 12:45:57 +0000 (12:45 +0000)]
Disable strassen.f90 test for aarch64 tiny memory.

This test case is too large to fit into the aarch64 tiny memory model.

From-SVN: r200521

11 years ago[AArch64] Remove aarch64_symbolic_constant_p.
Marcus Shawcroft [Fri, 28 Jun 2013 12:26:20 +0000 (12:26 +0000)]
[AArch64] Remove aarch64_symbolic_constant_p.

From-SVN: r200519

11 years agoconstraints.md (Ts): New constraint.
Kyrylo Tkachov [Fri, 28 Jun 2013 11:16:03 +0000 (11:16 +0000)]
constraints.md (Ts): New constraint.

2013-06-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

* config/arm/constraints.md (Ts): New constraint.
* config/arm/arm.md (arm_movqi_insn): Add alternatives for
16-bit encodings.
(compare_scc): Use "Ts" constraint for operand 0.
(ior_scc_scc): Likewise.
(and_scc_scc): Likewise.
(and_scc_scc_nodom): Likewise.
(ior_scc_scc_cmp): Likewise for operand 7.
(and_scc_scc_cmp): Likewise.
* config/arm/thumb2.md (thumb2_movsi_insn):
Add alternatives for 16-bit encodings.
(thumb2_movhi_insn): Likewise.
(thumb2_movsicc_insn): Likewise.
(thumb2_and_scc): Take 'and' outside cond_exec.  Use "Ts" constraint.
(thumb2_negscc): Use "Ts" constraint.
Move mvn instruction outside cond_exec block.
* config/arm/vfp.md (thumb2_movsi_vfp): Add alternatives
for 16-bit encodings.

From-SVN: r200515

11 years agoarm.md (arm_mulsi3_v6): Add alternative for 16-bit encoding.
Kyrylo Tkachov [Fri, 28 Jun 2013 10:56:27 +0000 (10:56 +0000)]
arm.md (arm_mulsi3_v6): Add alternative for 16-bit encoding.

2013-06-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

* config/arm/arm.md (arm_mulsi3_v6): Add alternative for 16-bit
encoding.
(mulsi3addsi_v6): Disable predicable variant for arm_restrict_it.
(mulsi3subsi): Likewise.
(mulsidi3adddi): Likewise.
(mulsidi3_v6): Likewise.
(umulsidi3_v6): Likewise.
(umulsidi3adddi_v6): Likewise.
(smulsi3_highpart_v6): Likewise.
(umulsi3_highpart_v6): Likewise.
(mulhisi3tb): Likewise.
(mulhisi3bt): Likewise.
(mulhisi3tt): Likewise.
(maddhisi4): Likewise.
(maddhisi4tb): Likewise.
(maddhisi4tt): Likewise.
(maddhidi4): Likewise.
(maddhidi4tb): Likewise.
(maddhidi4tt): Likewise.
(zeroextractsi_compare0_scratch): Likewise.
(insv_zero): Likewise.
(insv_t2): Likewise.
(anddi_notzesidi_di): Likewise.
(anddi_notsesidi_di): Likewise.
(andsi_notsi_si): Likewise.
(iordi_zesidi_di): Likewise.
(xordi_zesidi_di): Likewise.
(andsi_iorsi3_notsi): Likewise.
(smax_0): Likewise.
(smax_m1): Likewise.
(smin_0): Likewise.
(not_shiftsi): Likewise.
(unaligned_loadsi): Likewise.
(unaligned_loadhis): Likewise.
(unaligned_loadhiu): Likewise.
(unaligned_storesi): Likewise.
(unaligned_storehi): Likewise.
(extv_reg): Likewise.
(extzv_t2): Likewise.
(divsi3): Likewise.
(udivsi3): Likewise.
(arm_zero_extendhisi2addsi): Likewise.
(arm_zero_extendqisi2addsi): Likewise.
(compareqi_eq0): Likewise.
(arm_extendhisi2_v6): Likewise.
(arm_extendqisi2addsi): Likewise.
(arm_movt): Likewise.
(thumb2_ldrd): Likewise.
(thumb2_ldrd_base): Likewise.
(thumb2_ldrd_base_neg): Likewise.
(thumb2_strd): Likewise.
(thumb2_strd_base): Likewise.
(thumb2_strd_base_neg): Likewise.
(arm_negsi2): Add alternative for 16-bit encoding.
(arm_one_cmplsi2): Likewise.

From-SVN: r200513

11 years agore PR c++/57509 (Segmentation fault when using __builtin_shuffle in templated class.)
Marc Glisse [Fri, 28 Jun 2013 10:31:39 +0000 (12:31 +0200)]
re PR c++/57509 (Segmentation fault when using __builtin_shuffle in templated class.)

2013-06-28  Marc Glisse  <marc.glisse@inria.fr>

PR c++/57509
* g++.dg/ext/pr57509.C: Pass vectors by reference to avoid warnings.

From-SVN: r200511

11 years agopredicates.md (arm_cond_move_operator): New predicate.
Kyrylo Tkachov [Fri, 28 Jun 2013 10:05:27 +0000 (10:05 +0000)]
predicates.md (arm_cond_move_operator): New predicate.

2013-06-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

* config/arm/predicates.md (arm_cond_move_operator): New predicate.
* config/arm/arm.md (movsfcc): Use arm_cond_move_operator predicate.
(movdfcc): Likewise.
* config/arm/vfp.md (*thumb2_movsf_vfp):
Disable predication for arm_restrict_it.
(*thumb2_movsfcc_vfp): Disable for arm_restrict_it.
(*thumb2_movdfcc_vfp): Likewise.
(*abssf2_vfp, *absdf2_vfp, *negsf2_vfp, *negdf2_vfp,*addsf3_vfp,
*adddf3_vfp, *subsf3_vfp, *subdf3_vfpc, *divsf3_vfp,*divdf3_vfp,
*mulsf3_vfp, *muldf3_vfp, *mulsf3negsf_vfp, *muldf3negdf_vfp,
*mulsf3addsf_vfp, *muldf3adddf_vfp, *mulsf3subsf_vfp,
*muldf3subdf_vfp, *mulsf3negsfaddsf_vfp, *fmuldf3negdfadddf_vfp,
*mulsf3negsfsubsf_vfp, *muldf3negdfsubdf_vfp, *fma<SDF:mode>4,
*fmsub<SDF:mode>4, *fnmsub<SDF:mode>4, *fnmadd<SDF:mode>4,
*extendsfdf2_vfp, *truncdfsf2_vfp, *extendhfsf2, *truncsfhf2,
*truncsisf2_vfp, *truncsidf2_vfp, fixuns_truncsfsi2, fixuns_truncdfsi2,
*floatsisf2_vfp, *floatsidf2_vfp, floatunssisf2, floatunssidf2,
*sqrtsf2_vfp, *sqrtdf2_vfp, *cmpsf_vfp, *cmpsf_trap_vfp, *cmpdf_vfp,
*cmpdf_trap_vfp, <vrint_pattern><SDF:mode>2):
Disable predication for arm_restrict_it.

From-SVN: r200510

11 years agore PR middle-end/36041 (Speed up builtin_popcountll)
Jakub Jelinek [Fri, 28 Jun 2013 09:28:40 +0000 (11:28 +0200)]
re PR middle-end/36041 (Speed up builtin_popcountll)

PR middle-end/36041
* libgcc2.c (POPCOUNTCST2, POPCOUNTCST4, POPCOUNTCST8, POPCOUNTCST):
Define.
(__popcountSI2): For __SIZEOF_INT__ > 2 targets use arithmetics
instead of table lookups.
(__popcountDI2): Likewise.

From-SVN: r200506

11 years agobmiintrin.h (_bextr_u32): New.
Kirill Yukhin [Fri, 28 Jun 2013 09:02:46 +0000 (09:02 +0000)]
bmiintrin.h (_bextr_u32): New.

ChangeLog:
* config/i386/bmiintrin.h (_bextr_u32): New.
(_bextr_u64): Ditto.

testsuite/ChangeLog:
* gcc.target/i386/bmi-1.c: Extend with new instrinsic.
Fix scan patterns.
* gcc.target/i386/bmi-1.c: Ditto.
* gcc.target/i386/bmi-bextr-4.c: New.
* gcc.target/i386/bmi-bextr-5.c: Ditto.

From-SVN: r200505

11 years agore PR c++/57682 (Uniform initialization syntax rejected in function-try-block)
Paolo Carlini [Fri, 28 Jun 2013 08:53:03 +0000 (08:53 +0000)]
re PR c++/57682 (Uniform initialization syntax rejected in function-try-block)

/cp
2013-06-28  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/57682
* parser.c (cp_parser_save_member_function_body): Handle correctly
curly braces in function-try-block mem-initializers.

/testsuite
2013-06-28  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/57682
* g++.dg/cpp0x/initlist73.C: New.

From-SVN: r200504

11 years agoatomic-flag.c: Add dg-require-effective-target sync_*.
Meador Inge [Fri, 28 Jun 2013 00:55:13 +0000 (00:55 +0000)]
atomic-flag.c: Add dg-require-effective-target sync_*.

gcc/testsuite/

2013-06-27  Meador Inge  <meadori@codesourcery.com>

* gcc.dg/atomic-flag.c: Add dg-require-effective-target sync_*.
* g++.dg/simulate-thread/atomics-2.C: Likewise.
* g++.dg/simulate-thread/atomics-1.C: Likewise.

From-SVN: r200501

11 years agoDaily bump.
GCC Administrator [Fri, 28 Jun 2013 00:16:29 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r200500

11 years agogcc/
Richard Sandiford [Thu, 27 Jun 2013 21:31:05 +0000 (21:31 +0000)]
gcc/
* config.gcc (mips*-mti-elf*, mips*-sde-elf*, mips64r5900-*-elf*)
(mips64r5900el-*-elf*): Include mips/n32-elf.h.
* config/mips/sde.h (LOCAL_LABEL_PREFIX, NO_DOLLAR_IN_LABEL)
(LONG_DOUBLE_TYPE_SIZE, LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Move to...
* config/mips/n32-elf.h: ...this new file.

From-SVN: r200496

11 years agore PR c++/57509 (Segmentation fault when using __builtin_shuffle in templated class.)
Marc Glisse [Thu, 27 Jun 2013 21:29:22 +0000 (23:29 +0200)]
re PR c++/57509 (Segmentation fault when using __builtin_shuffle in templated class.)

2013-06-27  Marc Glisse  <marc.glisse@inria.fr>

PR c++/57509

gcc/c-family/
* c-common.h (c_build_vec_perm_expr): New complain argument.
* c-common.c (c_build_vec_perm_expr): Likewise.
Use save_expr also in C++.

gcc/cp/
* typeck.c (cp_build_vec_perm_expr): New function.
* cp-tree.h: Declare it.
* parser.c (cp_parser_postfix_expression): Call it.
* pt.c (tsubst_copy): Handle VEC_PERM_EXPR.
(tsubst_copy_and_build): Likewise.

gcc/testsuite/
* g++.dg/ext/pr57509.C: New file.

From-SVN: r200495

11 years agocompiler: structs inherit all methods from embedded pointer fields.
Ian Lance Taylor [Thu, 27 Jun 2013 20:51:55 +0000 (20:51 +0000)]
compiler: structs inherit all methods from embedded pointer fields.

Previously if a struct S contained an embedded field *T,
a method with receiver *T would not be promoted to a method
with value receiver S.

From-SVN: r200493

11 years agore PR target/57224 (Remove __builtin_ia32_cmpngtss and __builtin_ia32_cmpngess)
Marc Glisse [Thu, 27 Jun 2013 20:07:32 +0000 (22:07 +0200)]
re PR target/57224 (Remove __builtin_ia32_cmpngtss and __builtin_ia32_cmpngess)

2013-06-27  Marc Glisse  <marc.glisse@inria.fr>

PR target/57224
* config/i386/i386.c (enum ix86_builtins, bdesc_args): Remove
IX86_BUILTIN_CMPNGTSS and IX86_BUILTIN_CMPNGESS.

From-SVN: r200492

11 years agocompiler: more consistent error message for [...]T(x)
Ian Lance Taylor [Thu, 27 Jun 2013 19:20:08 +0000 (19:20 +0000)]
compiler: more consistent error message for [...]T(x)

The message should be similar to the one for "var x [...]T",
not to the message for []T(x...).

From-SVN: r200490

11 years agomips-tables.opt: Regenerate.
Catherine Moore [Thu, 27 Jun 2013 18:56:00 +0000 (14:56 -0400)]
mips-tables.opt: Regenerate.

2013-06-27  Catherine Moore <clm@codesourcery.com>

* config/mips/mips-tables.opt: Regenerate.
* config/mips/mips-cpus.def: Add m14ke and m14kec.
* config/mips/mips.h (BASE_DRIVER_SELF_SPECS): m14ke* implies
-mdspr2.
* doc/invoke.texi: Add -m14kc.

From-SVN: r200487

11 years agore PR target/57623 (BEXTR intrinsic has memory operands switched around (fails to...
Jakub Jelinek [Thu, 27 Jun 2013 16:48:05 +0000 (18:48 +0200)]
re PR target/57623 (BEXTR intrinsic has memory operands switched around (fails to compile code))

PR target/57623
* config/i386/i386.md (bmi_bextr_<mode>): Swap predicates and
constraints of operand 1 and 2.

* gcc.target/i386/bmi-bextr-3.c: New test.

From-SVN: r200479

11 years agore PR target/57623 (BEXTR intrinsic has memory operands switched around (fails to...
Jakub Jelinek [Thu, 27 Jun 2013 16:44:17 +0000 (18:44 +0200)]
re PR target/57623 (BEXTR intrinsic has memory operands switched around (fails to compile code))

PR target/57623
* config/i386/i386.md (bmi2_bzhi_<mode>3): Swap AND arguments
to match RTL canonicalization.  Swap predicates and
constraints of operand 1 and 2.

* gcc.target/i386/bmi2-bzhi-1.c: New test.

From-SVN: r200477

11 years agolra-constraints.c (inherit_in_ebb): Process static hard regs too.
Vladimir Makarov [Thu, 27 Jun 2013 16:20:38 +0000 (16:20 +0000)]
lra-constraints.c (inherit_in_ebb): Process static hard regs too.

2013-06-27  Vladimir Makarov  <vmakarov@redhat.com>

* lra-constraints.c (inherit_in_ebb): Process static hard regs
too.  Process OP_INOUT regs for splitting too.

From-SVN: r200475

11 years agotree-vect-stmts.c (vectorizable_store): Move ptr_incr var decl before the loop, initi...
Jakub Jelinek [Thu, 27 Jun 2013 15:35:57 +0000 (17:35 +0200)]
tree-vect-stmts.c (vectorizable_store): Move ptr_incr var decl before the loop, initialize to NULL.

* tree-vect-stmts.c (vectorizable_store): Move ptr_incr var
decl before the loop, initialize to NULL.
(vectorizable_load): Initialize ptr_incr to NULL.

From-SVN: r200471

11 years agoaot-compile.in: Fix typo in option list.
Roland Lutz [Thu, 27 Jun 2013 13:58:20 +0000 (13:58 +0000)]
aot-compile.in: Fix typo in option list.

2013-06-20  Roland Lutz  <rlutz@hedmen.org>

  * contrib/aot-compile.in: Fix typo in option list.

From-SVN: r200469

11 years agore PR c++/57208 (Latest chromium compilation fails with enabled LTO)
Martin Jambor [Thu, 27 Jun 2013 13:49:28 +0000 (15:49 +0200)]
re PR c++/57208 (Latest chromium compilation fails with enabled LTO)

2013-06-27  Martin Jambor  <mjambor@suse.cz>

PR lto/57208
* ipa-ref.h (ipa_maybe_record_reference): Declare.
* ipa-ref.c (ipa_maybe_record_reference): New function.
* cgraphclones.c (cgraph_create_virtual_clone): Use it.
* ipa-cp.c (create_specialized_node): Record potential references from
aggvals.
* Makefile.in (ipa-ref.o): Add IPA_REF_H to dependencies.

From-SVN: r200468

11 years agoaarch64.c (aarch64_force_temporary): Add an extra parameter 'mode' of type 'enum...
Yufeng Zhang [Thu, 27 Jun 2013 12:32:07 +0000 (12:32 +0000)]
aarch64.c (aarch64_force_temporary): Add an extra parameter 'mode' of type 'enum machine_mode mode'...

gcc/

* config/aarch64/aarch64.c (aarch64_force_temporary): Add an extra
parameter 'mode' of type 'enum machine_mode mode'; change to pass
'mode' to force_reg.
(aarch64_add_offset): Update calls to aarch64_force_temporary.
(aarch64_expand_mov_immediate): Likewise.

From-SVN: r200467

11 years agoaarch64.c (aarch64_add_offset): Change to pass 'mode' to aarch64_plus_immediate and...
Yufeng Zhang [Thu, 27 Jun 2013 12:30:11 +0000 (12:30 +0000)]
aarch64.c (aarch64_add_offset): Change to pass 'mode' to aarch64_plus_immediate and gen_rtx_PLUS.

gcc/

* config/aarch64/aarch64.c (aarch64_add_offset): Change to pass
'mode' to aarch64_plus_immediate and gen_rtx_PLUS.

From-SVN: r200466

11 years ago*: Move inside testsuite/21_strings/basic_string/modifiers/.
Paolo Carlini [Thu, 27 Jun 2013 12:15:34 +0000 (12:15 +0000)]
*: Move inside testsuite/21_strings/basic_string/modifiers/.

2013-06-27  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/21_strings/basic_string/append/*: Move inside
testsuite/21_strings/basic_string/modifiers/.
* testsuite/21_strings/basic_string/assign/*: Likewise.
* testsuite/21_strings/basic_string/insert/*: Likewise.
* testsuite/21_strings/basic_string/replace/*: Likewise.
* testsuite/21_strings/basic_string/modifiers/pop_back/char/
pop_back.cc: Rename to 1.cc.
* testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/
pop_back.cc: Likewise.
* testsuite/ext/vstring/assign/*: Move inside
testsuite/ext/vstring/modifiers/.

From-SVN: r200465

11 years agore PR c++/57172 ([C++11][DR 1164] Template overload resolution ambiguous for T&&...
Marc Glisse [Thu, 27 Jun 2013 11:34:48 +0000 (13:34 +0200)]
re PR c++/57172 ([C++11][DR 1164] Template overload resolution ambiguous for T&& versus T&)

2013-06-27  Marc Glisse  <marc.glisse@inria.fr>

PR c++/57172
gcc/cp/
* pt.c (more_specialized_fn): If both arguments are references,
give priority to an lvalue.

gcc/testsuite/
* g++.dg/cpp0x/pr57172.C: New testcase.

From-SVN: r200463

11 years agostl_deque.h (deque<>::insert(iterator, const value_type&), [...]): Adjust C++11 signa...
Paolo Carlini [Thu, 27 Jun 2013 09:51:21 +0000 (09:51 +0000)]
stl_deque.h (deque<>::insert(iterator, const value_type&), [...]): Adjust C++11 signatures to take a const_iterator.

2013-06-27  Paolo Carlini  <paolo.carlini@oracle.com>

* include/bits/stl_deque.h (deque<>::insert(iterator,
const value_type&), deque<>::insert(iterator, value_type&&),
deque<>::emplace(iterator, _Args&&...)): Adjust C++11 signatures to
take a const_iterator.
(deque<>::erase): Simplify.
* include/bits/stl_list.h: Likewise.
(_List_iterator<>::_M_const_cast): Add.
* include/bits/stl_vector.h: Likewise.
* include/bits/stl_bvector.h: Likewise.
(_Bit_iterator::_M_const_cast): Add.
* include/bits/deque.tcc: Adjust definitions.
* include/bits/list.tcc: Likewise.
* include/bits/vector.tcc: Likewise.
* include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
Define trivial version in C++98 mode.
* include/ext/vstring.h (__versa_string<>::insert(iterator, _CharT),
__versa_string<>::replace(iterator, iterator, const __versa_string&),
__versa_string<>::replace(iterator, iterator, const _CharT*,
size_type), __versa_string<>::replace(iterator, iterator,
const _CharT*), __versa_string<>::replace(iterator, iterator,
size_type, _CharT)): Adjust C++11 signatures to take a pair of
const_iterators.
* include/debug/deque: Adjust.
* include/debug/list: Likewise.
* include/debug/vector: Likewise.
* include/profile/deque: Likewise.
* include/profile/list: Likewise.
* include/profile/vector: Likewise.
(vector<>::emplace): Add.
* testsuite/util/exception/safety.h: Update.
* testsuite/23_containers/deque/modifiers/emplace/const_iterator.cc:
New.
* testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
Likewise.
* testsuite/23_containers/list/modifiers/emplace/const_iterator.cc:
Likewise.
* testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
Likewise.
* testsuite/23_containers/vector/bool/modifiers/insert/
const_iterator.cc: Likewise.
* testsuite/23_containers/vector/modifiers/emplace/const_iterator.cc:
Likewise.
* testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
Likewise.
* testsuite/ext/vstring/modifiers/insert/char/const_iterator.cc:
Likewise.
* testsuite/ext/vstring/modifiers/insert/wchar_t/const_iterator.cc:
Likewise.
* testsuite/ext/vstring/modifiers/replace/char/const_iterator.cc:
Likewise.
* testsuite/ext/vstring/modifiers/replace/wchar_t/const_iterator.cc:
Likewise.

* testsuite/ext/vstring/modifiers/char/54577.cc: Move to testsuite/
ext/vstring/modifiers/erase/char/.
* testsuite/ext/vstring/modifiers/wchar_t/54577.cc: Move to testsuite/
ext/vstring/modifiers/wchar_t/.
* testsuite/ext/vstring/modifiers/char/pop_back.cc: Move to testsuite/
ext/vstring/modifiers/pop_back/char/.
* testsuite/ext/vstring/modifiers/wchar_t/pop_back.cc: Move to
testsuite/ext/vstring/modifiers/pop_back/wchar_t/.

* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
Adjust dg-error line number.
* testsuite/23_containers/deque/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/deque/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
Likewise.
* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
Likewise.
* testsuite/23_containers/list/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/list/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
Likewise.
* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
Likewise.

From-SVN: r200458

11 years agos390.c: Rename UNSPEC_CCU_TO_INT to UNSPEC_STRCMPCC_TO_INT and UNSPEC_CCZ_TO_INT...
Andreas Krebbel [Thu, 27 Jun 2013 07:44:11 +0000 (07:44 +0000)]
s390.c: Rename UNSPEC_CCU_TO_INT to UNSPEC_STRCMPCC_TO_INT and UNSPEC_CCZ_TO_INT to...

2013-06-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* config/s390/s390.c: Rename UNSPEC_CCU_TO_INT to
UNSPEC_STRCMPCC_TO_INT and UNSPEC_CCZ_TO_INT to UNSPEC_CC_TO_INT.
(struct machine_function): Add tbegin_p.
(s390_canonicalize_comparison): Fold CC mode compares to
conditional jump if possible.
(s390_emit_jump): Return the emitted jump.
(s390_branch_condition_mask, s390_branch_condition_mnemonic):
Handle CCRAWmode compares.
(s390_option_override): Default to -mhtm if available.
(s390_reg_clobbered_rtx): Handle floating point regs as well.
(s390_regs_ever_clobbered): Use s390_regs_ever_clobbered also for
FPRs instead of df_regs_ever_live_p.
(s390_optimize_nonescaping_tx): New function.
(s390_init_frame_layout): Extend clobbered_regs array to cover
FPRs as well.
(s390_emit_prologue): Call s390_optimize_nonescaping_tx.
(s390_expand_tbegin): New function.
(enum s390_builtin): New enum definition.
(code_for_builtin): New array definition.
(s390_init_builtins): New function.
(s390_expand_builtin): New function.
(TARGET_INIT_BUILTINS): Define.
(TARGET_EXPAND_BUILTIN): Define.
* common/config/s390/s390-common.c (processor_flags_table): Add
PF_TX.
* config/s390/predicates.md (s390_comparison): Handle CCRAWmode.
(s390_alc_comparison): Likewise.
* config/s390/s390-modes.def: Add CCRAWmode.
* config/s390/s390.h (processor_flags): Add PF_TX.
(TARGET_CPU_HTM): Define macro.
(TARGET_HTM): Define macro.
(TARGET_CPU_CPP_BUILTINS): Define __HTM__ for htm.
* config/s390/s390.md: Rename UNSPEC_CCU_TO_INT to
UNSPEC_STRCMPCC_TO_INT and UNSPEC_CCZ_TO_INT to UNSPEC_CC_TO_INT.
(UNSPECV_TBEGIN, UNSPECV_TBEGINC, UNSPECV_TEND, UNSPECV_TABORT)
(UNSPECV_ETND, UNSPECV_NTSTG, UNSPECV_PPA): New unspecv enum
values.
(TBEGIN_MASK, TBEGINC_MASK): New constants.
("*cc_to_int"): Move up.
("*mov<mode>cc", "*cjump_64", "*cjump_31"): Accept integer
constants other than 0.
("*ccraw_to_int"): New insn and splitter definition.
("tbegin", "tbegin_nofloat", "tbegin_retry")
("tbegin_retry_nofloat", "tbeginc", "tend", "tabort")
("tx_assist"): New expander.
("tbegin_1", "tbegin_nofloat_1", "*tbeginc_1", "*tend_1")
("*tabort_1", "etnd", "ntstg", "*ppa"): New insn definition.
* config/s390/s390.opt: Add -mhtm option.
* config/s390/s390-protos.h (s390_emit_jump): Add return type.
* config/s390/htmxlintrin.h: New file.
* config/s390/htmintrin.h: New file.
* config/s390/s390intrin.h: New file.
* doc/extend.texi: Document htm builtins.
* config.gcc: Add the new header files to extra_headers.

2013-06-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* gcc.target/s390/htm-1.c: New file.
* gcc.target/s390/htm-nofloat-1.c: New file.
* gcc.target/s390/htm-xl-intrin-1.c: New file.

2013-06-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* config/s390/target.h: Include htmintrin.h.
(_HTM_ITM_RETRIES): New macro definition.
(htm_available, htm_init, htm_begin, htm_begin_success)
(htm_commit, htm_abort, htm_abort_should_retry): New functions.

From-SVN: r200454

11 years agoDR 1589
Jason Merrill [Thu, 27 Jun 2013 02:35:52 +0000 (22:35 -0400)]
DR 1589

DR 1589
* g++.dg/cpp0x/initlist72.C: New.

From-SVN: r200451

11 years agotypeck2.c (store_init_value): Diagnose a non-constant initializer for in-class static.
Jason Merrill [Thu, 27 Jun 2013 02:35:46 +0000 (22:35 -0400)]
typeck2.c (store_init_value): Diagnose a non-constant initializer for in-class static.

* typeck2.c (store_init_value): Diagnose a non-constant
initializer for in-class static.

From-SVN: r200450

11 years agore PR c++/57408 (lambda, Variable length arrays, thread, internal compiler error...
Jason Merrill [Thu, 27 Jun 2013 02:35:39 +0000 (22:35 -0400)]
re PR c++/57408 (lambda, Variable length arrays, thread, internal compiler error: in expand_expr_real_1, at expr.c:9327)

PR c++/57408
* semantics.c (add_capture): Set type to error_mark_node after
error.

From-SVN: r200449

11 years agoDaily bump.
GCC Administrator [Thu, 27 Jun 2013 00:16:41 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r200447

11 years agoRevert 200443.
Michael Eager [Thu, 27 Jun 2013 00:02:40 +0000 (00:02 +0000)]
Revert 200443.

From-SVN: r200444

11 years agoAdd sync_compare_and_swapsi and sync_test_and_setsi.
David Holsgrove [Wed, 26 Jun 2013 23:55:52 +0000 (23:55 +0000)]
Add sync_compare_and_swapsi and sync_test_and_setsi.

2013-06-16  David Holsgrove <david.holsgrove@xilinx.com>

Add sync_compare_and_swapsi and sync_test_and_setsi.

* gcc/config/microblaze/sync.md: New file.
* gcc/config/microblaze/microblaze.md: Add UNSPEC_SYNC_CAS,
UNSPEC_SYNC_XCHG and include sync.md.
* gcc/config/microblaze/microblaze.c: Add print_operand 'y'.
* gcc/config/microblaze/constraints.md: Add memory_contraint
'Q' which is a single register.

From-SVN: r200443

11 years agocompiler: disallow fallthrough in last case of switch.
Ian Lance Taylor [Wed, 26 Jun 2013 22:58:03 +0000 (22:58 +0000)]
compiler: disallow fallthrough in last case of switch.

In spec: A "fallthrough" statement may appear as the last
statement of all but the last clause of an expression switch.

From-SVN: r200440

11 years agoabi_tag.cc: Avoid spurious fails with check-debug.
Paolo Carlini [Wed, 26 Jun 2013 22:48:06 +0000 (22:48 +0000)]
abi_tag.cc: Avoid spurious fails with check-debug.

2013-06-25  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/23_containers/map/modifiers/erase/abi_tag.cc: Avoid
spurious fails with check-debug.
* testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc:
Likewise.
* testsuite/23_containers/set/modifiers/erase/abi_tag.cc: Likewise.
* testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc:
Likewise.

From-SVN: r200438

11 years agocompiler: reject integer division by zero constant.
Ian Lance Taylor [Wed, 26 Jun 2013 22:42:35 +0000 (22:42 +0000)]
compiler: reject integer division by zero constant.

From-SVN: r200436

11 years agogcc/
Thomas Schwinge [Wed, 26 Jun 2013 21:23:43 +0000 (23:23 +0200)]
gcc/
* config/i386/gnu.h [TARGET_LIBC_PROVIDES_SSP]
(TARGET_CAN_SPLIT_STACK, TARGET_THREAD_SPLIT_STACK_OFFSET):
Undefine.

From-SVN: r200434

11 years agocompiler: forbid identifiers named "init" in package scope.
Ian Lance Taylor [Wed, 26 Jun 2013 15:47:53 +0000 (15:47 +0000)]
compiler: forbid identifiers named "init" in package scope.

From-SVN: r200426

11 years agore PR fortran/29800 (-fbounds-check: For derived types, write not also compound name)
Tobias Burnus [Wed, 26 Jun 2013 15:39:25 +0000 (17:39 +0200)]
re PR fortran/29800 (-fbounds-check: For derived types, write not also compound name)

2013-06-26  Tobias Burnus  <burnus@net-b.de>

        PR fortran/29800
        * trans-array.c (gfc_conv_array_ref): Improve out-of-bounds
        diagnostic message.
        * trans-array.c (gfc_conv_array_ref): Update prototype.
        * trans-expr.c (gfc_conv_variable): Update call.

2013-06-26  Tobias Burnus  <burnus@net-b.de>

        PR fortran/29800
        * gfortran.dg/bounds_check_17.f90: New.

From-SVN: r200425

11 years agopower8.md: New.
Michael Meissner [Wed, 26 Jun 2013 14:46:44 +0000 (14:46 +0000)]
power8.md: New.

* config/rs6000/power8.md: New.
* config/rs6000/rs6000-cpus.def (RS6000_CPU table): Adjust processor
setting for power8 entry.
* config/rs6000/t-rs6000 (MD_INCLUDES): Add power8.md.
* config/rs6000/rs6000.c (is_microcoded_insn, is_cracked_insn): Adjust
test for Power4/Power5 only.
(insn_must_be_first_in_group, insn_must_be_last_in_group): Add Power8
support.
(force_new_group): Adjust comment.
* config/rs6000/rs6000.md: Include power8.md.

Co-Authored-By: Pat Haugen <pthaugen@us.ibm.com>
Co-Authored-By: Peter Bergner <bergner@vnet.ibm.com>
From-SVN: r200423

11 years agoarm.h (MAX_CONDITIONAL_EXECUTE): Define macro.
Greta Yorsh [Wed, 26 Jun 2013 09:40:40 +0000 (10:40 +0100)]
arm.h (MAX_CONDITIONAL_EXECUTE): Define macro.

2013-06-26  Greta Yorsh  <Greta.Yorsh@arm.com>

* config/arm/arm.h (MAX_CONDITIONAL_EXECUTE): Define macro.
* config/arm/arm-protos.h (arm_max_conditional_execute): New
declaration.
(tune_params): Update comment.
* config/arm/arm.c (arm_cortex_a15_tune): Set max_cond_insns to 2.
(arm_max_conditional_execute): New function.
(thumb2_final_prescan_insn): Use max_insn_skipped and
MAX_INSN_PER_IT_BLOCK to compute maximum instructions in a block.

From-SVN: r200419

11 years agore PR c++/57640 (Explicit call of system literal operator complains about leading...
Ed Smith-Rowland [Wed, 26 Jun 2013 03:35:54 +0000 (03:35 +0000)]
re PR c++/57640 (Explicit call of system literal operator complains about leading underscore.)

gcc/cp:

2013-06-25  Ed Smith-Rowland  <3dw4rd@verizon.net>

PR c++/57640
* parser.c (cp_parser_unqualified_id): Add declarator_p to checks
to trigger warning, (cp_literal_operator_id): Remove bogus TODO comment.

gcc/testsuite:

2013-06-25  Ed Smith-Rowland  <3dw4rd@verizon.net>

PR c++/57640
* g++.dg/cpp1y/pr57640.C: New.

From-SVN: r200415

11 years ago+2013-06-25 Balaji V.
Balaji V. Iyer [Wed, 26 Jun 2013 02:31:27 +0000 (02:31 +0000)]
+2013-06-25 Balaji V.

+2013-06-25  Balaji V. Iyer  <balaji.v.iyer@intel.com>
+
+       * c-c++-common/cilk-plus/AN/gather_scatter.c: Fixed a bug of stack
+       overflow due to size of arrays.
+

From-SVN: r200414

11 years agoStatus page for C++2014 library features
Ed Smith-Rowland [Wed, 26 Jun 2013 01:24:25 +0000 (01:24 +0000)]
Status page for C++2014 library features

2013-06-25  Ed Smith-Rowland  <3dw4rd@verizon.net>

Status page for C++2014 library features
* doc/xml/faq.xml: Add link to new C++14 status page.
* doc/xml/manual/intro.xml: Ditto.
* doc/xml/manual/status_cxx2014.xml: New.

From-SVN: r200413

11 years agoabi_tag.cc: Avoid spurious fails with check-debug.
Paolo Carlini [Wed, 26 Jun 2013 00:29:40 +0000 (00:29 +0000)]
abi_tag.cc: Avoid spurious fails with check-debug.

2013-06-25  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/23_containers/map/modifiers/erase/abi_tag.cc: Avoid
spurious fails with check-debug.
* testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc:
Likewise.
* testsuite/23_containers/set/modifiers/erase/abi_tag.cc: Likewise.
* testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc:
Likewise.

From-SVN: r200411

11 years agoDaily bump.
GCC Administrator [Wed, 26 Jun 2013 00:16:47 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r200410

11 years agoReplaced Dynamic arrays with vec trees in Array Notation for C.
Balaji V. Iyer [Tue, 25 Jun 2013 20:41:21 +0000 (20:41 +0000)]
Replaced Dynamic arrays with vec trees in Array Notation for C.

gcc/c-family/ChangeLog
2013-06-21  Balaji V. Iyer  <balaji.v.iyer@intel.com>

        * array-notation-common.c (length_mismatch_in_expr): Changed the
        parameter type's from a dynamic array to a vec_tree.  Also removed
        the size parameters.
        * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
        the change above.

gcc/cp/ChangeLog
2013-06-21  Balaji V. Iyer  <balaji.v.iyer@intel.com>

        * cp-array-notation.c (cp_length_mismatch_in_expr_p): Remove.
        (expand_an_in_modify_expr): Changed a function call from the above
        removed function to length_mismatch_in_expr_p.

gcc/c/ChangeLog
2013-06-21  Balaji V. Iyer  <balaji.v.iyer@intel.com>

        * c-array-notation.c (make_triplet_val_inv): New function.
        (create_cmp_incr): Likewise.
        (create_array_refs): Likewise.
        (fix_builtin_array_notation_fn): Replaced all mallocs with tree vec.
        Also modularized common parts between functions and called the function.
        (build_array_notation_expr): Likewise.
        (fix_conditional_array_notations_1): Likewise.
        (fix_array_notation_expr): Likewise.
        (fix_array_notation_call_expr): Likewise.

From-SVN: r200405

11 years agoUpdate shift1.go test for recent changes.
Ian Lance Taylor [Tue, 25 Jun 2013 16:51:46 +0000 (16:51 +0000)]
Update shift1.go test for recent changes.

From-SVN: r200400

11 years agocompiler: Fix type determination issues.
Ian Lance Taylor [Tue, 25 Jun 2013 16:34:28 +0000 (16:34 +0000)]
compiler: Fix type determination issues.

From-SVN: r200398

11 years ago* zh_TW.po: Update.
Joseph Myers [Tue, 25 Jun 2013 16:30:13 +0000 (17:30 +0100)]
* zh_TW.po: Update.

From-SVN: r200396

11 years agore PR tree-optimization/57705 (Non-constant step induction vars not vectorized)
Jakub Jelinek [Tue, 25 Jun 2013 12:35:21 +0000 (14:35 +0200)]
re PR tree-optimization/57705 (Non-constant step induction vars not vectorized)

PR tree-optimization/57705
* tree-vect-loop.c (vect_is_simple_iv_evolution): Allow
SSA_NAME step, provided that it is not defined inside the loop.
(vect_analyze_scalar_cycles_1): Disallow SSA_NAME step in nested
loop.
(get_initial_def_for_induction): Handle SSA_NAME IV step.

* gcc.dg/vect/pr57705.c: New test.
* gcc.dg/vect/vect-iv-7.c: Add noclone attribute, remove xfail.

From-SVN: r200394

11 years agore PR middle-end/57670 (Member-pointer calls should not be redirected to builtin_unre...
Martin Jambor [Tue, 25 Jun 2013 11:09:21 +0000 (13:09 +0200)]
re PR middle-end/57670 (Member-pointer calls should not be redirected to builtin_unreachable)

2013-06-25  Martin Jambor  <mjambor@suse.cz>

PR middle-end/57670
* cgraph.h (cgraph_indirect_call_info): New flag member_ptr.
* ipa-prop.c (ipa_print_node_jump_functions): Mark member pointer
calls in the dump.
(ipa_note_param_call): Initialize member_ptr flag.
(ipa_analyze_indirect_call_uses): Set member_ptr flag.
(ipa_make_edge_direct_to_target): Bail out if member_ptr is set.
(ipa_write_indirect_edge_info): Stream member_ptr flag.
(ipa_read_indirect_edge_info): Likewise.

testsuite/
* g++.dg/ipa/pr57670.C (H): New test.

From-SVN: r200393

11 years agore PR libstdc++/57704 (std::char_traits<char>::lt is not standards-compliant)
Paolo Carlini [Tue, 25 Jun 2013 08:39:31 +0000 (08:39 +0000)]
re PR libstdc++/57704 (std::char_traits<char>::lt is not standards-compliant)

2013-06-25  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/57704
* include/bits/char_traits.h (char_traits<char>::lt): Implement
LWG 467.
* testsuite/21_strings/char_traits/requirements/char/57704.cc: New.

From-SVN: r200392

11 years agore PR middle-end/56977 (gcc -Og incorrectly warns about 'constant zero length parameter')
Richard Biener [Tue, 25 Jun 2013 08:21:31 +0000 (08:21 +0000)]
re PR middle-end/56977 (gcc -Og incorrectly warns about 'constant zero length parameter')

2013-06-25  Richard Biener  <rguenther@suse.de>

PR middle-end/56977
* passes.c (init_optimization_passes): Move pass_fold_builtins
and pass_dce earlier with -Og.

* gcc.dg/pr56977.c: New testcase.

From-SVN: r200391

11 years agoMakefile.in (clean, distclean): Remove auto-target.h and stamp-h correctly.
Chung-Ju Wu [Tue, 25 Jun 2013 08:02:11 +0000 (08:02 +0000)]
Makefile.in (clean, distclean): Remove auto-target.h and stamp-h correctly.

libgcc/
2013-06-25  Chung-Ju Wu  <jasonwucj@gmail.com>

        * Makefile.in (clean, distclean): Remove auto-target.h and stamp-h
        correctly.

From-SVN: r200390

11 years agoexpr.c (expand_expr_real_1): Fix formatting glitches.
Eric Botcazou [Tue, 25 Jun 2013 07:23:19 +0000 (07:23 +0000)]
expr.c (expand_expr_real_1): Fix formatting glitches.

* expr.c (expand_expr_real_1) <ARRAY_REF>: Fix formatting glitches.
<BIT_FIELD_REF>: Remove trailing TAB.
* varasm.c (output_constructor_bitfield): Fix formatting glitch and
remove blank line.

From-SVN: r200389

11 years agoDaily bump.
GCC Administrator [Tue, 25 Jun 2013 00:16:42 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r200387

11 years agoffi.c (ffi_prep_args_SYSV): Move var declaration before statements.
Alan Modra [Tue, 25 Jun 2013 00:08:47 +0000 (09:38 +0930)]
ffi.c (ffi_prep_args_SYSV): Move var declaration before statements.

* src/powerpc/ffi.c (ffi_prep_args_SYSV): Move var declaration
before statements.
(ffi_prep_args64): Support little-endian.
(ffi_closure_helper_SYSV, ffi_closure_helper_LINUX64): Likewise.
* src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Likewise.
* src/powerpc/ppc_closure.S (ffi_closure_SYSV): Likewise.

From-SVN: r200383

11 years agocompiler: generate dummy names for blank-named constants.
Ian Lance Taylor [Mon, 24 Jun 2013 23:12:48 +0000 (23:12 +0000)]
compiler: generate dummy names for blank-named constants.

Otherwise such const declarations are not checked.

From-SVN: r200381

11 years agocompiler: Add support for method values.
Ian Lance Taylor [Mon, 24 Jun 2013 22:11:12 +0000 (22:11 +0000)]
compiler: Add support for method values.

From-SVN: r200379

11 years agofiles.c (_cpp_stack_include): Fix the highest_location when header file is guarded...
Dehao Chen [Mon, 24 Jun 2013 17:31:45 +0000 (17:31 +0000)]
files.c (_cpp_stack_include): Fix the highest_location when header file is guarded by #ifndef and is included...

2013-06-24  Dehao Chen  <dehao@google.com>

* files.c (_cpp_stack_include): Fix the highest_location when header
file is guarded by #ifndef and is included twice.

From-SVN: r200376

11 years agoconfigure.ac (AC_CHECK_FUNCS_ONCE): Put into if statement.
Steve Ellcey [Mon, 24 Jun 2013 15:24:19 +0000 (15:24 +0000)]
configure.ac (AC_CHECK_FUNCS_ONCE): Put into if statement.

2013-06-24  Steve Ellcey  <sellcey@mips.com>

* configure.ac (AC_CHECK_FUNCS_ONCE): Put into if statement.
* configure: Regenerate.

From-SVN: r200374

11 years agore PR libstdc++/57691 (freestanding libstdc++ has compile error)
Bernd Edlinger [Mon, 24 Jun 2013 13:46:58 +0000 (13:46 +0000)]
re PR libstdc++/57691 (freestanding libstdc++ has compile error)

2013-06-24  Bernd Edlinger  <bernd.edlinger@hotmail.de>

PR libstdc++/57691
* include/c_global/cstdlib (atexit, at_quick_exit): If !_GLIBCC_HOSTED,
declare per the letter of the C++ standard in terms of void.
* include/c_std/cstdlib: Likewise.

From-SVN: r200371

11 years agore PR tree-optimization/57358 (segmentation fault with attribute(optimize(O0)))
Martin Jambor [Mon, 24 Jun 2013 12:51:43 +0000 (14:51 +0200)]
re PR tree-optimization/57358 (segmentation fault with attribute(optimize(O0)))

2013-06-24  Martin Jambor  <mjambor@suse.cz>

PR tree-optimization/57358
* ipa-prop.c (ipa_func_spec_opts_forbid_analysis_p): New function.
(ipa_compute_jump_functions_for_edge): Bail out if it returns true.
(ipa_analyze_params_uses): Generate pessimistic info when true.

testsuite
* gcc.dg/ipa/pr57358.c: New test.

From-SVN: r200369

11 years agore PR tree-optimization/57539 (ice in ipa_edge_duplication_hook)
Martin Jambor [Mon, 24 Jun 2013 12:40:17 +0000 (14:40 +0200)]
re PR tree-optimization/57539 (ice in ipa_edge_duplication_hook)

2013-06-24  Martin Jambor  <mjambor@suse.cz>

PR tree-optimization/57539
* cgraphclones.c (cgraph_clone_node): Add parameter new_inlined_to, set
global.inlined_to of the new node to it.  All callers changed.
* ipa-inline-transform.c (clone_inlined_nodes): New variable
inlining_into, pass it to cgraph_clone_node.
* ipa-prop.c (ipa_propagate_indirect_call_infos): Do not call
ipa_free_edge_args_substructures.
(ipa_edge_duplication_hook): Only add edges from inlined nodes to
rdesc linked list.  Do not assert rdesc edges have inlined caller.
Assert we have found an rdesc in the rdesc list.

From-SVN: r200368

11 years agopointer-set.h (struct pointer_set_t): Move here from pointer-set.c.
Richard Biener [Mon, 24 Jun 2013 12:17:16 +0000 (12:17 +0000)]
pointer-set.h (struct pointer_set_t): Move here from pointer-set.c.

2013-06-24  Richard Biener  <rguenther@suse.de>

* pointer-set.h (struct pointer_set_t): Move here from
pointer-set.c.
(pointer_set_lookup): Declare.
(class pointer_map): New template class implementing a
generic pointer to T map.
(pointer_map<T>::pointer_map, pointer_map<T>::~pointer_map,
pointer_map<T>::contains, pointer_map<T>::insert,
pointer_map<T>::traverse): New functions.
* pointer-set.c (struct pointer_set_t): Moved to pointer-set.h.
(pointer_set_lookup): New function.
(pointer_set_contains): Use pointer_set_lookup.
(pointer_set_insert): Likewise.
(insert_aux): Remove.
(struct pointer_map_t): Embed a pointer_set_t.
(pointer_map_create): Adjust.
(pointer_map_destroy): Likewise.
(pointer_map_contains): Likewise.
(pointer_map_insert): Likewise.
(pointer_map_traverse): Likewise.
* tree-streamer.h (struct streamer_tree_cache_d): Use a
pointer_map<unsigned> instead of a pointer_map_t.
* tree-streamer.c (streamer_tree_cache_insert_1): Adjust.
(streamer_tree_cache_lookup): Likewise.
(streamer_tree_cache_create): Likewise.
(streamer_tree_cache_delete): Likewise.
* lto-streamer.h (struct lto_tree_ref_encoder): Use a
pointer_map<unsigned> instead of a pointer_map_t.
(lto_init_tree_ref_encoder): Adjust.
(lto_destroy_tree_ref_encoder): Likewise.
* lto-section-out.c (lto_output_decl_index): Likewise.
(lto_record_function_out_decl_state): Likewise.
* dominance.c (iterate_fix_dominators): Use pointer_map<int>.

From-SVN: r200367

11 years agore PR testsuite/57686 (FAIL: gcc.dg/torture/pr57584.c with -m32)
Richard Biener [Mon, 24 Jun 2013 11:14:31 +0000 (11:14 +0000)]
re PR testsuite/57686 (FAIL: gcc.dg/torture/pr57584.c with -m32)

2013-06-24  Richard Biener  <rguenther@suse.de>

PR testsuite/57686
* gcc.dg/torture/pr57584.c: Remove target specific bits.

From-SVN: r200364

11 years agore PR tree-optimization/57488 (loop terminates early at -O3)
Richard Biener [Mon, 24 Jun 2013 10:22:22 +0000 (10:22 +0000)]
re PR tree-optimization/57488 (loop terminates early at -O3)

2013-06-24  Richard Biener  <rguenther@suse.de>

PR tree-optimization/57488
* tree-ssa-pre.c (insert): Clear NEW sets before each iteration.

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

From-SVN: r200363

11 years ago[multiple changes]
Tobias Burnus [Mon, 24 Jun 2013 08:43:55 +0000 (10:43 +0200)]
[multiple changes]

2013-06-24  Steven G. Kargl  <sgk@troutmask.apl.washington.edu>
            Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
            Dominique d'Humieres  <dominiq@lps.ens.fr>

        PR fortran/52413
        * simplify.c (gfc_simplify_fraction): Fix the sign of negative values.

2013-06-24  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
            Dominique d'Humieres  <dominiq@lps.ens.fr>

        PR fortran/52413
        * gfortran.dg/fraction.f90: New.

From-SVN: r200361

11 years agoconfigure.ac: Check for fp_except and fp_except_t.
Tobias Burnus [Mon, 24 Jun 2013 08:34:05 +0000 (10:34 +0200)]
configure.ac: Check for fp_except and fp_except_t.

2013-06-24  Tobias Burnus  <burnus@net-b.de>

        * configure.ac: Check for fp_except and fp_except_t.
        * config/fpu-sysv.h: Conditionally use either type.
        * configure: Regenerate.
        * config.h.in: Regenerate.

From-SVN: r200360

11 years agofix duplication of test
Alan Modra [Mon, 24 Jun 2013 01:04:35 +0000 (10:34 +0930)]
fix duplication of test

From-SVN: r200359

11 years agors6000.c (vspltis_constant): Correct for little-endian.
Alan Modra [Mon, 24 Jun 2013 00:52:34 +0000 (10:22 +0930)]
rs6000.c (vspltis_constant): Correct for little-endian.

gcc/
* config/rs6000/rs6000.c (vspltis_constant): Correct for little-endian.
(gen_easy_altivec_constant): Likewise.
* config/rs6000/predicates.md (easy_vector_constant_add_self,
easy_vector_constant_msb): Likewise.
gcc/testsuite/
* gcc.target/powerpc/altivec-consts.c: Correct for little-endian.
Add scan-assembler-not "lvx".
* gcc.target/powerpc/le-altivec-consts.c: New.

From-SVN: r200357

11 years agoDaily bump.
GCC Administrator [Mon, 24 Jun 2013 00:16:45 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r200356

11 years agosfinae47.C: New.
Paolo Carlini [Sun, 23 Jun 2013 23:36:34 +0000 (23:36 +0000)]
sfinae47.C: New.

2013-06-23  Paolo Carlini  <paolo.carlini@oracle.com>

* g++.dg/cpp0x/sfinae47.C: New.

From-SVN: r200353

11 years agore PR target/57688 (-O3 -march=native generates illegal opcode on AMD Phenom)
Jakub Jelinek [Sun, 23 Jun 2013 19:06:00 +0000 (21:06 +0200)]
re PR target/57688 (-O3 -march=native generates illegal opcode on AMD Phenom)

PR target/57688
* common/config/i386/i386-common.c (ix86_handle_option): For OPT_mlzcnt
add missing return true.

From-SVN: r200352

11 years agore PR target/52483 (SH Target: Loads from volatile memory leave redundant sign/zero...
Oleg Endo [Sun, 23 Jun 2013 08:39:55 +0000 (08:39 +0000)]
re PR target/52483 (SH Target: Loads from volatile memory leave redundant sign/zero extensions)

PR target/52483
* config/sh/predicates.md (general_extend_operand): Invoke
general_movsrc_operand for memory operands.
(general_movsrc_operand): Allow reg+reg addressing, do not use
general_operand for memory operands.

PR target/52483
* gcc.target/sh/pr52483-1.c: New.
* gcc.target/sh/pr52483-2.c: New.
* gcc.target/sh/pr52483-3.c: New.
* gcc.target/sh/pr52483-4.c: New.
* gcc.target/sh/pr52483-5.c: New.

From-SVN: r200350

11 years agoAllow mmintrin headers to work with function specific target opts.
Sriraman Tallam [Sun, 23 Jun 2013 06:15:19 +0000 (06:15 +0000)]
Allow mmintrin headers to work with function specific target opts.

Allow mmintrin headers to work with function specific target opts.  Please
see discussion here:
http://gcc.gnu.org/ml/gcc-patches/2013-04/msg00740.html

* config/i386/i386.c (ix86_pragma_target_parse):  Restore target
when current target options does not apply.
* config/i386/i386-protos.h (ix86_reset_previous_fndecl): New function.
* config/i386/i386.c (ix86_reset_previous_fndecl): Ditto.
* config/i386/bmiintrin.h: Pass appropriate target attributes to header.
* config/i386/mmintrin.h: Ditto.
* config/i386/nmmintrin.h: Ditto.
* config/i386/avx2intrin.h: Ditto.
* config/i386/fxsrintrin.h: Ditto.
* config/i386/tbmintrin.h: Ditto.
* config/i386/xsaveintrin.h: Ditto.
* config/i386/f16cintrin.h: Ditto.
* config/i386/xtestintrin.h: Ditto.
* config/i386/xsaveoptintrin.h: Ditto.
* config/i386/bmi2intrin.h: Ditto.
* config/i386/lzcntintrin.h: Ditto.
* config/i386/smmintrin.h: Ditto.
* config/i386/wmmintrin.h: Ditto.
* config/i386/x86intrin.h: Remove all header include guards.
* config/i386/prfchwintrin.h: Ditto.
* config/i386/pmmintrin.h: Ditto.
* config/i386/tmmintrin.h: Ditto.
* config/i386/xmmintrin.h: Ditto.
* config/i386/popcntintrin.h: Ditto.
* config/i386/rdseedintrin.h: Ditto.
* config/i386/ammintrin.h: Ditto.
* config/i386/emmintrin.h: Ditto.
* config/i386/immintrin.h: Remove all header include guards.
* config/i386/fma4intrin.h: Ditto.
* config/i386/lwpintrin.h: Ditto.
* config/i386/xopintrin.h: Ditto.
* config/i386/ia32intrin.h: Ditto.
* config/i386/avxintrin.h: Ditto.
* config/i386/rtmintrin.h: Ditto.
* config/i386/fmaintrin.h: Ditto.
* config/i386/mm3dnow.h: Ditto.

* testsuite/gcc.target/i386/intrinsics_1.c: New test.
* testsuite/gcc.target/i386/intrinsics_2.c: Ditto.
* testsuite/gcc.target/i386/intrinsics_3.c: Ditto.
* testsuite/gcc.target/i386/intrinsics_4.c: Ditto.
* testsuite/gcc.target/i386/intrinsics_5.c: Ditto.
* testsuite/gcc.target/i386/intrinsics_6.c: Ditto.
* testsuite/gcc.target/i386/avx-1.c: Provide macros for builtins
needing immediate arguments in f16cintrin.h and rtmintrin.h.

From-SVN: r200349

11 years agoc-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
Gabriel Dos Reis [Sun, 23 Jun 2013 02:27:03 +0000 (02:27 +0000)]
c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.

2013-06-22  Gabriel Dos Reis  <gdr@integrable-solutions.net>

* c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
* c-cppbuiltin.c (c_cpp_builtins): Likewise.
* c-opts.c (c_common_post_options): Likewise.

cp/
2013-06-22  Gabriel Dos Reis  <gdr@integrable-solutions.net>

* call.c (null_ptr_cst_p): Use cxx11 in lieu of cxx0x.
* class.c (add_implicitly_declared_members): Likewise.
(check_field_decl): Likewise.
(finalize_literal_type_property): Likewise.
(check_bases_and_members): Likewise.
* decl.c (poplevel): Likewise.
(case_conversion): Likewise.
(check_initializer): Likewise.
(grokfndecl): Likewise.
(check_static_variable_definition): Likewise.
(compute_array_index_type): Likewise.
(grokdeclarator): Likewise.
(build_enumerator): Likewise.
* friend.c (make_friend_class): Likewise.
* lex.c (init_reswords): Likewise.
* method.c (synthesized_method_walk): Likewise.
(implicitly_declare_fn): Likewise.
* parser.c (cp_parser_diagnose_invalid_type_name): Likewise.
(cp_parser_constant_expression): Likewise.
(cp_parser_for_init_statement): Likewise.
(cp_parser_block_declaration): Likewise.
(cp_parser_type_name): Likewise.
(cp_parser_enum_specifier): Likewise.
(cp_parser_enumerator_list): Likewise.
(cp_parser_member_declaration): Likewise.
(cp_nth_tokens_can_be_std_attribute_p): Likewise.
(cp_parser_template_declaration_after_export): Likewise.
* pt.c (convert_nontype_argument_function): Likewise.
(convert_nontype_argument): Likewise.
(convert_template_argument): Likewise.
(tsubst_copy_and_build): Likewise.
(build_non_dependent_expr): Likewise.
* semantics.c (non_const_var_error): Likewise.
(potential_constant_expression_1): Likewise.
* tree.c (lvalue_kind): Likewise.
(build_vec_init_expr): Likewise.
(cast_valid_in_integral_constant_expression_p): Likewise.
* typeck.c (build_x_conditional_expr): Likewise.
* typeck2.c (check_narrowing): Likewise.

From-SVN: r200348

11 years agoi386-common.c: Handle LZCNT.
Sriraman Tallam [Sun, 23 Jun 2013 00:57:40 +0000 (00:57 +0000)]
i386-common.c: Handle LZCNT.

2013-06-22  Sriraman Tallam  <tmsriram@google.com>

* common/config/i386/i386-common.c: Handle LZCNT.

From-SVN: r200347

11 years agoDaily bump.
GCC Administrator [Sun, 23 Jun 2013 00:16:45 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r200346

11 years agore PR libstdc++/57674 (wrong distribution for std::binomial_distribution::operator...
Paolo Carlini [Sat, 22 Jun 2013 21:07:02 +0000 (21:07 +0000)]
re PR libstdc++/57674 (wrong distribution for  std::binomial_distribution::operator()(g,param))

2013-06-22  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/57674
* include/bits/random.h (binomial_distribution<>::_M_waiting):
Add double parameter.
* include/bits/random.tcc (binomial_distribution<>::operator()
(_UniformRandomNumberGenerator&, const param_type&)): Pass
__param._M_q to _M_waiting.
(_M_waiting): Adjust.
* testsuite/26_numerics/random/binomial_distribution/
operators/values.cc: Add tests.

From-SVN: r200341

11 years agoFix __atomic_store_n typo in recent manual change
Andi Kleen [Sat, 22 Jun 2013 17:23:08 +0000 (17:23 +0000)]
Fix __atomic_store_n typo in recent manual change

gcc/:
2013-06-22  Andi Kleen  <ak@linux.intel.com>

       * doc/extend.texi: Use __atomic_store_n instead of
       __atomic_store in HLE example.

From-SVN: r200333

11 years agosh.c: Remove <cstdlib> workaround.
Oleg Endo [Sat, 22 Jun 2013 12:00:09 +0000 (12:00 +0000)]
sh.c: Remove <cstdlib> workaround.

* config/sh/sh.c: Remove <cstdlib> workaround.

Co-Authored-By: Jason Merrill <jason@redhat.com>
From-SVN: r200328

11 years agoDaily bump.
GCC Administrator [Sat, 22 Jun 2013 00:16:37 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r200324

11 years agotrans-array.c (gfc_trans_deferred_array): Call the finalizer for nonallocatable local...
Tobias Burnus [Fri, 21 Jun 2013 21:51:41 +0000 (23:51 +0200)]
trans-array.c (gfc_trans_deferred_array): Call the finalizer for nonallocatable local variables.

2013-06-21  Tobias Burnus  <burnus@net-b.de>

        * trans-array.c (gfc_trans_deferred_array): Call the
        finalizer for nonallocatable local variables.
        * trans-decl.c (gfc_get_symbol_decl): Add local
        finalizable vars to the deferred list.
        (gfc_trans_deferred_vars): Call gfc_trans_deferred_array
        for those.

2013-06-21  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/finalize_17.f90: New.

From-SVN: r200321

11 years agotrans-array.c (gfc_alloc_allocatable_for_assignment): Allocate at least one byte.
Tobias Burnus [Fri, 21 Jun 2013 21:24:59 +0000 (23:24 +0200)]
trans-array.c (gfc_alloc_allocatable_for_assignment): Allocate at least one byte.

2013-06-21  Tobias Burnus  <burnus@net-b.de>

        * trans-array.c (gfc_alloc_allocatable_for_assignment): Allocate
        at least one byte.
        * trans-expr.c (alloc_scalar_allocatable_for_assignment): Ditto.

2013-06-21  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/realloc_on_assign_18.f90: New.

From-SVN: r200320

11 years agoImplemented Cilk Plus Array Notation for C++
Balaji V. Iyer [Fri, 21 Jun 2013 19:36:47 +0000 (19:36 +0000)]
Implemented Cilk Plus Array Notation for C++

Implemented Cilk Plus Array Notation for C++
gcc/c-family/ChangeLog
2013-06-21  Balaji V. Iyer  <balaji.v.iyer@intel.com>

        * c-common.h (struct cilkplus_an_parts): New structure.
        (struct cilkplus_an_loop_parts): Likewise.
        (cilkplus_extract_an_triplets): New prototype.
        (fix_sec_implicit_args): Likewise.
        * array-notation-common.c (cilkplus_extract_an_triplets): New function.
        (fix_sec_implicit_args): Likewise.

gcc/cp/ChangeLog
2013-06-21  Balaji V. Iyer  <balaji.v.iyer@intel.com>

        * call.c (convert_like_real): Added a check if array notation is present
        in expression.  If so, then no conversion of arguments is necessary.
        (build_over_call): Likewise.
        * typeck.c (cp_build_function_call_vec): Likewise.
        (convert_for_assignment): Likewise.
        (cp_build_array_ref): Reject array notations with a rank greater than 1
        as an array's index.
        (cp_build_binary_op): If array notations are preent in op, then call
        find_correct_array_notation_type.
        (cp_build_addr_expr_1): Handle ARRAY_NOTATION_REF similar to ARRAY_REF.
        * cp-array-notation.c: New file.
        * cp-objcp-common.c (cp_common_init_ts): Marked ARRAY_NOTATION_REF tree
        as typed.
        * cp-tree.h (fix_array_notation_exprs): New prototype.
        * semantics.c (finish_return_stmt): Reject array notations as
        return value.
        (cxx_eval_constant_expression): Added ARRAY_NOTATION_REF case.
        (potential_constant_expression_1): Likewise.
        * tree.c (lvalue_kind): Likewise.
        * error.c (dump_decl): Likewise.
        (dump_expr): Likewise.
        * pt.c (ARRAY_NOTATION_REF): Likewise.
        (type_unification_real): Do not unify any arguments if array notations
        are found in arg.
        (instantiate_decl): Added a check for array notaitons inside the
        function body.  If so, then expand them.
        * parser.c (cp_parser_array_notation): New function.
        (cp_parser_postfix_open_square_expression): Added a check for colons
        inside square braces.  If found, then handle the array access as an
        array notation access.  Also, disable auto-correction from a single
        colon to scope when Cilk Plus is enabled.
        (cp_parser_compound_statement): Added a check for array notations
        inside the statement.  If found, then expand them.
        (cp_parser_ctor_initializer_opt_and_function_body): Likewise.
        (cp_parser_function_definition_after_declarator): Likewise.
        (cp_parser_selection_statement): Searched for array notations inside
        condition.  If so, then emit an error.
        (cp_parser_iteration_statement): Likewise.
        (cp_parser_direct_declarator): Reject array notations inside a
        variable or array declaration.
        * Make-lang.in (CXX_AND_OBJCXX_OBJS): Added cp/cp-array-notation.o.

gcc/testsuite/ChangeLog
2013-06-21  Balaji V. Iyer  <balaji.v.iyer@intel.com>

        * c-c++-common/cilk-plus/AN/array_test1.c: Make this an execution test.
        Also changed the returns from error as distinct values so that debugging
        can get easier.
        * c-c++-common/cilk-plus/AN/if_test_errors.c (main): Made certain
        errors specific to C, if necessary.  Also added new error hooks for C++.
        * c-c++-common/cilk-plus/AN/misc.c (main): Likewise.
        * c-c++-common/cilk-plus/AN/parser_errors.c (main): Likewise.
        * c-c++-common/cilk-plus/AN/parser_errors2.c (main): Likewise.
        * c-c++-common/cilk-plus/AN/parser_errors3.c (main): Likewise.
        * c-c++-common/cilk-plus/AN/pr57541.c (main): Likewise.
        * c-c++-common/cilk-plus/AN/parser_errors4.c (main): In addition to the
        same changes as parser_errors3.c, spaces were added between colons to
        not confuse C++ compiler with 2 colons as scope.
        * c-c++-common/cilk-plus/AN/vla.c: Make this test C specific.
        * g++.dg/cilk-plus/AN/array_test1_tplt.cc: New test.
        * g++.dg/cilk-plus/AN/array_test2_tplt.cc: Likewise.
        * g++.dg/cilk-plus/AN/array_test_ND_tplt.cc: Likewise.
        * g++.dg/cilk-plus/AN/braced_list.cc: Likewise.
        * g++.dg/cilk-plus/AN/builtin_fn_custom_tplt.cc: Likewise.
        * g++.dg/cilk-plus/AN/builtin_fn_mutating_tplt.cc: Likewise.
        * g++.dg/cilk-plus/AN/fp_triplet_values_tplt.c: Likewise.
        * g++.dg/cilk-plus/AN/preincr_test.cc: Likewise.
        * g++.dg/cilk-plus/AN/postincr_test.cc: Likewise.
        * g++.dg/cilk-plus/cilk-plus.exp: New script.
        * gcc/testsuite/g++.dg/dg.exp: Included Cilk Plus C++ tests in the list.

From-SVN: r200319

11 years agore PR other/53317 (Conversion from __int128 to __float128)
Joseph Myers [Fri, 21 Jun 2013 19:08:01 +0000 (20:08 +0100)]
re PR other/53317 (Conversion from __int128 to __float128)

PR other/53317

gcc/testsuite:
* gcc.dg/torture/fp-int-convert-float128-timode-2.c: New test.

libgcc:
* soft-fp/adddf3.c: Update from glibc.
* soft-fp/addsf3.c: Likewise.
* soft-fp/addtf3.c: Likewise.
* soft-fp/divdf3.c: Likewise.
* soft-fp/divsf3.c: Likewise.
* soft-fp/divtf3.c: Likewise.
* soft-fp/double.h: Likewise.
* soft-fp/eqdf2.c: Likewise.
* soft-fp/eqsf2.c: Likewise.
* soft-fp/eqtf2.c: Likewise.
* soft-fp/extenddftf2.c: Likewise.
* soft-fp/extended.h: Likewise.
* soft-fp/extendsfdf2.c: Likewise.
* soft-fp/extendsftf2.c: Likewise.
* soft-fp/fixdfdi.c: Likewise.
* soft-fp/fixdfsi.c: Likewise.
* soft-fp/fixsfdi.c: Likewise.
* soft-fp/fixsfsi.c: Likewise.
* soft-fp/fixtfdi.c: Likewise.
* soft-fp/fixtfsi.c: Likewise.
* soft-fp/fixunsdfdi.c: Likewise.
* soft-fp/fixunsdfsi.c: Likewise.
* soft-fp/fixunssfdi.c: Likewise.
* soft-fp/fixunssfsi.c: Likewise.
* soft-fp/fixunstfdi.c: Likewise.
* soft-fp/fixunstfsi.c: Likewise.
* soft-fp/floatdidf.c: Likewise.
* soft-fp/floatdisf.c: Likewise.
* soft-fp/floatditf.c: Likewise.
* soft-fp/floatsidf.c: Likewise.
* soft-fp/floatsisf.c: Likewise.
* soft-fp/floatsitf.c: Likewise.
* soft-fp/floatundidf.c: Likewise.
* soft-fp/floatundisf.c: Likewise.
* soft-fp/floatunditf.c: Likewise.
* soft-fp/floatunsidf.c: Likewise.
* soft-fp/floatunsisf.c: Likewise.
* soft-fp/floatunsitf.c: Likewise.
* soft-fp/gedf2.c: Likewise.
* soft-fp/gesf2.c: Likewise.
* soft-fp/getf2.c: Likewise.
* soft-fp/ledf2.c: Likewise.
* soft-fp/lesf2.c: Likewise.
* soft-fp/letf2.c: Likewise.
* soft-fp/muldf3.c: Likewise.
* soft-fp/mulsf3.c: Likewise.
* soft-fp/multf3.c: Likewise.
* soft-fp/negdf2.c: Likewise.
* soft-fp/negsf2.c: Likewise.
* soft-fp/negtf2.c: Likewise.
* soft-fp/op-1.h: Likewise.
* soft-fp/op-2.h: Likewise.
* soft-fp/op-4.h: Likewise.
* soft-fp/op-8.h: Likewise.
* soft-fp/op-common.h: Likewise.
* soft-fp/quad.h: Likewise.
* soft-fp/single.h: Likewise.
* soft-fp/soft-fp.h: Likewise.
* soft-fp/subdf3.c: Likewise.
* soft-fp/subsf3.c: Likewise.
* soft-fp/subtf3.c: Likewise.
* soft-fp/truncdfsf2.c: Likewise.
* soft-fp/trunctfdf2.c: Likewise.
* soft-fp/trunctfsf2.c: Likewise.
* soft-fp/unorddf2.c: Likewise.
* soft-fp/unordsf2.c: Likewise.
* soft-fp/unordtf2.c: Likewise.
* config/aarch64/sfp-machine.h (_FP_QNANNEGATEDP): Define to 0.
* config/arm/sfp-machine.h (_FP_QNANNEGATEDP): Likewise.
* config/c6x/sfp-machine.h (_FP_QNANNEGATEDP): Likewise.
* config/i386/sfp-machine.h (_FP_QNANNEGATEDP): Likewise.
* config/ia64/sfp-machine.h (_FP_QNANNEGATEDP): Likewise.
* config/lm32/sfp-machine.h (_FP_QNANNEGATEDP): Likewise.
* config/moxie/sfp-machine.h (_FP_QNANNEGATEDP): Likewise.
* config/rs6000/sfp-machine.h (_FP_QNANNEGATEDP): Likewise.
* config/score/sfp-machine.h (_FP_QNANNEGATEDP): Likewise.
* config/tilegx/sfp-machine32.h (_FP_QNANNEGATEDP): Likewise.
* config/tilegx/sfp-machine64.h (_FP_QNANNEGATEDP): Likewise.
* config/tilepro/sfp-machine.h (_FP_QNANNEGATEDP): Likewise.

From-SVN: r200318

11 years agocompiler: do not skip compilation of blank-named functions.
Ian Lance Taylor [Fri, 21 Jun 2013 17:56:49 +0000 (17:56 +0000)]
compiler: do not skip compilation of blank-named functions.

Fixes issue 22.

From-SVN: r200316

11 years agore PR libstdc++/57666 (valarray<T>::operator= in c++11 mode does not adapt to size)
Paolo Carlini [Fri, 21 Jun 2013 14:23:15 +0000 (14:23 +0000)]
re PR libstdc++/57666 (valarray<T>::operator= in c++11 mode does not adapt to size)

2013-06-21  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/57666
* include/std/valarray (valarray<>::operator=(const _Expr<>&)):
Implement correctly C++11 26.6.2.3/1.
* testsuite/26_numerics/valarray/dr630-3.C: New.

From-SVN: r200305

11 years agoFix HLE example in manual
Andi Kleen [Fri, 21 Jun 2013 13:51:48 +0000 (13:51 +0000)]
Fix HLE example in manual

The HLE example in the manual only commits when using bool
for the flag, because __atomic_clear only writes bool, and
HLE requires the acquire and release to match.

So when the example is copied with e.g. an int variable it
does not commit and causes slower than expected performance.

Some people are running into problems because of this.

Switch it over to use __atomic_store.

Also fix a minor typo nearby.

gcc/:
2013-06-21  Andi Kleen  <ak@linux.intel.com>

* doc/extend.texi: Dont use __atomic_clear in HLE
example.  Fix typo.

From-SVN: r200304