1. 25 Jun, 2013 11 commits
  2. 24 Jun, 2013 15 commits
    • compiler: generate dummy names for blank-named constants. · fe7144f4
      Otherwise such const declarations are not checked.
      
      From-SVN: r200381
      Ian Lance Taylor committed
    • compiler: Add support for method values. · 571d3f91
      From-SVN: r200379
      Ian Lance Taylor committed
    • files.c (_cpp_stack_include): Fix the highest_location when header file is… · 39953c79
      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
      Dehao Chen committed
    • configure.ac (AC_CHECK_FUNCS_ONCE): Put into if statement. · b4005c71
      2013-06-24  Steve Ellcey  <sellcey@mips.com>
      
      	* configure.ac (AC_CHECK_FUNCS_ONCE): Put into if statement.
      	* configure: Regenerate.
      
      From-SVN: r200374
      Steve Ellcey committed
    • re PR libstdc++/57691 (freestanding libstdc++ has compile error) · a4e28c81
      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
      Bernd Edlinger committed
    • re PR tree-optimization/57358 (segmentation fault with attribute(optimize(O0))) · 5fe8e757
      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
      Martin Jambor committed
    • re PR tree-optimization/57539 (ice in ipa_edge_duplication_hook) · 44a60244
      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
      Martin Jambor committed
    • pointer-set.h (struct pointer_set_t): Move here from pointer-set.c. · 7c5848b8
      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
      Richard Biener committed
    • re PR testsuite/57686 (FAIL: gcc.dg/torture/pr57584.c with -m32) · e04518ae
      2013-06-24  Richard Biener  <rguenther@suse.de>
      
      	PR testsuite/57686
      	* gcc.dg/torture/pr57584.c: Remove target specific bits.
      
      From-SVN: r200364
      Richard Biener committed
    • re PR tree-optimization/57488 (loop terminates early at -O3) · 3dbc97a9
      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
      Richard Biener committed
    • [multiple changes] · 03a8a2d5
      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
      Tobias Burnus committed
    • configure.ac: Check for fp_except and fp_except_t. · 7ae346c3
      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
      Tobias Burnus committed
    • fix duplication of test · e99008fc
      From-SVN: r200359
      Alan Modra committed
    • rs6000.c (vspltis_constant): Correct for little-endian. · 8345965a
      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
      Alan Modra committed
    • Daily bump. · dab76671
      From-SVN: r200356
      GCC Administrator committed
  3. 23 Jun, 2013 7 commits
    • sfinae47.C: New. · 43a85edf
      2013-06-23  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* g++.dg/cpp0x/sfinae47.C: New.
      
      From-SVN: r200353
      Paolo Carlini committed
    • re PR target/57688 (-O3 -march=native generates illegal opcode on AMD Phenom) · b7df379f
      	PR target/57688
      	* common/config/i386/i386-common.c (ix86_handle_option): For OPT_mlzcnt
      	add missing return true.
      
      From-SVN: r200352
      Jakub Jelinek committed
    • re PR target/52483 (SH Target: Loads from volatile memory leave redundant sign/zero extensions) · 0bcf9a09
      	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
      Oleg Endo committed
    • Allow mmintrin headers to work with function specific target opts. · 97db2bf7
      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
      Sriraman Tallam committed
    • c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x. · 604b2bfc
      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
      Gabriel Dos Reis committed
    • i386-common.c: Handle LZCNT. · 495e6879
      2013-06-22  Sriraman Tallam  <tmsriram@google.com>
      
      	* common/config/i386/i386-common.c: Handle LZCNT.
      
      From-SVN: r200347
      Sriraman Tallam committed
    • Daily bump. · ca3ef38f
      From-SVN: r200346
      GCC Administrator committed
  4. 22 Jun, 2013 4 commits
  5. 21 Jun, 2013 3 commits
    • trans-array.c (gfc_trans_deferred_array): Call the finalizer for nonallocatable local variables. · ea8b72e6
      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
      Tobias Burnus committed
    • trans-array.c (gfc_alloc_allocatable_for_assignment): Allocate at least one byte. · 6f556b07
      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
      Tobias Burnus committed
    • Implemented Cilk Plus Array Notation for C++ · 2ce86d2e
      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
      Balaji V. Iyer committed