Commit Graph

124032 Commits

Author SHA1 Message Date
Steve Ellcey b4005c71a2 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
2013-06-24 15:24:19 +00:00
Bernd Edlinger a4e28c8103 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
2013-06-24 13:46:58 +00:00
Martin Jambor 5fe8e75785 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
2013-06-24 14:51:43 +02:00
Martin Jambor 44a6024459 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
2013-06-24 14:40:17 +02:00
Richard Biener 7c5848b899 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
2013-06-24 12:17:16 +00:00
Richard Biener e04518ae25 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
2013-06-24 11:14:31 +00:00
Richard Biener 3dbc97a91e 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
2013-06-24 10:22:22 +00:00
Tobias Burnus 03a8a2d57d [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
2013-06-24 10:43:55 +02:00
Tobias Burnus 7ae346c340 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
2013-06-24 10:34:05 +02:00
Alan Modra e99008fc24 fix duplication of test
From-SVN: r200359
2013-06-24 10:34:35 +09:30
Alan Modra 8345965a52 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
2013-06-24 10:22:34 +09:30
GCC Administrator dab7667132 Daily bump.
From-SVN: r200356
2013-06-24 00:16:45 +00:00
Paolo Carlini 43a85edfb5 sfinae47.C: New.
2013-06-23  Paolo Carlini  <paolo.carlini@oracle.com>

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

From-SVN: r200353
2013-06-23 23:36:34 +00:00
Jakub Jelinek b7df379fdf 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
2013-06-23 21:06:00 +02:00
Oleg Endo 0bcf9a093e 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
2013-06-23 08:39:55 +00:00
Sriraman Tallam 97db2bf7fb 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
2013-06-23 06:15:19 +00:00
Gabriel Dos Reis 604b2bfcc4 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
2013-06-23 02:27:03 +00:00
Sriraman Tallam 495e687951 i386-common.c: Handle LZCNT.
2013-06-22  Sriraman Tallam  <tmsriram@google.com>

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

From-SVN: r200347
2013-06-23 00:57:40 +00:00
GCC Administrator ca3ef38f6b Daily bump.
From-SVN: r200346
2013-06-23 00:16:45 +00:00
Paolo Carlini 07bba3b144 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
2013-06-22 21:07:02 +00:00
Andi Kleen 11e8f687df 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
2013-06-22 17:23:08 +00:00
Oleg Endo 664dd7217b sh.c: Remove <cstdlib> workaround.
* config/sh/sh.c: Remove <cstdlib> workaround.


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

From-SVN: r200328
2013-06-22 12:00:09 +00:00
GCC Administrator da0180424a Daily bump.
From-SVN: r200324
2013-06-22 00:16:37 +00:00
Tobias Burnus ea8b72e6ba 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
2013-06-21 23:51:41 +02:00
Tobias Burnus 6f556b07c9 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
2013-06-21 23:24:59 +02:00
Balaji V. Iyer 2ce86d2eb5 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
2013-06-21 12:36:47 -07:00
Joseph Myers fa1e55b0a0 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
2013-06-21 20:08:01 +01:00
Ian Lance Taylor 2b4171c331 compiler: do not skip compilation of blank-named functions.
Fixes issue 22.

From-SVN: r200316
2013-06-21 17:56:49 +00:00
Paolo Carlini b0ad3635b6 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
2013-06-21 14:23:15 +00:00
Andi Kleen 927f908bf8 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
2013-06-21 13:51:48 +00:00
Andi Kleen cca410b69b 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
2013-06-21 13:51:37 +00:00
Eric Botcazou a58219532c * config/fpu-sysv.h (get_fpu_except_flags): Fix typo.
From-SVN: r200298
2013-06-21 13:16:57 +00:00
Jan Hubicka d84db1ed8a 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
2013-06-21 06:43:39 +00:00
Ian Lance Taylor bc6ad87f60 compiler: Really only make descriptors when needed.
From-SVN: r200280
2013-06-21 00:29:54 +00:00
Jason Merrill 593bcbb8e4 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
2013-06-20 20:28:30 -04:00
Jason Merrill 8fc95c057c * decl.c (compute_array_index_type): Use size_one_node.
From-SVN: r200278
2013-06-20 20:28:23 -04:00
GCC Administrator 0daa6ac0ca Daily bump.
From-SVN: r200277
2013-06-21 00:16:34 +00:00
Ian Lance Taylor ed3cd9435c compiler: Only make function descriptors if needed.
From-SVN: r200273
2013-06-21 00:11:53 +00:00
Balaji V. Iyer 07a6825b5f 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
2013-06-20 15:52:07 -07:00
Oleg Endo 469a31a98e 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
2013-06-20 15:22:02 -04:00
Jason Merrill 4ca5c232d0 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
2013-06-20 14:33:02 -04:00
Jason Merrill 4ab013d93a * cp-tree.h (DECL_TEMPLATE_PARMS, DECL_TEMPLATE_RESULT)
(DECL_TEMPLATE_INSTANTIATIONS, DECL_TEMPLATE_SPECIALIZATIONS): Use
	TEMPLATE_DECL_CHECK.

From-SVN: r200262
2013-06-20 14:32:56 -04:00
Uros Bizjak 49b4ff639e 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
2013-06-20 20:13:31 +02:00
Jeff Law 11d396ab16 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
2013-06-20 11:16:41 -06:00
Uros Bizjak a839e8d5a0 * ChangeLog: Add some missing lines.
From-SVN: r200256
2013-06-20 19:11:51 +02:00
Uros Bizjak 86c2f4b761 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
2013-06-20 19:08:51 +02:00
Iain Sandoe 1ef3b58e57 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
2013-06-20 16:48:26 +00:00
Iain Sandoe 6c84d5762f 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
2013-06-20 16:44:23 +00:00
Torvald Riegel 480c696bb0 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
2013-06-20 16:40:54 +00:00
Torvald Riegel b1db457bf9 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
2013-06-20 16:40:38 +00:00