aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2016-10-25* parser.c (cp_parser_postfix_expression): Adding missing break;.Jakub Jelinek2-0/+3
From-SVN: r241509
2016-10-25With -fpu=neon DI mode shifts are expanded after reload.Wilco Dijkstra4-22/+58
With -fpu=neon DI mode shifts are expanded after reload. DI mode registers can either fully or partially overlap on both ARM and Thumb-2. However the shift expansion code can only deal with the full overlap case, and generates incorrect code for partial overlaps. The fix is to add new variants that support either full overlap or no overlap. gcc/ PR target/78041 * config/arm/neon.md (ashldi3_neon): Add "r 0 i" and "&r r i" variants. Remove partial overlap check for shift by 1. (ashldi3_neon): Likewise. testsuite/ * gcc.target/arm/pr78041.c: New test. From-SVN: r241508
2016-10-25constraints.md (Q constraint): Document its use for Thumb-1.Thomas Preud'homme3-36/+105
2016-10-25 Thomas Preud'homme <thomas.preudhomme@arm.com> gcc/ * config/arm/constraints.md (Q constraint): Document its use for Thumb-1. (Pf constraint): New constraint for relaxed, consume or relaxed memory models. * config/arm/sync.md (atomic_load<mode>): Add new ARMv8-M Baseline only alternatives to allow any register when memory model matches Pf and thus lda is used, but only low registers otherwise. Use unpredicated output template for Thumb-1 targets. (atomic_store<mode>): Likewise for stl. (arm_load_exclusive<mode>): Add new ARMv8-M Baseline only alternative whose output template does not have predication. (arm_load_acquire_exclusive<mode>): Likewise. (arm_load_exclusivesi): Likewise. (arm_load_acquire_exclusivesi): Likewise. (arm_store_release_exclusive<mode>): Likewise. (arm_store_exclusive<mode>): Use unpredicated output template for Thumb-1 targets. From-SVN: r241507
2016-10-25internal-fn.def (LAUNDER): New internal function.Jakub Jelinek15-19/+227
* internal-fn.def (LAUNDER): New internal function. * internal-fn.c (expand_LAUNDER): New function. c-family/ * c-common.h (enum rid): Add RID_BUILTIN_LAUNDER. * c-common.c (c_common_reswords): Add __builtin_launder. cp/ * cp-tree.h (finish_builtin_launder): Declare. * parser.c (cp_parser_postfix_expression): Handle RID_BUILTIN_LAUNDER. * semantics.c (finish_builtin_launder): New function. * pt.c (tsubst_copy_and_build): Handle instantiation of IFN_LAUNDER. * constexpr.c (cxx_eval_internal_function): Handle IFN_LAUNDER. (potential_constant_expression_1): Likewise. testsuite/ * g++.dg/cpp1z/launder1.C: New test. * g++.dg/cpp1z/launder2.C: New test. From-SVN: r241506
2016-10-25Typo.Georg-Johann Lay1-1/+1
From-SVN: r241505
2016-10-25New avt target pass to work around performance loss by PR fix.Georg-Johann Lay8-8/+510
gcc/ New avt target pass to work around performance loss by PR fix. PR target/71676 PR target/71678 * config/avr/avr.md (casesi_<mode>_sequence) [qi,hi]: New insn. (*cmp<mode>) [qi,qq,uqq,hi,hq,uhq,ha,uha]: Rename to cmp<mode>3. * config/avr/predicates.md (extend_operator): New. * config/avr/avr-passes.def (avr_pass_casesi): Register new pass. * config/avr/avr-protos.h (avr_casei_sequence_check_operands) (make_avr_pass_casesi): New prototypes. * config/avr/avr.c (print-rtl.h): Include it. (pass_data avr_pass_data_casesi): Data for new pass. (avr_pass_casesi): New class implementing rtl_opt_pass .avr-casesi. (make_avr_pass_casesi, avr_parallel_insn_from_insns) (avr_is_casesi_sequence, avr_casei_sequence_check_operands) (avr_optimize_casesi): New functions. gcc/testsuite/ PR target/71676 PR target/71678 * gcc.target/avr/pr71676-2.c: New test. From-SVN: r241504
2016-10-25re PR target/71676 ([avr] casesi won't handle switch values larger than 16 bits)Georg-Johann Lay7-16/+510
gcc/ PR target/71676 PR target/71678 * config/avr/avr.md (casesi): Rewrite avoiding subregs of SI. gcc/testsuite/ PR target/71676 PR target/71678 * gcc.target/avr/pr71676-1.c: New test. * gcc.target/avr/pr71676-3.c: New test. * gcc.target/avr/pr71676.c: New test. * gcc.target/avr/pr71678.c: New test. Co-Authored-By: Pitchumani Sivanupandi <pitchumani.sivanupandi@microchip.com> From-SVN: r241503
2016-10-25Daily bump.GCC Administrator1-1/+1
From-SVN: r241502
2016-10-24test_frame_common.h: Add noclone attribute such that cloned verions of ↵Kugan Vivekanandarajah2-3/+8
tested functions are not created. gcc/testsuite/ChangeLog: 2016-10-24 Kugan Vivekanandarajah <kuganvi@linaro.org> * gcc.target/aarch64/test_frame_common.h: Add noclone attribute such that cloned verions of tested functions are not created. From-SVN: r241499
2016-10-24re PR libfortran/77828 (Linking gfortran-7 compiled program with libgfortran ↵Jerry DeLisle4-6/+23
of 5.x allowed but crashes when containing write to string) 2016-10-24 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/77828 * io/io.h (st_parameter_dt): Reorder for readability and sanity. * io/transfer.c (data_transfer_init): Remove TODO and enable the runtime error message, rec= specifier not allowed in STREAM access. * libtool-version: Bump major version of libgfortran to 4. * ioparm.def: Reorder dt parameters to match libgfortran. * libgfortran.h: Swap definitions of GFC_INTERNAL_UNIT and GFC_INTERNAL_UNIT4. From-SVN: r241497
2016-10-24re PR fortran/71895 (ICE in gfc_compare_derived_types, at ↵Steven G. Kargl4-1/+23
fortran/interface.c:520) 2016-10-24 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/71895 * interface.c (gfc_compare_derived_types): Convert gcc_assert() to a gfc_internal_error() to prevent an ICE. 2016-10-24 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/71895 * gfortran.dg/pr71895.f90: New test. From-SVN: r241493
2016-10-24dwarf2out.c (gen_subprogram_die): Add DW_AT_reference or ↵Jakub Jelinek6-0/+73
DW_AT_rvalue_reference attributes. * dwarf2out.c (gen_subprogram_die): Add DW_AT_reference or DW_AT_rvalue_reference attributes. * cp-objcp-common.c (cp_decl_dwarf_attribute): Handle DW_AT_reference and DW_AT_rvalue_reference. * g++.dg/debug/dwarf2/ref-2.C: New test. From-SVN: r241492
2016-10-24c-common.c (c_common_truthvalue_conversion): Warn for multiplications in ↵Bernd Edlinger7-5/+41
boolean context. 2016-10-24 Bernd Edlinger <bernd.edlinger@hotmail.de> * c-common.c (c_common_truthvalue_conversion): Warn for multiplications in boolean context. Fix the quoting of '<<' and '<' in the shift warning. gcc: 2016-10-24 Bernd Edlinger <bernd.edlinger@hotmail.de> * doc/invoke.text (Wint-in-bool-context): Update documentation. * value-prof.c (stringop_block_profile): Fix a warning. testsuite: 2016-10-24 Bernd Edlinger <bernd.edlinger@hotmail.de> * c-c++-common/Wint-in-bool-context-3.c: New test. From-SVN: r241490
2016-10-24PR middle-end/77735 - FAIL: gcc.dg/tree-ssa/builtin-sprintf-warn-1.cMartin Sebor11-201/+560
gcc/ChangeLog: PR middle-end/77735 * builtins.c (string_length): New function. (c_strlen): Use string_length. Correctly handle wide strings. * gimple-ssa-sprintf.c (target_max_value, target_size_max): New functions. (target_int_max): Call target_max_value. (format_result::knownrange): New data member. (fmtresult::fmtresult): Define default constructor. (format_integer): Use it and set format_result::knownrange. Handle global constants. (format_floating_max): Add third argument. (format_floating): Recompute maximum value for %a for each argument. (get_string_length): Use fmtresult default ctor. (format_string): Set format_result::knownrange. (format_directive): Check format_result::knownrange. (add_bytes): Same. Correct caret placement in diagnostics. (pass_sprintf_length::compute_format_length): Set format_result::knownrange. (pass_sprintf_length::handle_gimple_call): Use target_size_max. gcc/testsuite/ChangeLog: PR middle-end/77735 * gcc.dg/tree-ssa/builtin-sprintf-2.c: Add test cases. * gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Same. * gcc.dg/tree-ssa/builtin-sprintf-warn-2.c: Same. * gcc.dg/tree-ssa/builtin-sprintf-warn-3.c: Adjust/relax. * gcc.dg/tree-ssa/builtin-sprintf-warn-4.c: Add test cases. * gcc.dg/tree-ssa/builtin-sprintf-warn-6.c: XFAIL for LP64 only. * gcc.dg/tree-ssa/builtin-sprintf.c: Add test cases. From-SVN: r241489
2016-10-24trans-intrinsic.c (gfc_conv_intrinsic_minmax): Use VAR_P (x) instead of ↵Jakub Jelinek8-66/+84
TREE_CODE (x) == VAR_DECL. * trans-intrinsic.c (gfc_conv_intrinsic_minmax): Use VAR_P (x) instead of TREE_CODE (x) == VAR_DECL. * trans-expr.c (gfc_class_vptr_get, gfc_class_len_get, gfc_class_len_or_zero_get, gfc_get_vptr_from_expr, gfc_conv_string_length, conv_base_obj_fcn_val, gfc_conv_procedure_call, gfc_trans_assignment_1): Likewise. * trans-openmp.c (gfc_omp_predetermined_sharing, gfc_omp_disregard_value_expr, gfc_omp_private_debug_clause, gfc_trans_omp_atomic, gfc_trans_omp_do): Likewise. * trans-io.c (nml_get_addr_expr): Likewise. * trans-decl.c (gfc_finish_decl, gfc_build_qualified_array, gfc_get_symbol_decl, gfc_get_fake_result_decl, gfc_trans_deferred_vars, gfc_trans_use_stmts, generate_local_decl): Likewise. * trans-array.c (trans_array_constructor, trans_array_bound_check, build_class_array_ref, gfc_array_init_size, gfc_trans_auto_array_allocation, gfc_trans_g77_array, gfc_trans_dummy_array_bias, gfc_alloc_allocatable_for_assignment, gfc_trans_deferred_array): Likewise. * trans.c (gfc_build_array_ref): Likewise. Use VAR_OR_FUNCTION_DECL_P (x) instead of TREE_CODE (x) == VAR_DECL || TREE_CODE (x) == FUNCTION_DECL. From-SVN: r241482
2016-10-24i386.c (ix86_in_large_data_p, [...]): Use VAR_P (x) instead of TREE_CODE (x) ↵Jakub Jelinek2-3/+8
== VAR_DECL. * config/i386/i386.c (ix86_in_large_data_p, ix86_expand_builtin): Use VAR_P (x) instead of TREE_CODE (x) == VAR_DECL. From-SVN: r241481
2016-10-24cxx-pretty-print.c (pp_cxx_check_constraint): Use VAR_P (x) instead of ↵Jakub Jelinek5-11/+18
TREE_CODE (x) == VAR_DECL. * cxx-pretty-print.c (pp_cxx_check_constraint): Use VAR_P (x) instead of TREE_CODE (x) == VAR_DECL. * constraint.cc (get_concept_definition): Likewise. (finish_shorthand_constraint): Likewise. * init.c (warn_placement_new_too_small): Likewise. * cp-gimplify.c (cp_genericize_r): Likewise. From-SVN: r241480
2016-10-24re PR testsuite/71491 (gcc.dg/vect/slp-43.c FAILs)Richard Biener3-2/+10
2016-10-24 Richard Biener <rguenther@suse.de> PR testsuite/71491 * gcc.dg/vect/slp-43.c: Adjust for !vect_hw_misalign. * gcc.dg/vect/slp-45.c: Likewise. From-SVN: r241478
2016-10-24re PR debug/77985 (DW_AT_comp_dir is omitted when filename is absolute and ↵Ximin Luo6-39/+13
the file does not contain a specific typedef) 2016-10-24 Ximin Luo <infinity0@pwned.gg> PR debug/77985 * dwarf2out.c (file_table_relative_p): Remove. (gen_compile_unit_die, dwarf2out_early_finish): Emit DW_AT_comp_dir also for absolute paths. * doc/tm.texi: Update. * doc/tm.texi.in (SDB and DWARF) <TARGET_FORCE_AT_COMP_DIR>: Remove. * target.def (force_at_comp_dir): Remove hook. * config/darwin.h (TARGET_FORCE_AT_COMP_DIR): Remove define. From-SVN: r241473
2016-10-24Remove dead wood from trans-expr.cPaul Thomas1-21/+0
From-SVN: r241472
2016-10-24tree-vrp.c (evrp_dom_walker::before_dom_children): Ignore backedges when ↵Richard Biener7-16/+78
identifying the single predecessor to take conditional... 2016-10-24 Richard Biener <rguenther@suse.de> * tree-vrp.c (evrp_dom_walker::before_dom_children): Ignore backedges when identifying the single predecessor to take conditional info from. Use SCEV to get at ranges for loop IVs. * lto-streamer-out.c (lto_write_mode_table): CSE inner mode to avoid false warning. * gcc.dg/tree-ssa/cunroll-13.c: Disable EVRP. * gcc.dg/tree-ssa/pr21458.c: Likewise. * gcc.dg/tree-ssa/pr21458-2.c: New testcase for EVRP. From-SVN: r241470
2016-10-24Parallelize check-gnatRainer Orth2-0/+8
* gcc-interface/Make-lang.in (lang_checks_parallelized): New target. (check_gnat_parallelize): Likewise. From-SVN: r241469
2016-10-24re PR target/78093 ([avr] New variable attribute "absdata" and option ↵Georg-Johann Lay6-11/+234
"-mabsdata" to enable LDS / STS on Reduced Tiny) gcc/ PR target/78093 * doc/extend.texi (AVR Variable Attributes) [absdata]: Document it. * config/avr/avr.c (AVR_SYMBOL_FLAG_TINY_ABSDATA): New macro. (avr_address_tiny_absdata_p): New static function. (avr_legitimate_address_p, avr_legitimize_address) [AVR_TINY]: Use it to determine validity of constant addresses. (avr_attribute_table) [absdata]: New variable attribute... (avr_handle_absdata_attribute): ...and handler. (avr_decl_absdata_p): New static function. (avr_encode_section_info) [AVR_TINY]: Use it to add flag AVR_SYMBOL_FLAG_TINY_ABSDATA to respective symbols_refs. (avr_address_cost) [AVR_TINY]: absdata addresses cost 2. gcc/testsuite/ PR target/78093 * lib/target-supports.exp (check_effective_target_avr_tiny): New proc. * gcc.target/avr/torture/tiny-absdata-1.c: New test. From-SVN: r241468
2016-10-24re PR tree-optimization/78076 (Conditional jump or move depends on ↵Richard Biener2-2/+8
uninitialised value @ tree-vect-loop.c:2307) 2016-10-24 Richard Biener <rguenther@suse.de> PR tree-optimization/78076 * tree-ssa-loop-split.c (tree_ssa_split_loops): Reset aux also on the loop tree root. From-SVN: r241467
2016-10-24pure-code.exp: Restore saved globals.Andre Vieira2-0/+8
2016-10-24 Andre Vieira <andre.simoesdiasvieira@arm.com> * gcc.target/arm/pure-code/pure-code.exp: Restore saved globals. From-SVN: r241466
2016-10-24i386.c (ix86_fold_builtin): Handle IX86_BUILTIN_BEXTR{,I}{32,64}...Jakub Jelinek8-1/+367
* config/i386/i386.c (ix86_fold_builtin): Handle IX86_BUILTIN_BEXTR{,I}{32,64}, IX86_BUILTIN_BZHI{32,64}, IX86_BUILTIN_PDEP{32,64} and IX86_BUILTIN_PEXT{32,64}. (ix86_gimple_fold_builtin): Handle IX86_BUILTIN_BZHI{32,64}, IX86_BUILTIN_PDEP{32,64} and IX86_BUILTIN_PEXT{32,64}. * gcc.target/i386/bmi2-pext-1.c: New test. * gcc.target/i386/bmi2-pdep-1.c: New test. * gcc.target/i386/bmi2-bzhi-3.c: New test. * gcc.target/i386/tbm-bextri-1.c: New test. * gcc.target/i386/bmi-bextr-6.c: New test. From-SVN: r241465
2016-10-24Work around 32-bit i386 STV testcases failing with -mstackrealign (PR ↵Rainer Orth8-7/+18
target/77483) PR target/77483 * gcc.target/i386/mask-unpack.c (dg-options): Add -mno-stackrealign. * gcc.target/i386/pr65105-1.c: Likewise. * gcc.target/i386/pr65105-2.c: Likewise. * gcc.target/i386/pr65105-3.c: Likewise. * gcc.target/i386/pr65105-5.c: Likewise. * gcc.target/i386/pr67761.c: Likewise. * gcc.target/i386/pr70799-1.c: Likewise. From-SVN: r241464
2016-10-24Do not disable aggressive loop opts forMartin Liska4-1/+32
PR sanitizer/77966 * opts.c (finish_options): Skip conditionally. PR sanitizer/77966 * c-c++-common/ubsan/unreachable-3.c: New test. From-SVN: r241463
2016-10-24Daily bump.GCC Administrator1-1/+1
From-SVN: r241460
2016-10-23PR target/77837 - missing -Wformat-length warning for %p with null argument ↵Martin Sebor3-0/+14
on powerpc64 gcc/ChangeLog: PR target/77837 * config/rs6000/linux.h (TARGET_PRINTF_POINTER_FORMAT): Define. * config/rs6000/linux64.h (TARGET_PRINTF_POINTER_FORMAT): Likewise. From-SVN: r241457
2016-10-23re PR fortran/77763 (ICE in parse_struct_map, at fortran/parse.c:3064)Steven G. Kargl4-5/+23
2016-10-23 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/77763 * parse.c (parse_spec): Allow STRUCTURE in BLOCK DATA. Sort case labels. 2016-10-23 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/77763 * gfortran.dg/pr77763.f90 From-SVN: r241454
2016-10-23sparc.md (cpu_feature): Minor tweak.Eric Botcazou2-43/+55
* config/sparc/sparc.md (cpu_feature): Minor tweak. (enabled): Likewise. (movsi_insn, movdi_insn_sp32, movdi_insn_sp64, movsf_insn, movdf_insn_sp32, movdf_insn_sp64, zero_extendsidi2_insn_sp64, sign_extendsidi2_insn, mov<VM32:mode>_insn, mov<VM64:mode>_insn_sp64, mov<VM64:mode>_insn_sp32, not_<code><mode>, nand<mode>_vis, <code>_not1<mode>_vi, <code>_not2<mode>_vis, one_cmpl<mode>2, fcmp<code><GCM:gcm_name>, pdistn<mode>_vis): Likewise. From-SVN: r241452
2016-10-23re PR fortran/54730 (ICE in gfc_typenode_for_spec, at ↵Steven G. Kargl5-34/+147
fortran/trans-types.c:1066) 2016-10-23 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/54730 PR fortran/78033 * array.c (gfc_match_array_constructor): Remove checkpointing introduced in r196416 (original fix for PR fortran/54730). Move initialization to top of function. * match.c (gfc_match_type_spec): Special case matching for REAL. 2016-10-23 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/54730 PR fortran/78033 * gfortran.dg/pr78033.f90: New test. From-SVN: r241451
2016-10-23re PR fortran/69834 ([OOP] Collision in derived type hashes)Paul Thomas11-34/+360
2016-10-23 Paul Thomas <pault@gcc.gnu.org> PR fortran/69834 * class.c (gfc_find_derived_vtab): Obtain the gsymbol for the derived type's module. If the gsymbol is present and the top level namespace corresponds to a module, use the gsymbol name space. In the search to see if the vtable exists, try the gsym namespace first. * dump-parse-tree (show_code_node): Modify select case dump to show select type construct. * resolve.c (build_loc_call): New function. (resolve_select_type): Add check for repeated type is cases. Retain selector expression and use it later instead of expr1. Exclude deferred length TYPE IS cases and emit error message. Store the address for the vtable in the 'low' expression and the hash value in the 'high' expression, for each case. Do not call resolve_select. * trans.c(trans_code) : Call gfc_trans_select_type. * trans-stmt.c (gfc_trans_select_type_cases): New function. (gfc_trans_select_type): New function. * trans-stmt.h : Add prototype for gfc_trans_select_type. 2016-10-23 Paul Thomas <pault@gcc.gnu.org> PR fortran/69834 * gfortran.dg/select_type_1.f03: Change error for overlapping TYPE IS cases. * gfortran.dg/select_type_36.f03: New test. From-SVN: r241450
2016-10-23sparc-c.c (sparc_target_macros): Replace TARGET_64BIT with TARGET_ARCH64.Eric Botcazou2-2/+7
* config/sparc/sparc-c.c (sparc_target_macros): Replace TARGET_64BIT with TARGET_ARCH64. Define __VIS to 0x400 if TARGET_VIS4. From-SVN: r241446
2016-10-23Daily bump.GCC Administrator1-1/+1
From-SVN: r241444
2016-10-22* gcc.dg/tree-ssa/pr71347.c: Remove XFAIL on SPARC.Eric Botcazou2-2/+5
From-SVN: r241441
2016-10-22re PR fortran/78021 (Wrong result with optimization on character constant)Thomas Koenig4-3/+50
2016-10-22 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/78021 * gfc_compare_functions: Strings with different lengths in argument lists compare unequal. 2016-10-22 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/78021 * gfortran.dg/string_length_3.f90: New test. From-SVN: r241440
2016-10-22re PR fortran/43366 ([OOP][F08] Intrinsic assign to polymorphic variable)Andre Vehreschild15-435/+904
gcc/fortran/ChangeLog: 2016-10-22 Andre Vehreschild <vehre@gcc.gnu.org> PR fortran/43366 PR fortran/51864 PR fortran/57117 PR fortran/61337 PR fortran/61376 * primary.c (gfc_expr_attr): For transformational functions on classes get the attrs from the class argument. * resolve.c (resolve_ordinary_assign): Remove error message due to feature implementation. Rewrite POINTER_ASSIGNS to ordinary ones when the right-hand side is scalar class object (with some restrictions). * trans-array.c (trans_array_constructor): Create the temporary from class' inner type, i.e., the derived type. (build_class_array_ref): Add support for class array's storage of the class object or the array descriptor in the decl saved descriptor. (gfc_conv_expr_descriptor): When creating temporaries for class objects add the class object's handle into the decl saved descriptor. (structure_alloc_comps): Use the common way to get the _data component. (gfc_is_reallocatable_lhs): Add notion of allocatable class objects. * trans-expr.c (gfc_find_and_cut_at_last_class_ref): Remove the only ref only when the expression's type is BT_CLASS. (gfc_trans_class_init_assign): Correctly handle class arrays. (gfc_trans_class_assign): Joined into gfc_trans_assignment_1. (gfc_conv_procedure_call): Support for class types as arguments. (trans_get_upoly_len): For unlimited polymorphics retrieve the _len component's tree. (trans_class_vptr_len_assignment): Catch all ways to assign the _vptr and _len components of a class object correctly. (pointer_assignment_is_proc_pointer): Identify assignments of procedure pointers. (gfc_trans_pointer_assignment): Enhance support for class object pointer assignments. (gfc_trans_scalar_assign): Removed assert. (trans_class_assignment): Assign to a class object. (gfc_trans_assignment_1): Treat class objects correctly. (gfc_trans_assignment): Propagate flags to trans_assignment_1. * trans-stmt.c (gfc_trans_allocate): Use gfc_trans_assignment now instead of copy_class_to_class. * trans-stmt.h: Function prototype removed. * trans.c (trans_code): Less special casing for class objects. * trans.h: Added flags to gfc_trans_assignment () prototype. gcc/testsuite/ChangeLog: 2016-10-22 Andre Vehreschild <vehre@gcc.gnu.org> Forgot to add on original commit. * gfortran.dg/coarray_alloc_comp_2.f08: New test. 2016-10-22 Andre Vehreschild <vehre@gcc.gnu.org> PR fortran/43366 PR fortran/57117 PR fortran/61337 * gfortran.dg/alloc_comp_class_5.f03: New test. * gfortran.dg/class_allocate_21.f90: New test. * gfortran.dg/class_allocate_22.f90: New test. * gfortran.dg/realloc_on_assign_27.f08: New test. From-SVN: r241439
2016-10-21aarch64-cores.def: Rewrite so IMP and PART are integer constants.Andrew Pinski3-65/+95
2016-10-21 Andrew Pinski <apinski@cavium.com> * config/aarch64/aarch64-cores.def: Rewrite so IMP and PART are integer constants. * config/aarch64/driver-aarch64.c (struct aarch64_core_data): Change implementer_id to unsigned char. Change part_no to unsigned int. (AARCH64_BIG_LITTLE): New define. (INVALID_IMP): New define. (INVALID_CORE): New define. (cpu_data): Change the last element's implementer_id and part_no to integers. (valid_bL_string_p): Rewrite to .. (valid_bL_core_p): this for integers instead of strings. (parse_field): New function. (contains_string_p): Rewrite to ... (contains_core_p): this for integers and only for the part_no. (host_detect_local_cpu): Rewrite handling of implementation and par num to be integers; simplifying the code. From-SVN: r241437
2016-10-22Daily bump.GCC Administrator1-1/+1
From-SVN: r241436
2016-10-21libgo: keep c0 and c1 out of runtime.incIan Lance Taylor1-1/+1
The constants named c0 and c1 turn up as macros in runtime.inc. This reportedly breaks building on Solaris 11, where there is a system struct that has a field named c1. The constants aren't needed by the runtime C code, so avoid the problem by grepping them out. Reviewed-on: https://go-review.googlesource.com/31730 From-SVN: r241432
2016-10-21libgo: leave Int64Align as 8 on 32-bit SPARCIan Lance Taylor1-1/+1
Verified by testing on SPARC Solaris. Reviewed-on: https://go-review.googlesource.com/31675 From-SVN: r241430
2016-10-21re PR tree-optimization/71947 (x ^ y not folded to 0 if x == y by DOM)Jeff Law4-3/+11
* PR tree-optimization/71947 * gcc.dg/tree-ssa/pr71947-4.c: Avoid x86 opcode. * gcc.dg/tree-ssa/pr71947-5.c: Likewise. * gcc.dg/tree-ssa/pr71947-6.c: Make it opt-in rather than opt-out. From-SVN: r241429
2016-10-21ADDR_EXPR and nonnullKugan Vivekanandarajah5-0/+86
ADDR_EXPR and nonnull gcc/ChangeLog: 2016-10-21 Kugan Vivekanandarajah <kuganv@linaro.org> * ipa-prop.c (ipa_compute_jump_functions_for_edge): Create nonzero value range for pointers in more cases. gcc/testsuite/ChangeLog: 2016-10-21 Kugan Vivekanandarajah <kuganv@linaro.org> * gcc.dg/ipa/vrp5.c: New test. * gcc.dg/ipa/vrp6.c: New test. From-SVN: r241428
2016-10-21runtime: copy lfstack code from Go 1.7 runtimeIan Lance Taylor1-1/+1
Note that lfstack_64bit.go was modified for Solaris support in a different, and better, way than the superseded lfstack.goc code. Reviewed-on: https://go-review.googlesource.com/31673 From-SVN: r241427
2016-10-21re PR c++/77656 (64-bit integral template parameter gets incorrectly sized ↵Jason Merrill7-38/+94
as 32-bits) PR c++/77656 * pt.c (convert_template_argument): Call convert_nontype_argument on value-dependent but not type-dependent arguments. (convert_nontype_argument): Handle value-dependent arguments. (canonicalize_expr_argument): New. (deducible_expression, unify): Skip CONVERT_EXPR. * error.c (dump_template_argument): Likewise. * mangle.c (write_expression): Likewise. From-SVN: r241425
2016-10-21* ptree.c (cxx_print_xnode) [TEMPLATE_PARM_INDEX]: Dump the decl.Jason Merrill2-0/+5
From-SVN: r241424
2016-10-21Really add the test this time...Wilco Dijkstra2-0/+25
testsuite/ * gcc.target/aarch64/test_frame_17.c: New test. From-SVN: r241421
2016-10-21Improve stack adjustment by reusing a temporary move immediate from the ↵Wilco Dijkstra3-25/+68
epilog... Improve stack adjustment by reusing a temporary move immediate from the epilog if the register is still valid in the epilog. This generates smaller code for leaf functions with a stack size of more then 4KB. gcc/ * config/aarch64/aarch64.c (aarch64_add_constant_internal): Add extra argument to allow emitting the move immediate. Use add/sub with positive immediate. (aarch64_add_constant): Add inline function. (aarch64_add_sp): Likewise. (aarch64_sub_sp): Likewise. (aarch64_expand_prologue): Call aarch64_sub_sp. (aarch64_expand_epilogue): Call aarch64_add_sp. Decide when to leave out move. (aarch64_output_mi_thunk): Call aarch64_add_constant. testsuite/ * gcc.target/aarch64/test_frame_17.c: New test. From-SVN: r241420