aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2014-05-12re PR fortran/60127 (ICE with OpenMP and DO CONCURRENT)Tobias Burnus4-0/+29
2014-05-12 Tobias Burnus <burnus@net-b.de> PR fortran/60127 * openmp.c (resolve_omp_do): Reject do concurrent loops. 2014-05-12 Tobias Burnus <burnus@net-b.de> PR fortran/60127 * gfortran.dg/gomp/omp_do_concurrent.f90: New. From-SVN: r210331
2014-05-12tm.texi: Remove reference to deleted macro.David Wohlferd3-6/+5
2014-05-12 David Wohlferd <dw@LimeGreenSocks.com> * doc/tm.texi: Remove reference to deleted macro. * doc/tm.texi.in: Likewise. From-SVN: r210330
2014-05-12re PR fortran/60834 ([OOP] ICE with ASSOCIATE construct ↵Thomas Koenig4-2/+58
(gimplify_var_or_parm_decl, at gimplify.c:1721)) 2014-05-12 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/60834 * frontend-passes.c (in_assoc_list): New variable. (optimize_namespace): Initialize in_assoc_list (combine_array_constructor): Don't try to combine assoc lists. (gfc_code_walker): Keep track of in_assoc_list. 2014-05-12 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/60834 * gfortran.dg/associate_16.f90: New test. From-SVN: r210329
2014-05-12cvt.c (cp_convert_to_pointer): Don't call error_at if complain & tf_error is ↵Paolo Carlini3-4/+14
false. 2014-05-12 Paolo Carlini <paolo.carlini@oracle.com> * cvt.c (cp_convert_to_pointer): Don't call error_at if complain & tf_error is false. * decl.c (make_unbound_class_template): Prefer inform for "declared here"-type message. From-SVN: r210326
2014-05-12re PR target/60991 ([avr] Stack corruption when using 24-bit integers ↵Senthil Kumar Selvaraj4-1/+33
__int24 or __memx pointers in large stack frame) gcc/ChangeLog PR target/60991 * config/avr/avr.c (avr_out_store_psi): Use correct constant to restore Y. gcc/testsuite/ChangeLog PR target/60991 * gcc.target/avr/pr60991.c: New testcase. From-SVN: r210325
2014-05-12re PR c++/60054 ([c++1y] ICE with auto* cast)Paolo Carlini2-0/+16
2014-05-12 Paolo Carlini <paolo.carlini@oracle.com> PR c++/60054 * g++.dg/cpp1y/pr60054.C: New. From-SVN: r210323
2014-05-12arm.h (License): Add GCC Runtime Library Exception.Georg-Johann Lay11-0/+53
gcc/ * config/arm/arm.h (License): Add GCC Runtime Library Exception. * config/arm/aout.h (License): Same. * config/arm/bpabi.h (License): Same. * config/arm/elf.h (License): Same. * config/arm/linux-elf.h (License): Same. * config/arm/linux-gas.h (License): Same. * config/arm/netbsd-elf.h (License): Same. * config/arm/uclinux-eabi.h (License): Same. * config/arm/uclinux-elf.h (License): Same. * config/arm/vxworks.h (License): Same. libgcc/ * config/arm/bpabi-lib.h (License): Add GCC Runtime Library Exception. From-SVN: r210322
2014-05-12re PR c++/51199 ([C++11][DR 547] gcc forms impossible types derived from ↵Paolo Carlini2-0/+22
function types with cv-qualifier-seq) 2014-05-12 Paolo Carlini <paolo.carlini@oracle.com> PR c++/51199 * g++.dg/template/pr51199.C: New. From-SVN: r210321
2014-05-12Daily bump.GCC Administrator1-1/+1
From-SVN: r210319
2014-05-11* gcc.c-torture/execute/20101011-1.c [__MMIX__] (DO_TEST): Define as 0.Hans-Peter Nilsson2-0/+8
From-SVN: r210315
2014-05-11tree.h (OMP_CLAUSE_LINEAR_STMT): Define.Jakub Jelinek24-173/+1909
* tree.h (OMP_CLAUSE_LINEAR_STMT): Define. * tree.c (omp_clause_num_ops): Increase OMP_CLAUSE_LINEAR number of operands to 3. (walk_tree_1): Walk all operands of OMP_CLAUSE_LINEAR. * tree-nested.c (convert_nonlocal_omp_clauses, convert_local_omp_clauses): Handle OMP_CLAUSE_DEPEND. * gimplify.c (gimplify_scan_omp_clauses): Handle OMP_CLAUSE_LINEAR_STMT. * omp-low.c (lower_rec_input_clauses): Fix typo. (maybe_add_implicit_barrier_cancel, lower_omp_1): Add cast between Fortran boolean_type_node and C _Bool if needed. gcc/fortran/ * gfortran.h (gfc_statement): Add ST_OMP_CANCEL, ST_OMP_CANCELLATION_POINT, ST_OMP_TASKGROUP, ST_OMP_END_TASKGROUP, ST_OMP_SIMD, ST_OMP_END_SIMD, ST_OMP_DO_SIMD, ST_OMP_END_DO_SIMD, ST_OMP_PARALLEL_DO_SIMD, ST_OMP_END_PARALLEL_DO_SIMD and ST_OMP_DECLARE_SIMD. (gfc_omp_namelist): New typedef. (gfc_get_omp_namelist): Define. (OMP_LIST_UNIFORM, OMP_LIST_ALIGNED, OMP_LIST_LINEAR, OMP_LIST_DEPEND_IN, OMP_LIST_DEPEND_OUT): New clause list kinds. (gfc_omp_proc_bind_kind, gfc_omp_cancel_kind): New enums. (gfc_omp_clauses): Change type of lists to gfc_omp_namelist *. Add inbranch, notinbranch, cancel, proc_bind, safelen_expr and simdlen_expr fields. (gfc_omp_declare_simd): New typedef. (gfc_get_omp_declare_simd): Define. (gfc_namespace): Add omp_declare_simd field. (gfc_exec_op): Add EXEC_OMP_CANCEL, EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_TASKGROUP, EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD and EXEC_OMP_PARALLEL_DO_SIMD. (gfc_omp_atomic_op): Add GFC_OMP_ATOMIC_MASK, GFC_OMP_ATOMIC_SEQ_CST and GFC_OMP_ATOMIC_SWAP. (gfc_code): Change type of omp_namelist field to gfc_omp_namelist *. (gfc_free_omp_namelist, gfc_free_omp_declare_simd, gfc_free_omp_declare_simd_list, gfc_resolve_omp_declare_simd): New prototypes. * trans-stmt.h (gfc_trans_omp_declare_simd): New prototype. * symbol.c (gfc_free_namespace): Call gfc_free_omp_declare_simd. * openmp.c (gfc_free_omp_clauses): Free safelen_expr and simdlen_expr. Use gfc_free_omp_namelist instead of gfc_free_namelist. (gfc_free_omp_declare_simd, gfc_free_omp_declare_simd_list): New functions. (gfc_match_omp_variable_list): Add end_colon, headp and allow_sections arguments. Handle parsing of array sections. Use *omp_namelist* instead of *namelist* data structure and functions/macros. Allow termination at : character. (OMP_CLAUSE_ALIGNED, OMP_CLAUSE_DEPEND, OMP_CLAUSE_INBRANCH, OMP_CLAUSE_LINEAR, OMP_CLAUSE_NOTINBRANCH, OMP_CLAUSE_PROC_BIND, OMP_CLAUSE_SAFELEN, OMP_CLAUSE_SIMDLEN, OMP_CLAUSE_UNIFORM): Define. (gfc_match_omp_clauses): Change first and needs_space variables into arguments with default values. Parse inbranch, notinbranch, proc_bind, safelen, simdlen, uniform, linear, aligned and depend clauses. (OMP_PARALLEL_CLAUSES): Add OMP_CLAUSE_PROC_BIND. (OMP_DECLARE_SIMD_CLAUSES, OMP_SIMD_CLAUSES): Define. (OMP_TASK_CLAUSES): Add OMP_CLAUSE_DEPEND. (gfc_match_omp_do_simd): New function. (gfc_match_omp_flush): Use *omp_namelist* instead of *namelist* data structure and functions/macros. (gfc_match_omp_simd, gfc_match_omp_declare_simd, gfc_match_omp_parallel_do_simd): New functions. (gfc_match_omp_atomic): Handle seq_cst clause. Handle atomic swap. (gfc_match_omp_taskgroup, gfc_match_omp_cancel_kind, gfc_match_omp_cancel, gfc_match_omp_cancellation_point): New functions. (resolve_omp_clauses): Add where, omp_clauses and ns arguments. Use *omp_namelist* instead of *namelist* data structure and functions/macros. Resolve uniform, aligned, linear, depend, safelen and simdlen clauses. (resolve_omp_atomic): Adjust for GFC_OMP_ATOMIC_{MASK,SEQ_CST,SWAP} addition, recognize atomic swap. (gfc_resolve_omp_parallel_blocks): Use gfc_omp_namelist instead of gfc_namelist. Handle EXEC_OMP_PARALLEL_DO_SIMD the same as EXEC_OMP_PARALLEL_DO. (gfc_resolve_do_iterator): Use *omp_namelist* instead of *namelist* data structure and functions/macros. (resolve_omp_do): Likewise. Handle EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD, EXEC_OMP_PARALLEL_DO_SIMD. (gfc_resolve_omp_directive): Handle EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD, EXEC_OMP_PARALLEL_DO_SIMD and EXEC_OMP_CANCEL. Adjust resolve_omp_clauses caller. (gfc_resolve_omp_declare_simd): New function. * parse.c (decode_omp_directive): Parse cancellation point, cancel, declare simd, end do simd, end simd, end parallel do simd, end taskgroup, parallel do simd, simd and taskgroup directives. (case_executable): Add ST_OMP_CANCEL and ST_OMP_CANCELLATION_POINT. (case_exec_markers): Add ST_OMP_TASKGROUP, case ST_OMP_SIMD, ST_OMP_DO_SIMD and ST_OMP_PARALLEL_DO_SIMD. (case_decl): Add ST_OMP_DECLARE_SIMD. (gfc_ascii_statement): Handle ST_OMP_CANCEL, ST_OMP_CANCELLATION_POINT, ST_OMP_TASKGROUP, ST_OMP_END_TASKGROUP, ST_OMP_SIMD, ST_OMP_END_SIMD, ST_OMP_DO_SIMD, ST_OMP_END_DO_SIMD, ST_OMP_PARALLEL_DO_SIMD, ST_OMP_END_PARALLEL_DO_SIMD and ST_OMP_DECLARE_SIMD. (parse_omp_do): Handle ST_OMP_SIMD, ST_OMP_DO_SIMD and ST_OMP_PARALLEL_DO_SIMD. (parse_omp_atomic): Adjust for GFC_OMP_ATOMIC_* additions. (parse_omp_structured_block): Handle ST_OMP_TASKGROUP and ST_OMP_PARALLEL_DO_SIMD. (parse_executable): Handle ST_OMP_SIMD, ST_OMP_DO_SIMD, ST_OMP_PARALLEL_DO_SIMD and ST_OMP_TASKGROUP. * trans-decl.c (gfc_get_extern_function_decl, gfc_create_function_decl): Call gfc_trans_omp_declare_simd if needed. * frontend-passes.c (gfc_code_walker): Handle EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD and EXEC_OMP_PARALLEL_DO_SIMD. Walk safelen_expr and simdlen_expr. Walk expressions in gfc_omp_namelist of depend, aligned and linear clauses. * match.c (match_exit_cycle): Handle EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD and EXEC_OMP_PARALLEL_DO_SIMD. (gfc_free_omp_namelist): New function. * dump-parse-tree.c (show_namelist): Removed. (show_omp_namelist): New function. (show_omp_node): Handle OpenMP 4.0 additions. (show_code_node): Handle EXEC_OMP_CANCEL, EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_DO_SIMD, EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP. * match.h (gfc_match_omp_cancel, gfc_match_omp_cancellation_point, gfc_match_omp_declare_simd, gfc_match_omp_do_simd, gfc_match_omp_parallel_do_simd, gfc_match_omp_simd, gfc_match_omp_taskgroup): New prototypes. * trans-openmp.c (gfc_trans_omp_variable): Add declare_simd argument, handle it. Allow current_function_decl to be NULL. (gfc_trans_omp_variable_list): Add declare_simd argument, pass it through to gfc_trans_omp_variable and disregard whether sym is referenced if declare_simd is true. Work on gfc_omp_namelist instead of gfc_namelist. (gfc_trans_omp_reduction_list): Work on gfc_omp_namelist instead of gfc_namelist. Adjust gfc_trans_omp_variable caller. (gfc_trans_omp_clauses): Add declare_simd argument, pass it through to gfc_trans_omp_variable{,_list} callers. Work on gfc_omp_namelist instead of gfc_namelist. Handle inbranch, notinbranch, safelen, simdlen, depend, uniform, linear, proc_bind and aligned clauses. Handle cancel kind. (gfc_trans_omp_atomic): Handle seq_cst clause, handle atomic swap, adjust for GFC_OMP_ATOMIC_* changes. (gfc_trans_omp_cancel, gfc_trans_omp_cancellation_point): New functions. (gfc_trans_omp_do): Add op argument, handle simd translation into generic. (GFC_OMP_SPLIT_SIMD, GFC_OMP_SPLIT_DO, GFC_OMP_SPLIT_PARALLEL, GFC_OMP_SPLIT_NUM, GFC_OMP_MASK_SIMD, GFC_OMP_MASK_DO, GFC_OMP_MASK_PARALLEL): New. (gfc_split_omp_clauses, gfc_trans_omp_do_simd): New functions. (gfc_trans_omp_parallel_do): Rework to use gfc_split_omp_clauses. (gfc_trans_omp_parallel_do_simd, gfc_trans_omp_taskgroup): New functions. (gfc_trans_omp_directive): Handle EXEC_OMP_CANCEL, EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_DO_SIMD, EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP. Adjust gfc_trans_omp_do caller. (gfc_trans_omp_declare_simd): New function. * st.c (gfc_free_statement): Handle EXEC_OMP_CANCEL, EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_DO_SIMD, EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP. For EXEC_OMP_FLUSH call gfc_free_omp_namelist instead of gfc_free_namelist. * module.c (omp_declare_simd_clauses): New variable. (mio_omp_declare_simd): New function. (mio_symbol): Call it. * trans.c (trans_code): Handle EXEC_OMP_CANCEL, EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_DO_SIMD, EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP. * resolve.c (gfc_resolve_blocks): Handle EXEC_OMP_DO_SIMD, EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP. (resolve_code): Handle EXEC_OMP_CANCEL, EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_DO_SIMD, EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP. (resolve_types): Call gfc_resolve_omp_declare_simd. gcc/testsuite/ * gfortran.dg/gomp/affinity-1.f90: New test. libgomp/ * testsuite/libgomp.fortran/cancel-do-1.f90: New test. * testsuite/libgomp.fortran/cancel-do-2.f90: New test. * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test. * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test. * testsuite/libgomp.fortran/cancel-sections-1.f90: New test. * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test. * testsuite/libgomp.fortran/declare-simd-1.f90: New test. * testsuite/libgomp.fortran/declare-simd-2.f90: New test. * testsuite/libgomp.fortran/declare-simd-3.f90: New test. * testsuite/libgomp.fortran/depend-1.f90: New test. * testsuite/libgomp.fortran/depend-2.f90: New test. * testsuite/libgomp.fortran/omp_atomic5.f90: New test. * testsuite/libgomp.fortran/simd1.f90: New test. * testsuite/libgomp.fortran/simd2.f90: New test. * testsuite/libgomp.fortran/simd3.f90: New test. * testsuite/libgomp.fortran/simd4.f90: New test. * testsuite/libgomp.fortran/taskgroup1.f90: New test. From-SVN: r210313
2014-05-11re PR c/61136 (ice in tree_nop_conversion)Richard Sandiford5-7/+38
gcc/ PR tree-optimization/61136 * wide-int.h (multiple_of_p): Define a version that doesn't return the quotient. * fold-const.c (extract_muldiv_1): Use wi::multiple_of_p instead of an integer_zerop/const_binop pair. (multiple_of_p): Likewise, converting both operands to widest_int precision. gcc/testsuite/ * gcc.dg/torture/pr61136.c: New test. From-SVN: r210312
2014-05-11trans-intrinsic.c (gfc_build_builtin_function_decls): Change type of second ↵Tobias Burnus2-1/+6
argument to int. 2014-05-11 Tobias Burnus <burnus@net-b.de> * trans-intrinsic.c (gfc_build_builtin_function_decls): Change type of second argument to int. 2014-05-11 Tobias Burnus <burnus@net-b.de> * caf/libcaf.h (_gfortran_caf_num_images): Change type of second argument to int. * caf/mpi.c (_gfortran_caf_num_images): Ditto. * caf/single.c (_gfortran_caf_num_images): Ditto. From-SVN: r210311
2014-05-11re PR c++/59705 (possible compiler bug regarding SFINAE (program compiles fine))Paolo Carlini3-0/+64
2014-05-11 Paolo Carlini <paolo.carlini@oracle.com> PR c++/59705 * g++.dg/cpp0x/sfinae51.C: New. PR c++/58353 * g++.dg/cpp0x/variadic157.C: New. From-SVN: r210310
2014-05-11Daily bump.GCC Administrator1-1/+1
From-SVN: r210305
2014-05-10re PR target/51244 ([SH] Inefficient conditional branch and code around T bit)Oleg Endo2-2/+8
gcc/testsuite/ PR target/51244 * gcc.target/sh/pr51244-14.c: Relax criteria for passing the test. From-SVN: r210301
2014-05-10c-parser.c (c_parser_declaration_or_fndef): Pass init_loc to ↵Marek Polacek7-21/+60
maybe_warn_string_init. * c-parser.c (c_parser_declaration_or_fndef): Pass init_loc to maybe_warn_string_init. (c_parser_postfix_expression_after_paren_type): Pass type_loc to maybe_warn_string_init. * c-tree.h (maybe_warn_string_init): Update declaration. * c-typeck.c (maybe_warn_string_init): Add location parameter. Call pedwarn_init with loc instead of with input_location. (digest_init): Pass init_loc to maybe_warn_string_init. (pop_init_level): Call pedwarn_init with loc instead of with input_location. (set_init_index): Likewise. (process_init_element): Likewise. * gcc.dg/pedwarn-init.c: New test. * gcc.dg/init-string-1.c: Adjust dg-error. From-SVN: r210300
2014-05-10* lib/target-supports.expHans-Peter Nilsson2-0/+7
(check_effective_target_logical_op_short_circuit): Add mmix-*-* to the list. From-SVN: r210299
2014-05-10Daily bump.GCC Administrator1-1/+1
From-SVN: r210298
2014-05-09re PR c++/60463 (Lambda function can call a non-const member function with ↵Momchil Velikov6-15/+49
const this) PR c++/60463 PR c++/60755 * lambda.c (lambda_expr_this_capture): Add new parameter add_capture_p controlling whether the functions will try to capture 'this' via the default capture. (maybe_resolve_dummy): Likewise. * cp-tree.h: Adjust prototypes. * call.c, semantics.c: Change callers of these functions. * call.c (build_new_method_call_1): Use the actual 'this' that would be potentially captured for the overload resolution, instead of the dummy object. From-SVN: r210292
2014-05-09pt.c (convert_nontype_argument_function): Add tsubst_flags_t parameter.Paolo Carlini2-19/+38
2014-05-09 Paolo Carlini <paolo.carlini@oracle.com> * pt.c (convert_nontype_argument_function): Add tsubst_flags_t parameter. (convert_nontype_argument): Adjust calls. (coerce_template_parameter_pack): Add missing complain & tf_error check. From-SVN: r210289
2014-05-09cgraphunit.c (analyze_functions): Use correct dump file.Teresa Johnson2-1/+5
2014-05-09 Teresa Johnson <tejohnson@google.com> * cgraphunit.c (analyze_functions): Use correct dump file. From-SVN: r210286
2014-05-09DR 587 PR c++/51317Jason Merrill5-8/+48
DR 587 PR c++/51317 * call.c (build_conditional_expr_1, conditional_conversion): Handle non-class lvalues and xvalues that differ only in cv-qualifiers. From-SVN: r210285
2014-05-09DR 5 PR c++/60019Jason Merrill3-2/+25
DR 5 PR c++/60019 * call.c (build_user_type_conversion_1): The copy-init temporary is cv-unqualified. From-SVN: r210284
2014-05-09re PR c++/58714 (Bogus overload resolution for the assignment operator in ↵Jason Merrill4-0/+32
assignment to a conditional) PR c++/58714 * tree.c (stabilize_expr): A stabilized prvalue is an xvalue. From-SVN: r210283
2014-05-09re PR c++/32019 (Conditional operator ?: and ambiguous convertions)Jason Merrill7-9/+68
PR c++/32019 * call.c (build_conditional_expr_1): Improve ambiguity diagnostic. PR c++/54348 * call.c (build_conditional_expr_1): If overload resolution finds no match, just say "different types". From-SVN: r210282
2014-05-09re PR c++/22434 (ICE in simplify_{,gen_}subreg)Jason Merrill4-6/+14
PR c++/22434 * call.c (build_conditional_expr_1): Don't try to pool cv-quals if we didn't find a conversion. Don't accept a bad conversion too early. From-SVN: r210281
2014-05-09re PR c/61096 (error_init lacks a location)Marek Polacek7-70/+189
PR c/61096 * c-parser.c (c_parser_braced_init): Pass brace_loc to push_init_level. (c_parser_initelt): Pass location to set_init_label. Pass array index location to set_init_index. * c-tree.h (push_init_level): Update declaration. (pop_init_level): Likewise. (set_init_index): Likewise. (set_init_label): Likewise. * c-typeck.c (error_init): Add location parameter. Call error_at instead of error. (digest_init): Pass init_loc to error_init. (really_start_incremental_init): (push_init_level): Add location parameter. Pass loc to pop_init_level and error_init. (pop_init_level): Likewise. (set_designator): Add location parameter. Pass loc to pop_init_level, push_init_level, and error_init. (set_init_index): Add location parameter. Pass loc to error_init and set_designator. (set_init_label): Likewise. (output_init_element): Pass loc to error_init. (process_init_element): Pass loc to error_init, pop_init_level, pedwarn_init, and push_init_level. * gcc.dg/pr61096-1.c: New test. * gcc.dg/pr61096-2.c: New test. From-SVN: r210280
2014-05-09re PR fortran/61109 (ICE in fortran/trans-array.c on dimension 0 arrays)Mike Stump2-1/+6
PR fortran/61109 * trans-array.c (gfc_conv_array_initializer): Fix wide-int conversion bug. From-SVN: r210277
2014-05-09fixed date of changelog entryKenneth Zadeck1-1/+1
From-SVN: r210276
2014-05-09-fstack-protector-strong: Instrumentation for return slotsFlorian Weimer6-18/+149
This patch fixes a loophole in the -fstack-protector-strong protection. If a function call uses a return slot, the caller needs stack protector instrumentation because the return slot is addressable. gcc/ 2014-05-09 Florian Weimer <fweimer@redhat.com> * cfgexpand.c (stack_protect_decl_p): New function, extracted from expand_used_vars. (stack_protect_return_slot_p): New function. (expand_used_vars): Call stack_protect_decl_p and stack_protect_return_slot_p for -fstack-protector-strong. gcc/testsuite/ 2014-05-09 Florian Weimer <fweimer@redhat.com> * gcc.dg/fstack-protector-strong.c: Add coverage for return slots. * g++.dg/fstack-protector-strong.C: Likewise. * gcc.target/i386/ssp-strong-reg.c: New file. From-SVN: r210275
2014-05-09re PR middle-end/61111 (Infinite recursion between fold_build2_stat_loc and ↵Kenneth Zadeck2-1/+6
fold_binary_loc) 2014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com> PR middle-end/61111 * fold-const.c (fold_binary_loc): Changed width of mask. From-SVN: r210274
2014-05-09014-05-09 David Wohlferd <LimeGreenSocks@yahoo.com> Andrew Haley...David Wohlferd1-440/+933
014-05-09 David Wohlferd <LimeGreenSocks@yahoo.com> Andrew Haley <aph@redhat.com> Richard Sandiford <rdsandiford@googlemail.com> * doc/extend.texi: Rewrite inline asm page / re-org asm-related pages. From-SVN: r210273
2014-05-09avr-fixed.md (round<mode>3): Use -1U instead of -1 in unsigned int ↵Georg-Johann Lay2-2/+7
initializers for regno_in, regno_out. * config/avr/avr-fixed.md (round<mode>3): Use -1U instead of -1 in unsigned int initializers for regno_in, regno_out. From-SVN: r210272
2014-05-09re PR target/61055 ([avr] wrong test instruction after increment with -O1)Georg-Johann Lay5-6/+117
gcc/config/avr PR target/61055 * config/avr/avr.md (cc): Add new attribute set_vzn. (addqi3, addqq3, adduqq3, subqi3, subqq3, subuqq3, negqi2) [cc]: Set cc insn attribute to set_vzn instead of set_zn for alternatives with INC, DEC or NEG. * config/avr/avr.c (avr_notice_update_cc): Handle SET_VZN. (avr_out_plus_1): ADIW sets cc0 to CC_SET_CZN. INC, DEC and ADD+ADC set cc0 to CC_CLOBBER. gcc/testsuite/ PR target/61055 * gcc.target/avr/torture/pr61055.c: New test. From-SVN: r210267
2014-05-09Revert wide-int change.Ramana Radhakrishnan2-6/+8
2014-05-09 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> Revert: 2014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> * wide-int.cc (UTItype): Define. (UDWtype): Define for appropriate W_TYPE_SIZE. From-SVN: r210263
2014-05-09re PR c/50459 (alignof doesn't work on plain old constant, works with ↵Marek Polacek12-15/+74
expressions containing it) PR c/50459 c-family/ * c-common.c (check_user_alignment): Return -1 if alignment is error node. (handle_aligned_attribute): Don't call default_conversion on FUNCTION_DECLs. (handle_vector_size_attribute): Likewise. (handle_tm_wrap_attribute): Handle case when wrap_decl is error node. (handle_sentinel_attribute): Call default_conversion and allow even integral types as an argument. c/ * c-parser.c (c_parser_attributes): Parse the arguments as an expression-list if the attribute takes identifier. testsuite/ * c-c++-common/attributes-1.c: Move test line to a new test. * c-c++-common/attributes-2.c: New test. * c-c++-common/pr50459.c: New test. * c-c++-common/pr59280.c: Add "undeclared" to dg-error. * gcc.dg/nonnull-2.c: Likewise. * gcc.dg/pr55570.c: Modify dg-error. * gcc.dg/tm/wrap-2.c: Likewise. From-SVN: r210262
2014-05-09Makefile.in (GTFILES): Remove tree-ssa-propagate.c.Richard Biener3-16/+21
2014-05-09 Richard Biener <rguenther@suse.de> * Makefile.in (GTFILES): Remove tree-ssa-propagate.c. * tree-ssa-propagate.c: Do not include gt-tree-ssa-propagate.h. (interesting_ssa_edges, varying_ssa_edges): Move out of GC space. (add_ssa_edge, process_ssa_edge_worklist, ssa_prop_init, ssa_propagate): Adjust. From-SVN: r210261
2014-05-08re PR tree-optimization/61009 (Incorrect jump threading in dom)Jeff Law4-13/+114
2014-05-08 Jeff Law <law@redhat.com> PR tree-optimization/61009 * tree-ssa-threadedge.c (thread_through_normal_block): Return a tri-state rather than a boolean. When a block is too big to thread through, inform caller via negative return value. (thread_across_edge): If a block was too big for normal threading, then it's too big for a joiner too, so remove temporary equivalences and return immediately. PR tree-optimization/61009 * g++.dg/tree-ssa/pr61009.C: New test. From-SVN: r210254
2014-05-09Daily bump.GCC Administrator1-1/+1
From-SVN: r210253
2014-05-08re PR driver/61106 ([4.8/4.9] impliedness of -Wunused-parameter depends on ↵Matthias Klose5-2/+24
-W option ordering) gcc/ 2014-05-08 Manuel López-Ibáñez <manu@gcc.gnu.org> Matthias Klose <doko@ubuntu.com> PR driver/61106 * optc-gen.awk: Fix option handling for -Wunused-parameter. gcc/testsuite/ 2014-05-08 Matthias Klose <doko@ubuntu.com> PR driver/61106 * gcc-dg/unused-8a.c: New. * gcc-dg/unused-8b.c: Likewise. From-SVN: r210246
2014-05-08re PR target/59952 (-march=core-avx2 should not enable RTM)Uros Bizjak2-1/+6
PR target/59952 * config/i386/i386.c (PTA_HASWELL): Remove PTA_RTM. From-SVN: r210234
2014-05-08re PR target/61092 (wide-int merge broke alpha bootstrap)Uros Bizjak2-111/+134
PR target/61092 * config/alpha/alpha.c: Include gimple-iterator.h. (alpha_gimple_fold_builtin): New function. Move ALPHA_BUILTIN_UMULH folding from ... (alpha_fold_builtin): ... here. (TARGET_GIMPLE_FOLD_BUILTIN): New define. From-SVN: r210233
2014-05-08re PR c/61053 (_Alignas(long long) reduces alignment of long long)Marek Polacek7-16/+116
PR c/61053 c-family/ * c-common.c (min_align_of_type): New function factored out from... (c_sizeof_or_alignof_type): ...here. * c-common.h (min_align_of_type): Declare. c/ * c-decl.c (grokdeclarator): Use min_align_of_type instead of TYPE_ALIGN_UNIT. testsuite/ * gcc.dg/pr61053.c: New test. From-SVN: r210230
2014-05-08re PR c/61077 (_Atomic in the return type or argument types of main not ↵Marek Polacek6-0/+46
diagnosed) PR c/61077 c-family/ * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified parameter type of main. c/ * c-decl.c (start_function): Warn for _Atomic-qualified return type of main. testsuite/ * gcc.dg/pr61077.c: New test. From-SVN: r210229
2014-05-08gfortran.h (gfc_isym_id): Add GFC_ISYM_CAF_GET and GFC_ISYM_CAF_SEND.Tobias Burnus4-8/+115
2014-05-08 Tobias Burnus <burnus@net-b.de> * gfortran.h (gfc_isym_id): Add GFC_ISYM_CAF_GET and GFC_ISYM_CAF_SEND. * intrinsic.c (add_functions): Add only internally accessible caf_get and caf_send functions. * resolve.c (add_caf_get_intrinsic, remove_caf_get_intrinsic): New functions. (resolve_variable): Resolve expression rank and prepare for add_caf_get_intrinsic call. (gfc_resolve_expr): For variables, remove rank resolution. (resolve_ordinary_assign): Prepare call to GFC_ISYM_CAF_SEND. (resolve_code): Avoid call to GFC_ISYM_CAF_GET for the LHS of an assignment. From-SVN: r210225
2014-05-08trans-intrinsic.c (conv_co_minmaxsum): Change condition style.Tobias Burnus2-4/+7
2014-05-08 Tobias Burnus <burnus@net-b.de> * trans-intrinsic.c (conv_co_minmaxsum): Change condition style. From-SVN: r210224
2014-05-08check.c (check_co_minmaxsum, [...]): New.Tobias Burnus26-23/+658
gcc/fortran/ 2014-05-08 Tobias Burnus <burnus@net-b.de> * check.c (check_co_minmaxsum, gfc_check_co_minmax, gfc_check_co_sum): New. * error.c (gfc_notify_std): Update -std=f2008ts. * gfortran.h (gfc_isym_id): Add GFC_ISYM_CO_MAX, GFC_ISYM_CO_MIN, GFC_ISYM_CO_SUM. * intrinsic.h (gfc_check_co_minmax, gfc_check_co_sum): Declare. * intrinsic.c (add_subroutines): Add co_min, co_max and co_sum. (gfc_check_intrinsic_standard): Update text for -std=f2008ts. * intrinsic.texi (CO_MIN, CO_MAX, CO_SUM): Document them. * invoke.texi (-std=f2008ts): Update wording. * trans.h (gfor_fndecl_co_max, gfor_fndecl_co_min, gfor_fndecl_co_sum): Define. * trans-decl.c (gfor_fndecl_co_max, gfor_fndecl_co_min, gfor_fndecl_co_sum): Define. (gfc_build_builtin_function_decls): Assign to it. * trans-intrinsic.c (conv_co_minmaxsum): New. (gfc_conv_intrinsic_subroutine): Call it. libgfortran/ 2014-05-08 Tobias Burnus <burnus@net-b.de> * caf/libcaf.h (caf_vector_t, _gfortran_caf_co_sum, _gfortran_caf_co_min, _gfortran_caf_co_max): Declare * caf/single.c gcc/testsuite/ 2014-05-08 Tobias Burnus <burnus@net-b.de> * gfortran.dg/coarray_collectives_1.f90: New. * gfortran.dg/coarray_collectives_2.f90: New. * gfortran.dg/coarray_collectives_3.f90: New. * gfortran.dg/coarray_collectives_4.f90: New. * gfortran.dg/coarray_collectives_5.f90: New. * gfortran.dg/coarray_collectives_6.f90: New. * gfortran.dg/coarray/collectives_1.f90: New. * gfortran.dg/assumed_rank_5.f90: Update dg-error. * gfortran.dg/assumed_type_4.f90: Update dg-error. * gfortran.dg/bind_c_array_params.f03: Update dg-error. * gfortran.dg/bind_c_usage_28.f90: Update dg-error. * gfortran.dg/c_funloc_tests_5.f03: Update dg-error. * gfortran.dg/c_funloc_tests_6.f90: Update dg-error. * gfortran.dg/c_loc_tests_11.f03: Update dg-error. From-SVN: r210223
2014-05-08re PR target/58066 (__tls_get_addr is called with misaligned stack on x86-64)Wei Mi5-16/+80
gcc/ 2014-05-08 Wei Mi <wmi@google.com> PR target/58066 * config/i386/i386.c (ix86_compute_frame_layout): Update preferred_stack_boundary for call, expanded from tls descriptor. * config/i386/i386.md: (*tls_global_dynamic_32_gnu): Update RTX to depend on SP register. (*tls_local_dynamic_base_32_gnu): Ditto. (*tls_local_dynamic_32_once): Ditto. (tls_global_dynamic_64_<mode>): Set ix86_tls_descriptor_calls_expanded_in_cfun. (tls_local_dynamic_base_64_<mode>): Ditto. (tls_global_dynamic_32): Set ix86_tls_descriptor_calls_expanded_in_cfun. Update RTX to depend on SP register. (tls_local_dynamic_base_32): Ditto. gcc/testsuite/ 2014-05-08 Wei Mi <wmi@google.com> PR target/58066 * gcc.target/i386/pr58066.c: New test. From-SVN: r210222
2014-05-08avx256-unaligned-load-2.c, [...]: Allow packed-single instructions.Joseph Myers6-5/+12
* gcc.target/i386/avx256-unaligned-load-2.c, gcc.target/i386/pr49002-1.c, gcc.target/i386/pr53712.c, gcc.target/i386/pr53907.c, gcc.target/i386/pr59539-1.c: Allow packed-single instructions. From-SVN: r210220