gcc.git
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

11 years agoImprove __atomic_clear/test_and_set documentation
Andi Kleen [Fri, 21 Jun 2013 13:51:37 +0000 (13:51 +0000)]
Improve __atomic_clear/test_and_set documentation

Document that __atomic_clear and __atomic_test_and_set should
only be used with bool.

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

* doc/extend.texi: Document that __atomic_clear and
  __atomic_test_and_set should only be used with bool.

From-SVN: r200303

11 years ago* config/fpu-sysv.h (get_fpu_except_flags): Fix typo.
Eric Botcazou [Fri, 21 Jun 2013 13:16:57 +0000 (13:16 +0000)]
* config/fpu-sysv.h (get_fpu_except_flags): Fix typo.

From-SVN: r200298

11 years agogimple-fold.c (gimple_extract_devirt_binfo_from_cst): Use types_same_for_odr.
Jan Hubicka [Fri, 21 Jun 2013 06:43:39 +0000 (08:43 +0200)]
gimple-fold.c (gimple_extract_devirt_binfo_from_cst): Use types_same_for_odr.

* gimple-fold.c (gimple_extract_devirt_binfo_from_cst): Use
types_same_for_odr.
* tree.c (decls_same_for_odr): New function.
(same_for_edr): New function.
(types_same_for_odr): New function.
(get_binfo_at_offset): Use it.
* tree.h (types_same_for_odr): Declare.

From-SVN: r200288

11 years agocompiler: Really only make descriptors when needed.
Ian Lance Taylor [Fri, 21 Jun 2013 00:29:54 +0000 (00:29 +0000)]
compiler: Really only make descriptors when needed.

From-SVN: r200280

11 years agore PR c++/55149 (capturing VLA in lambda)
Jason Merrill [Fri, 21 Jun 2013 00:28:30 +0000 (20:28 -0400)]
re PR c++/55149 (capturing VLA in lambda)

PR c++/55149
* decl.c (compute_array_index_type): Don't reject VLAs in SFINAE
context if we're in C++14 mode.
* tree.c (array_of_runtime_bound_p): Return true for a dependent
bound that is not potentually constant.
* cp-tree.h (DECL_VLA_CAPTURE_P, REFERENCE_VLA_OK): New.
* pt.c (tsubst) [REFERENCE_TYPE]: Check REFERENCE_VLA_OK.
* semantics.c (build_lambda_object): Don't rvalue a VLA capture.
(build_capture_proxy): Set REFERENCE_VLA_OK.
(vla_capture_type): Make it a proper C++ class.
(add_capture): Set DECL_VLA_CAPTURE_P.  Don't pre-digest the
initializer.

From-SVN: r200279

11 years ago* decl.c (compute_array_index_type): Use size_one_node.
Jason Merrill [Fri, 21 Jun 2013 00:28:23 +0000 (20:28 -0400)]
* decl.c (compute_array_index_type): Use size_one_node.

From-SVN: r200278

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

From-SVN: r200277

11 years agocompiler: Only make function descriptors if needed.
Ian Lance Taylor [Fri, 21 Jun 2013 00:11:53 +0000 (00:11 +0000)]
compiler: Only make function descriptors if needed.

From-SVN: r200273

11 years agoarray-notation-common.c (find_inv_trees): Removed an unwanted typecasting.
Balaji V. Iyer [Thu, 20 Jun 2013 22:52:07 +0000 (22:52 +0000)]
array-notation-common.c (find_inv_trees): Removed an unwanted typecasting.

2013-06-20  Balaji V. Iyer  <balaji.v.iyer@intel.com>

        * array-notation-common.c (find_inv_trees): Removed an unwanted
        typecasting.
        * c-common.h (struct inv_list::additional_tcodes): Changed type from
        enum rid to enum tree_code.

From-SVN: r200272

11 years agosystem.h: Include <cstdlib> as well as <stdlib.h>.
Oleg Endo [Thu, 20 Jun 2013 19:22:02 +0000 (19:22 +0000)]
system.h: Include <cstdlib> as well as <stdlib.h>.

* system.h: Include <cstdlib> as well as <stdlib.h>.

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

11 years agopt.c (process_partial_specialization): Build a TEMPLATE_DECL for a partial specializa...
Jason Merrill [Thu, 20 Jun 2013 18:33:02 +0000 (14:33 -0400)]
pt.c (process_partial_specialization): Build a TEMPLATE_DECL for a partial specialization.

* pt.c (process_partial_specialization): Build a TEMPLATE_DECL for
a partial specialization.
(tsubst_decl): Don't clobber CLASSTYPE_TI_TEMPLATE of a partial
specialization.
(most_specialized_class): Adjust.

From-SVN: r200263

11 years ago* cp-tree.h (DECL_TEMPLATE_PARMS, DECL_TEMPLATE_RESULT)
Jason Merrill [Thu, 20 Jun 2013 18:32:56 +0000 (14:32 -0400)]
* cp-tree.h (DECL_TEMPLATE_PARMS, DECL_TEMPLATE_RESULT)
(DECL_TEMPLATE_INSTANTIATIONS, DECL_TEMPLATE_SPECIALIZATIONS): Use
TEMPLATE_DECL_CHECK.

From-SVN: r200262

11 years agore PR target/57655 (ICE: in create_pre_exit, at mode-switching.c:418 with -mno-fp...
Uros Bizjak [Thu, 20 Jun 2013 18:13:31 +0000 (20:13 +0200)]
re PR target/57655 (ICE: in create_pre_exit, at mode-switching.c:418 with -mno-fp-ret-in-387 -mvzeroupper -mxop and __builtin_ilogbl())

PR target/57655
* config/i386/i386.c (construct_container): Report error if
long double is used with disabled x87 float returns.

testsuite/ChangeLog:

PR target/57655
* gcc.target/i386/pr57655.c: New test.

From-SVN: r200260

11 years agore PR tree-optimization/57660 (FAIL: gcc.dg/tree-ssa/forwprop-28.c scan-tree-dump...
Jeff Law [Thu, 20 Jun 2013 17:16:41 +0000 (11:16 -0600)]
re PR tree-optimization/57660 (FAIL: gcc.dg/tree-ssa/forwprop-28.c scan-tree-dump-times forwprop1 "Replaced" 8)

        PR tree-optimization/57660
        * gcc.dg/tree-ssa/forwprop-28.c: Don't run test on various
        * targets
        based on their branch cost.

From-SVN: r200258

11 years ago* ChangeLog: Add some missing lines.
Uros Bizjak [Thu, 20 Jun 2013 17:11:51 +0000 (19:11 +0200)]
* ChangeLog: Add some missing lines.

From-SVN: r200256

11 years agofpu-387.h (_FPU_MASK_ALL): New.
Uros Bizjak [Thu, 20 Jun 2013 17:08:51 +0000 (19:08 +0200)]
fpu-387.h (_FPU_MASK_ALL): New.

* config/fpu-387.h (_FPU_MASK_ALL): New.
(_FPU_EX_ALL): Ditto.
(set_fpu): Use fstcw to store x87 FPU control word. Use fnclex to
clear stalled exception flags.  Correctly clear stalled SSE
exception flags.  Simplify code.
(get_fpu_except_flags): Simplify code.

From-SVN: r200255

11 years agolibgomp.exp: Reorder lib loads into dependency order.
Iain Sandoe [Thu, 20 Jun 2013 16:48:26 +0000 (16:48 +0000)]
libgomp.exp: Reorder lib loads into dependency order.

2013-06-20  Iain Sandoe  <iain@codesourcery.com>
        Cesar Philippidis  <cesar@codesourcery.com>

* testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
* testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
* testsuite/libgomp.fortran/fortran.exp: Likewise.
* testsuite/libgomp.graphite/graphite.exp: Likewise.
* testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
Use dg-runtest rather than gfortran-dg-runtest.

Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>
From-SVN: r200253

11 years agolibitm.exp: Reorder lib loads into dependency order.
Iain Sandoe [Thu, 20 Jun 2013 16:44:23 +0000 (16:44 +0000)]
libitm.exp: Reorder lib loads into dependency order.

2013-06-20  Iain Sandoe  <iain@codesourcery.com>
        Cesar Philippidis  <cesar@codesourcery.com>

* testsuite/lib/libitm.exp: Reorder lib loads into dependency order.
Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
* testsuite/libitm.c/c.exp: load_gcc_lib gcc-dg.exp.
* testsuite/libitm.c++/c++.exp: load_gcc_lib gcc-dg.exp.

Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>
From-SVN: r200252

11 years agolibitm: Handle HTM fastpath in status query functions.
Torvald Riegel [Thu, 20 Jun 2013 16:40:54 +0000 (16:40 +0000)]
libitm: Handle HTM fastpath in status query functions.

* query.cc (_ITM_inTransaction): Abort when using the HTM fastpath.
(_ITM_getTransactionId): Same.
* config/x86/target.h (htm_transaction_active): New.

From-SVN: r200251

11 years agolibitm: Fix handling of reentrancy in the HTM fastpath.
Torvald Riegel [Thu, 20 Jun 2013 16:40:38 +0000 (16:40 +0000)]
libitm: Fix handling of reentrancy in the HTM fastpath.

PR libitm/57643
* beginend.cc (gtm_thread::begin_transaction): Handle reentrancy in
the HTM fastpath.

From-SVN: r200250

11 years agogcc: Delete.
Eric Botcazou [Thu, 20 Jun 2013 16:31:22 +0000 (16:31 +0000)]
gcc: Delete.

* ada/acats/tests/gcc: Delete.
* gnat.dg/style: Likewise.

From-SVN: r200249

11 years ago* gcc.dg/tree-ssa/forwprop-28.c: Add missing dg-final.
Jeff Law [Thu, 20 Jun 2013 15:52:57 +0000 (09:52 -0600)]
* gcc.dg/tree-ssa/forwprop-28.c: Add missing dg-final.

From-SVN: r200248

11 years agolto-cgraph.c (input_symtab): Do not set cgraph state.
Jan Hubicka [Thu, 20 Jun 2013 14:23:15 +0000 (16:23 +0200)]
lto-cgraph.c (input_symtab): Do not set cgraph state.

* lto-cgraph.c (input_symtab): Do not set cgraph state.
* lto.c (read_cgraph_and_symbols): Set cgraph state.

From-SVN: r200247

11 years agopkg.m4 (PKG_CHECK_MODULES): Use AC_PATH_TOOL to check for pkg-config.
Matthias Klose [Thu, 20 Jun 2013 13:16:57 +0000 (13:16 +0000)]
pkg.m4 (PKG_CHECK_MODULES): Use AC_PATH_TOOL to check for pkg-config.

2013-06-20  Matthias Klose  <doko@ubuntu.com>

        * pkg.m4 (PKG_CHECK_MODULES): Use AC_PATH_TOOL to check for pkg-config.
        * classpath/m4/pkg.m4 (PKG_CHECK_MODULES): Likewise.
        * configure: Regenerate.
        * classpath/configure: Regenerate.

From-SVN: r200244

11 years agolibtool-version: Bump soversion.
Matthias Klose [Thu, 20 Jun 2013 13:02:05 +0000 (13:02 +0000)]
libtool-version: Bump soversion.

2013-06-20  Matthias Klose  <doko@ubuntu.com>

        * libtool-version: Bump soversion.

From-SVN: r200242

11 years agore PR rtl-optimization/57425 (RTL alias analysis unprepared to handle stack slot...
Joern Rennecke [Thu, 20 Jun 2013 12:43:29 +0000 (12:43 +0000)]
re PR rtl-optimization/57425 (RTL alias analysis unprepared to handle stack slot sharing)

        PR rtl-optimization/57425
        PR rtl-optimization/57569
        * alias.c (write_dependence_p): Remove parameters mem_mode and
        canon_mem_addr.  Add parameters x_mode, x_addr and x_canonicalized.
        Changed all callers.
        (canon_anti_dependence): Get comments and semantics in sync.
        Add parameter mem_canonicalized.  Changed all callers.
        * rtl.h (canon_anti_dependence): Update prototype.

From-SVN: r200241

11 years agodata-streamer-in.c (streamer_read_uhwi): Optimize single byte case...
Richard Biener [Thu, 20 Jun 2013 11:33:43 +0000 (11:33 +0000)]
data-streamer-in.c (streamer_read_uhwi): Optimize single byte case...

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

* data-streamer-in.c (streamer_read_uhwi): Optimize single
byte case, inline streamer_read_uchar and defer section
overrun check.

From-SVN: r200239

11 years agore PR fortran/57633 (I/O: Problem with formatted read: reading CR-LF files (\r\n))
Tobias Burnus [Thu, 20 Jun 2013 10:55:03 +0000 (12:55 +0200)]
re PR fortran/57633 (I/O: Problem with formatted read: reading CR-LF files (\r\n))

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

        PR fortran/57633
        * io/list_read.c (next_char, eat_separator): Don't set EOL for \r.

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

        PR fortran/57633
        * gfortran.dg/list_read_11.f90: New.

From-SVN: r200238

11 years agore PR tree-optimization/57584 (ice: SSA corruption: Unable to coalesce ssa_names)
Richard Biener [Thu, 20 Jun 2013 10:22:33 +0000 (10:22 +0000)]
re PR tree-optimization/57584 (ice: SSA corruption: Unable to coalesce ssa_names)

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

PR tree-optimization/57584
* tree-ssa-loop-niter.c (expand_simple_operations): Avoid including
SSA names into the expanded expression that take part in
abnormal coalescing.

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

From-SVN: r200237

11 years agoresolve.c (get_temp_from_expr): Don't set FL_VARIABLE twice.
Tobias Burnus [Thu, 20 Jun 2013 09:37:15 +0000 (11:37 +0200)]
resolve.c (get_temp_from_expr): Don't set FL_VARIABLE twice.

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

        * resolve.c (get_temp_from_expr): Don't set FL_VARIABLE twice.

From-SVN: r200234

11 years agoFix duplicated lines.
Jan Hubicka [Thu, 20 Jun 2013 08:57:14 +0000 (08:57 +0000)]
Fix duplicated lines.

From-SVN: r200233

11 years agogcov.c (print_usage): Handle new option.
Sharad Singhai [Thu, 20 Jun 2013 05:20:09 +0000 (05:20 +0000)]
gcov.c (print_usage): Handle new option.

2013-06-19    <singhai@google.com>

* gcov.c (print_usage): Handle new option.
(process_args): Ditto.
(get_gcov_intermediate_filename): New function.
(output_intermediate_file): New function.
(output_gcov_file): New function
(generate_results): Handle new option.
(release_function): Relase demangled name.
(read_graph_file): Handle demangled name.
(output_lines): Ditto.
* doc/gcov.texi: Document gcov intermediate format.

testsuite/ChangeLog:

* g++.dg/gcov/gcov-8.C: New testcase.
* lib/gcov.exp: Handle intermediate format.

From-SVN: r200232

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

From-SVN: r200231

11 years agore PR bootstrap/57604 (LRA related bootstrap comparison failure on s390x --with-arch...
Vladimir Makarov [Wed, 19 Jun 2013 23:57:22 +0000 (23:57 +0000)]
re PR bootstrap/57604 (LRA related bootstrap comparison failure on s390x --with-arch=zEC12)

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

PR bootstrap/57604
* lra.c (emit_add3_insn, emit_add2_insn): New functions.
(lra_emit_add): Use the functions.  Add comment about Y as an
address segment.

From-SVN: r200227

11 years agore PR driver/57652 (collect2 does not clean up temporary files)
David Edelsohn [Wed, 19 Jun 2013 23:51:05 +0000 (23:51 +0000)]
re PR driver/57652 (collect2 does not clean up temporary files)

        PR driver/57652
        * collect2.c (collect_atexit): New.
        (collect_exit): Delete.
        (main): Register collect_atexit with atexit.
        (collect_wait): Change collect_exit to exit.
        (do_wait): Same.
        * collect2.h (collect_exit): Delete.
        * tlink.c (do_tlink): Rename exit to ret. Change collect_exit to exit.

From-SVN: r200226

11 years agore PR rtl-optimization/57518 (Redundant insn generated in LRA)
Wei Mi [Wed, 19 Jun 2013 21:57:42 +0000 (21:57 +0000)]
re PR rtl-optimization/57518 (Redundant insn generated in LRA)

2013-06-19  Wei Mi  <wmi@google.com>

PR rtl-optimization/57518
* ira.c (set_paradoxical_subreg): Set pdx_subregs[regno]
if regno is used in paradoxical subreg.
(update_equiv_regs): Check pdx_subregs[regno] before
set a reg to be equivalent with a mem.

From-SVN: r200224

11 years agocompiler: reject incorrect unsafe.Offsetof expressions.
Ian Lance Taylor [Wed, 19 Jun 2013 21:24:58 +0000 (21:24 +0000)]
compiler: reject incorrect unsafe.Offsetof expressions.

The x.Field argument to Offsetof may not involve hidden
dereferences of embedded pointer fields.

Also correct uninitialized implicit_ field.

From-SVN: r200221

11 years agore PR driver/57651 (gcc-ar and gcc-nm don't find the lto plugin)
Matthias Klose [Wed, 19 Jun 2013 21:01:06 +0000 (21:01 +0000)]
re PR driver/57651 (gcc-ar and gcc-nm don't find the lto plugin)

2013-06-19  Matthias Klose  <doko@ubuntu.com>

        PR driver/57651
        * file-find.h (find_a_file): Add a mode parameter.
        * file-find.c (find_a_file): Likewise.
        * gcc-ar.c (main): Call find_a_file with R_OK for the plugin,
        with X_OK for the executables.
        * collect2.c (main): Call find_a_file with X_OK.

From-SVN: r200219

11 years agore PR target/56942 (MIPS GCC will not build with -mips16 mode because libgcc fails...
Steve Ellcey [Wed, 19 Jun 2013 20:00:56 +0000 (20:00 +0000)]
re PR target/56942 (MIPS GCC will not build with -mips16 mode because libgcc fails to build)

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

PR target/56942
* config/mips/mips.md (casesi_internal_mips16_<mode>):
Use NEXT_INSN instead of next_real_insn.

From-SVN: r200216

11 years agoloop-19.c: Add -fno-common.
Igor Zamyatin [Wed, 19 Jun 2013 19:24:25 +0000 (19:24 +0000)]
loop-19.c: Add -fno-common.

gcc/testsuite/ChangeLog

        * gcc.dg/tree-ssa/loop-19.c: Add -fno-common.

From-SVN: r200213

11 years agocgraph.h (const_value_known_p): Replace by ...
Jan Hubicka [Wed, 19 Jun 2013 18:06:12 +0000 (20:06 +0200)]
cgraph.h (const_value_known_p): Replace by ...

* cgraph.h (const_value_known_p): Replace by ...
(ctor_for_folding): .. this one.
* cgraphunit.c (process_function_and_variable_attributes): Use it.
* lto-cgraph.c (compute_ltrans_boundary): Use ctor_for_folding.
* expr.c (expand_expr_real_1): Likewise.
(string_constant): Likewise.
* tree-ssa-loop-ivcanon.c (constant_after_peeling): Likewise.
* ipa.c (process_references): Likewise.
(symtab_remove_unreachable_nodes): Likewise.
* ipa-inline-analysis.c (param_change_prob): Likewise.
* gimple-fold.c (canonicalize_constructor_val): Likewise.
(get_base_constructor): Likwise.
* varpool.c (varpool_remove_node): Likewise.
(varpool_remove_initializer): LIkewise.
(dump_varpool_node): LIkwise.
(const_value_known_p): Rewrite to ...
(ctor_for_folding): ... this one.

* lto-partition.c (add_references_to_partition): Use
ctor_for_folding.

* gcc.dg/tree-ssa/attr-alias-2.c: New testcase.

From-SVN: r200211

11 years agore PR driver/57651 (gcc-ar and gcc-nm don't find the lto plugin)
Jakub Jelinek [Wed, 19 Jun 2013 17:37:36 +0000 (19:37 +0200)]
re PR driver/57651 (gcc-ar and gcc-nm don't find the lto plugin)

PR driver/57651
* gcc-ar.c (main): If not CROSS_DIRECTORY_STRUCTURE, look for
PERSONALITY in $PATH derived prefixes.

From-SVN: r200209

11 years agotree-ssa-forwprop.c (simplify_bitwise_binary_boolean): Fix typo in comment.
Jeff Law [Wed, 19 Jun 2013 17:09:10 +0000 (11:09 -0600)]
tree-ssa-forwprop.c (simplify_bitwise_binary_boolean): Fix typo in comment.

        * tree-ssa-forwprop.c (simplify_bitwise_binary_boolean): Fix typo
        in comment.

From-SVN: r200208

11 years agoReplace array size in Array Notation testcode with #define.
Balaji V. Iyer [Wed, 19 Jun 2013 16:29:37 +0000 (16:29 +0000)]
Replace array size in Array Notation testcode with #define.

2013-06-19  Balaji V. Iyer  <balaji.v.iyer@intel.com>

       * c-c++-common/cilk-plus/AN/builtin_fn_custom.c: Replaced all the
       hard-coded values of array sizes with a #define.
       * c-c++-common/cilk-plus/AN/builtin_fn_mutating.c: Likewise.
       * c-c++-common/cilk-plus/AN/builtin_func_double2.c: Likewise.
       * c-c++-common/cilk-plus/AN/gather_scatter.c: Likewise.
       * c-c++-common/cilk-plus/AN/pr57577.c: Likewise.
       * c-c++-common/cilk-plus/AN/sec_implicit_ex.c: Likewise.

From-SVN: r200205

11 years agobuiltin-apply-2.c: set STACK_ARGUMENTS_SIZE with 0 if __aarch64__ is defined.
Yufeng Zhang [Wed, 19 Jun 2013 15:52:19 +0000 (15:52 +0000)]
builtin-apply-2.c: set STACK_ARGUMENTS_SIZE with 0 if __aarch64__ is defined.

gcc/testsuite/

* gcc.dg/torture/stackalign/builtin-apply-2.c: set
STACK_ARGUMENTS_SIZE with 0 if __aarch64__ is defined.

From-SVN: r200204

11 years agotree-ssa-forwprop.c (simplify_bitwise_binary_boolean): New function.
Jeff Law [Wed, 19 Jun 2013 14:06:53 +0000 (08:06 -0600)]
tree-ssa-forwprop.c (simplify_bitwise_binary_boolean): New function.

* tree-ssa-forwprop.c (simplify_bitwise_binary_boolean): New function.
(simplify_bitwise_binary): Use it to simpify certain binary ops on
booleans.

* gcc.dg/tree-ssa/forwprop-28.c: New test.

From-SVN: r200201

11 years agovfp.md: Move VFP instruction classification documentation to ...
Sofiane Naci [Wed, 19 Jun 2013 13:05:14 +0000 (13:05 +0000)]
vfp.md: Move VFP instruction classification documentation to ...

* config/arm/vfp.md: Move VFP instruction classification documentation
to ...
* config/arm/arm.md: ... here.  Update instruction classification
documentation.

From-SVN: r200199

11 years agoarm.md (split for eq(reg, 0)): Add variants for ARMv5 and Thumb2.
Richard Earnshaw [Wed, 19 Jun 2013 12:25:26 +0000 (12:25 +0000)]
arm.md (split for eq(reg, 0)): Add variants for ARMv5 and Thumb2.

(peepholes for eq(reg, not-0)): Ensure condition register is dead after
pattern.  Use more efficient sequences on ARMv5 and Thumb2.

From-SVN: r200197

11 years agore PR bootstrap/57609 (S/390 ESA mode bootstrap failure since r197266)
Steven Bosscher [Wed, 19 Jun 2013 12:06:30 +0000 (12:06 +0000)]
re PR bootstrap/57609 (S/390 ESA mode bootstrap failure since r197266)

2013-06-19  Steven Bosscher  <steven@gcc.gnu.org>

PR target/57609
* config/s390/s390.c (s390_chunkify_start): Replace next_real_insn
with NEXT_INSN.  Use tablejump_p to check for jump table data
insns.

From-SVN: r200196

11 years agore PR c++/56544 (documentation for __cplusplus is out of date)
Paolo Carlini [Wed, 19 Jun 2013 09:03:07 +0000 (09:03 +0000)]
re PR c++/56544 (documentation for __cplusplus is out of date)

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

PR c++/56544
* doc/cpp.texi [Standard Predefined Macros, __cplusplus]: Document
that now in C++ the value is correct per the C++ standards.

From-SVN: r200193

11 years agore PR c++/57638 (warning container: 'integer_cst’ not supported by dump_type#<type...
Manuel López-Ibáñez [Wed, 19 Jun 2013 08:49:59 +0000 (08:49 +0000)]
re PR c++/57638 (warning container: 'integer_cst’ not supported by dump_type#<type error>)

/cp
2013-06-19  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

PR c++/57638
* pt.c (unify, [TEMPLATE_PARM_INDEX]): Pass to unify_type_mismatch
TREE_TYPE (arg), not arg itself.

/testsuite
2013-06-19  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

PR c++/57638
* g++.dg/template/error53.C: New.

From-SVN: r200192

11 years agore PR target/55033 (PowerPC section type conflict error)
Sebastian Huber [Wed, 19 Jun 2013 08:35:10 +0000 (08:35 +0000)]
re PR target/55033 (PowerPC section type conflict error)

gcc/testsuite
2013-06-19  Sebastian Huber  <sebastian.huber@embedded-brains.de>

        PR target/55033
        * gcc.target/powerpc/pr55033.c: Fix options.

From-SVN: r200191

11 years agoexpr.c (expand_expr_real_1): Use SCOPE_FILE_SCOPE_P to check for global context.
Richard Biener [Wed, 19 Jun 2013 08:15:31 +0000 (08:15 +0000)]
expr.c (expand_expr_real_1): Use SCOPE_FILE_SCOPE_P to check for global context.

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

* expr.c (expand_expr_real_1): Use SCOPE_FILE_SCOPE_P to check
for global context.

From-SVN: r200190

11 years ago* ChangeLog: Fix whitespace.
Uros Bizjak [Wed, 19 Jun 2013 06:52:56 +0000 (08:52 +0200)]
* ChangeLog: Fix whitespace.

From-SVN: r200189

11 years agorevert: re PR bootstrap/57609 (S/390 ESA mode bootstrap failure since r197266)
Andreas Krebbel [Wed, 19 Jun 2013 06:40:05 +0000 (06:40 +0000)]
revert: re PR bootstrap/57609 (S/390 ESA mode bootstrap failure since r197266)

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

Revert:
2013-06-18  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

PR target/57609
* config/s390/s390.c (s390_chunkify_start): Replace next_real_insn
with next_active_insn.

From-SVN: r200188

11 years agofpu-387.h: Use __asm__ and __volatile__ consistently.
Uros Bizjak [Wed, 19 Jun 2013 06:38:16 +0000 (08:38 +0200)]
fpu-387.h: Use __asm__ and __volatile__ consistently.

* config/fpu-387.h: Use __asm__ and __volatile__ consistently.
(get_fpu_except_flags): Initialize result.

From-SVN: r200187

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

From-SVN: r200185

11 years agocompiler, runtime: Use function descriptors.
Ian Lance Taylor [Tue, 18 Jun 2013 23:49:49 +0000 (23:49 +0000)]
compiler, runtime: Use function descriptors.

This changes the representation of a Go value of function type
from being a pointer to function code (like a C function
pointer) to being a pointer to a struct.  The first field of
the struct points to the function code.  The remaining fields,
if any, are the addresses of variables referenced in enclosing
functions.  For each call to a function, the address of the
function descriptor is passed as the last argument.

This lets us avoid generating trampolines, and removes the use
of writable/executable sections of the heap.

From-SVN: r200181

11 years agore PR libstdc++/57641 (std::timed_mutex.try_lock_until() is broken)
Jonathan Wakely [Tue, 18 Jun 2013 22:55:02 +0000 (22:55 +0000)]
re PR libstdc++/57641 (std::timed_mutex.try_lock_until() is broken)

PR libstdc++/57641
* include/std/mutex (timed_mutex, recursive_timed_mutex): Move common
functionality to new __timed_mutex_impl mixin. Overload try_lock_until
to handle conversion between different clocks. Replace constrained
__try_lock_for_impl overloads with conditional increment.
* include/std/shared_mutex (shared_mutex::_Mutex): Use the new mixin.
* testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: New.

From-SVN: r200180

11 years agoEmit errors when always_inline functions cannot be inlined in -O0 mode.
Sriraman Tallam [Tue, 18 Jun 2013 22:45:03 +0000 (22:45 +0000)]
Emit errors when always_inline functions cannot be inlined in -O0 mode.

* tree-inline.c (expand_call_inline): Allow the error to be flagged
in early inline pass.
* ipa-inline.c (inline_always_inline_functions): Pretend always_inline
functions are inlined during failures to flag an error.
* gcc.target/i386/inline_error.c: New test.
* gcc.c-torture/compile/pr44043.c: Fix test to expect an error.
* gcc.c-torture/compile/pr43791.c: Fix test to expect an error.

From-SVN: r200179

11 years agore PR c++/53211 (range-based 'for' expression of type 'const int []' has incomplete...
Paolo Carlini [Tue, 18 Jun 2013 22:20:10 +0000 (22:20 +0000)]
re PR c++/53211 (range-based 'for' expression of type 'const int []' has incomplete type)

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

PR c++/53211
* pt.c (type_dependent_expression_p): Handle an array of unknown
bound depending on a variadic parameter.
* parser.c (cp_parser_range_for): Revert PR56794 changes.

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

PR c++/53211
* g++.dg/cpp0x/decltype55.C: New.

From-SVN: r200178

11 years agoCorrect ChangeLog:
Joern Rennecke [Tue, 18 Jun 2013 20:27:09 +0000 (21:27 +0100)]
Correct ChangeLog:

        PR rtl-optimization/57425
        PR rtl-optimization/57569
-       * alias.c (write_dependence_p): Add new parameters mem_size,
+       * alias.c (write_dependence_p): Add new parameters mem_mode,

From-SVN: r200177

11 years agoFix a typo in comments in config/i386/i386.c
H.J. Lu [Tue, 18 Jun 2013 16:57:06 +0000 (16:57 +0000)]
Fix a typo in comments in config/i386/i386.c

* config/i386/i386.c (initial_ix86_tune_features): Fix a typo
in comments.

From-SVN: r200174

11 years agoarm.c (neon_vector_mem_operand): Add strict argument.
Julian Brown [Tue, 18 Jun 2013 15:19:55 +0000 (15:19 +0000)]
arm.c (neon_vector_mem_operand): Add strict argument.

* config/arm/arm.c (neon_vector_mem_operand): Add strict argument.
Permit virtual register pre-reload if !strict.
(coproc_secondary_reload_class): Adjust for neon_vector_mem_operand
change.
* config/arm/arm-protos.h (neon_vector_mem_operand): Adjust
prototype.
* config/arm/neon.md (movmisalign<mode>): Use
neon_perm_struct_or_reg_operand instead of
neon_struct_or_register_operand.
(*movmisalign<mode>_neon_load, *movmisalign<mode>_neon_store): Use
neon_permissive_struct_operand instead of neon_struct_operand.
* config/arm/constraints.md (Un, Um, Us): Adjust calls to
neon_vector_mem_operand.
* config/arm/predicates.md (neon_struct_operand): Adjust call to
neon_vector_mem_operand.
(neon_permissive_struct_operand): New.
(neon_struct_or_register_operand): Rename to...
(neon_perm_struct_or_reg_operand): This. Adjust call to
neon_vector_mem_operand.

From-SVN: r200172

11 years agoMakefile.in (LTO_STREAMER_H): Add pointer-set.h dependency.
Richard Biener [Tue, 18 Jun 2013 14:39:57 +0000 (14:39 +0000)]
Makefile.in (LTO_STREAMER_H): Add pointer-set.h dependency.

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

* Makefile.in (LTO_STREAMER_H): Add pointer-set.h dependency.
* lto-streamer.h: Include pointer-set.h.
(struct lto_decl_slot): Remove.
(struct lto_tree_ref_encoder): Make tree_hash_table a pointer-map.
Remove next_index entry.
(lto_hash_decl_slot_node, lto_eq_decl_slot_node,
lto_hash_type_slot_node, lto_eq_type_slot_node): Remove.
(lto_init_tree_ref_encoder): Adjust.
(lto_destroy_tree_ref_encoder): Likewise.
* lto-section-out.c (lto_hash_decl_slot_node, lto_eq_decl_slot_node,
lto_hash_type_slot_node, lto_eq_type_slot_node): Remove.
(lto_output_decl_index): Adjust.
(lto_new_out_decl_state): Likewise.
(lto_record_function_out_decl_state): Likewise.
* lto-streamer-out.c (copy_function): Likewise.

From-SVN: r200171

11 years agoMakefile.in (cgraphunit.o): Add $(CFGLOOP_H) dependency.
Richard Biener [Tue, 18 Jun 2013 14:14:00 +0000 (14:14 +0000)]
Makefile.in (cgraphunit.o): Add $(CFGLOOP_H) dependency.

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

* Makefile.in (cgraphunit.o): Add $(CFGLOOP_H) dependency.
* cgraphunit.c: Include cfgloop.h.
(init_lowered_empty_function): Initialize the loop tree.
(assemble_thunk): Insert new BBs into loops.

From-SVN: r200169

11 years agotree-streamer.h (streamer_tree_cache_create): Adjust prototype.
Richard Biener [Tue, 18 Jun 2013 12:56:42 +0000 (12:56 +0000)]
tree-streamer.h (streamer_tree_cache_create): Adjust prototype.

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

* tree-streamer.h (streamer_tree_cache_create): Adjust prototype.
* tree-streamer.c (streamer_tree_cache_create): Make maintaining
the map from cache entry to cache index optional.
(streamer_tree_cache_replace_tree): Adjust accordingly.
(streamer_tree_cache_append): Likewise.
(streamer_tree_cache_delete): Likewise.
* lto-streamer-in.c (lto_data_in_create): Do not maintain the
streamer cache map from cache entry to cache index.
* lto-streamer-out.c (create_output_block): Adjust.

lto/
* lto.c (lto_register_var_decl_in_symtab): Pass in cache index
and use it.
(lto_register_function_decl_in_symtab): Likewise.
(cmp_tree): New function.
(unify_scc): Instead of using the streamer cache map from entry
to cache index match up the two maps we have by sorting them.
Adjust calls to lto_register_var_decl_in_symtab and
lto_register_function_decl_in_symtab.

From-SVN: r200168

11 years agoarm.md (attribute "insn"): Move multiplication and division attributes to...
Sofiane Naci [Tue, 18 Jun 2013 12:45:31 +0000 (12:45 +0000)]
arm.md (attribute "insn"): Move multiplication and division attributes to...

* config/arm/arm.md (attribute "insn"): Move multiplication and division
attributes to...
(attribute "type"): ... here.  Remove mult.
(attribute "mul32"): New attribute.
(attribute "mul64"): Add umaal.
(*arm_mulsi3): Update attributes.
(*arm_mulsi3_v6): Likewise.
(*thumb_mulsi3): Likewise.
(*thumb_mulsi3_v6): Likewise.
(*mulsi3_compare0): Likewise.
(*mulsi3_compare0_v6): Likewise.
(*mulsi_compare0_scratch): Likewise.
(*mulsi_compare0_scratch_v6): Likewise.
(*mulsi3addsi): Likewise.
(*mulsi3addsi_v6): Likewise.
(*mulsi3addsi_compare0): Likewise.
(*mulsi3addsi_compare0_v6): Likewise.
(*mulsi3addsi_compare0_scratch): Likewise.
(*mulsi3addsi_compare0_scratch_v6): Likewise.
(*mulsi3subsi): Likewise.
(*mulsidi3adddi): Likewise.
(*mulsi3addsi_v6): Likewise.
(*mulsidi3adddi_v6): Likewise.
(*mulsidi3_nov6): Likewise.
(*mulsidi3_v6): Likewise.
(*umulsidi3_nov6): Likewise.
(*umulsidi3_v6): Likewise.
(*umulsidi3adddi): Likewise.
(*umulsidi3adddi_v6): Likewise.
(*smulsi3_highpart_nov6): Likewise.
(*smulsi3_highpart_v6): Likewise.
(*umulsi3_highpart_nov6): Likewise.
(*umulsi3_highpart_v6): Likewise.
(mulhisi3): Likewise.
(*mulhisi3tb): Likewise.
(*mulhisi3bt): Likewise.
(*mulhisi3tt): Likewise.
(maddhisi4): Likewise.
(*maddhisi4tb): Likewise.
(*maddhisi4tt): Likewise.
(maddhidi4): Likewise.
(*maddhidi4tb): Likewise.
(*maddhidi4tt): Likewise.
(divsi3): Likewise.
(udivsi3): Likewise.
* config/arm/thumb2.md (thumb2_mulsi_short): Update attributes.
(thumb2_mulsi_short_compare0): Likewise.
(thumb2_mulsi_short_compare0_scratch): Likewise.
* config/arm/arm1020e.md (1020mult1): Update attribute change.
(1020mult2): Likewise.
(1020mult3): Likewise.
(1020mult4): Likewise.
(1020mult5): Likewise.
(1020mult6): Likewise.
* config/arm/cortex-a15.md (cortex_a15_mult32): Update attribute change.
(cortex_a15_mult64): Likewise.
(cortex_a15_sdiv): Likewise.
(cortex_a15_udiv): Likewise.
* config/arm/arm1026ejs.md (mult1): Update attribute change.
(mult2): Likewise.
(mult3): Likewise.
(mult4): Likewise.
(mult5): Likewise.
(mult6): Likewise.
* config/arm/marvell-pj4.md (pj4_ir_mul): Update attribute change.
(pj4_ir_div): Likewise.
* config/arm/arm1136jfs.md (11_mult1): Update attribute change.
(11_mult2): Likewise.
(11_mult3): Likewise.
(11_mult4): Likewise.
(11_mult5): Likewise.
(11_mult6): Likewise.
(11_mult7): Likewise.
* config/arm/cortex-a8.md (cortex_a8_mul): Update attribute change.
(cortex_a8_mla): Likewise.
(cortex_a8_mull): Likewise.
(cortex_a8_smulwy): Likewise.
(cortex_a8_smlald): Likewise.
* config/arm/cortex-m4.md (cortex_m4_alu): Update attribute change.
* config/arm/cortex-r4.md (cortex_r4_mul_4): Update attribute change.
(cortex_r4_mul_3): Likewise.
(cortex_r4_mla_4): Likewise.
(cortex_r4_mla_3): Likewise.
(cortex_r4_smlald): Likewise.
(cortex_r4_mull): Likewise.
(cortex_r4_sdiv): Likewise.
(cortex_r4_udiv): Likewise.
* config/arm/cortex-a7.md (cortex_a7_mul): Update attribute change.
(cortex_a7_idiv): Likewise.
* config/arm/arm926ejs.md (9_mult1): Update attribute change.
(9_mult2): Likewise.
(9_mult3): Likewise.
(9_mult4): Likewise.
(9_mult5): Likewise.
(9_mult6): Likewise.
* config/arm/cortex-a53.md (cortex_a53_mul): Update attribute change.
(cortex_a53_sdiv): Likewise.
(cortex_a53_udiv): Likewise.
* config/arm/fa726te.md (726te_mult_op): Update attribute change.
* config/arm/fmp626.md (mp626_mult1): Update attribute change.
(mp626_mult2): Likewise.
(mp626_mult3): Likewise.
(mp626_mult4): Likewise.
* config/arm/fa526.md (526_mult1): Update attribute change.
(526_mult2): Likewise.
* config/arm/arm-generic.md (mult): Update attribute change.
(mult_ldsched_strongarm): Likewise.
(mult_ldsched): Likewise.
(multi_cycle): Likewise.
* config/arm/cortex-a5.md (cortex_a5_mul): Update attribute change.
* config/arm/fa606te.md (606te_mult1): Update attribute change.
(606te_mult2): Likewise.
(606te_mult3): Likewise.
(606te_mult4): Likewise.
* config/arm/cortex-a9.md (cortex_a9_mult16): Update attribute change.
(cortex_a9_mac16): Likewise.
(cortex_a9_multiply): Likewise.
(cortex_a9_mac): Likewise.
(cortex_a9_multiply_long): Likewise.
* config/arm/fa626te.md (626te_mult1): Update attribute change.
(626te_mult2): Likewise.
(626te_mult3): Likewise.
(626te_mult4): Likewise.

From-SVN: r200167

11 years agoFix c90-fordecl-1.c test
Marek Polacek [Tue, 18 Jun 2013 10:39:52 +0000 (10:39 +0000)]
Fix c90-fordecl-1.c test

From-SVN: r200166

11 years agore PR lto/57334 (ICE: in input_gimple_stmt, at gimple-streamer-in.c:287)
Richard Biener [Tue, 18 Jun 2013 09:56:59 +0000 (09:56 +0000)]
re PR lto/57334 (ICE: in input_gimple_stmt, at gimple-streamer-in.c:287)

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

PR lto/57334
* lto-symtab.c (lto_symtab_merge_decls): Process nodes properly.

From-SVN: r200165

11 years agore PR bootstrap/57609 (S/390 ESA mode bootstrap failure since r197266)
Andreas Krebbel [Tue, 18 Jun 2013 08:59:46 +0000 (08:59 +0000)]
re PR bootstrap/57609 (S/390 ESA mode bootstrap failure since r197266)

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

PR target/57609
* config/s390/s390.c (s390_chunkify_start): Replace next_real_insn
with next_active_insn.

From-SVN: r200164

11 years agore PR c/57630 (Error should include -std=c11 and friends)
Marek Polacek [Tue, 18 Jun 2013 07:41:19 +0000 (07:41 +0000)]
re PR c/57630 (Error should include -std=c11 and friends)

PR c/57630
* c-decl.c (check_for_loop_decls): Improve diagnostics messages.

From-SVN: r200163

11 years agors6000.h (enum data_align): New.
Alan Modra [Tue, 18 Jun 2013 01:13:27 +0000 (10:43 +0930)]
rs6000.h (enum data_align): New.

* config/rs6000/rs6000.h (enum data_align): New.
(LOCAL_ALIGNMENT, DATA_ALIGNMENT): Use rs6000_data_alignment.
(DATA_ABI_ALIGNMENT): Define.
(CONSTANT_ALIGNMENT): Correct comment.
* config/rs6000/rs6000-protos.h (rs6000_data_alignment): Declare.
* config/rs6000/rs6000.c (rs6000_data_alignment): New function.

From-SVN: r200159

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

From-SVN: r200158

11 years agosec_reduce_ind_same_value.c: New test.
Balaji V. Iyer [Mon, 17 Jun 2013 18:21:14 +0000 (18:21 +0000)]
sec_reduce_ind_same_value.c: New test.

2013-06-17  Balaji V. Iyer  <balaji.v.iyer@intel.com>

        * c-c++-common/cilk-plus/AN/sec_reduce_ind_same_value.c: New test.

From-SVN: r200155

11 years agoggc-page.c (ggc_pch_write_object): Remove erroneous ATTRIBUTE_UNUSED marking.
David Malcolm [Mon, 17 Jun 2013 17:25:46 +0000 (17:25 +0000)]
ggc-page.c (ggc_pch_write_object): Remove erroneous ATTRIBUTE_UNUSED marking.

* ggc-page.c (ggc_pch_write_object) <d>: Remove erroneous
ATTRIBUTE_UNUSED marking.

From-SVN: r200154