aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2018-01-13re PR fortran/83803 (Using -fc-prototypes on modules with empty dummy arg ↵Thomas Koenig2-2/+10
lists does not close paren.) 2018-01-13 Thomas Koenig <tkoenig@gcc.gnu.org> <emsr@gcc.gnu.org> PR fortran/83803 * dump-parse-tree.c (write_proc): Always emit closing parenthesis for functions. From-SVN: r256606
2018-01-13Daily bump.GCC Administrator1-1/+1
From-SVN: r256602
2018-01-12re PR c++/83778 (g++.dg/ext/altivec-cell-2.C fails starting with r256448)Jakub Jelinek2-1/+9
PR c++/83778 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Call fold_for_warn before checking if arg2 is INTEGER_CST. From-SVN: r256599
2018-01-12rs6000: Remove -mstringSegher Boessenkool10-775/+72
-mstring is only enabled by default on 601, and with -Os on some configurations. It is almost always slower (than not using it) and does not very often lead to smaller code. This patch disables it. If a user uses -mstring he gets a warning (but not with -mno-string). I left the target attribute in place, it just doesn't do anything anymore. The patch also deletes a whole bunch of code. The 'N' and 'O' output modifiers are now unused, but now is not the time to delete them. * config/rs6000/predicates.md (load_multiple_operation): Delete. (store_multiple_operation): Delete. * config/rs6000/rs6000-cpus.def (601): Remove MASK_STRING. * config/rs6000/rs6000-protos.h (rs6000_output_load_multiple): Delete. * config/rs6000/rs6000-string.c (expand_block_move): Delete everything guarded by TARGET_STRING. (rs6000_output_load_multiple): Delete. * config/rs6000/rs6000.c (rs6000_option_override_internal): Delete OPTION_MASK_STRING / TARGET_STRING handling. (print_operand) <'N', 'O'>: Add comment that these are unused now. (const rs6000_opt_masks) <"string">: Change mask to 0. * config/rs6000/rs6000.h (TARGET_DEFAULT): Remove MASK_STRING. (MASK_STRING): Delete. * config/rs6000/rs6000.md (*mov<mode>_string): Delete TARGET_STRING parts. Simplify. (load_multiple): Delete. (*ldmsi8): Delete. (*ldmsi7): Delete. (*ldmsi6): Delete. (*ldmsi5): Delete. (*ldmsi4): Delete. (*ldmsi3): Delete. (store_multiple): Delete. (*stmsi8): Delete. (*stmsi7): Delete. (*stmsi6): Delete. (*stmsi5): Delete. (*stmsi4): Delete. (*stmsi3): Delete. (movmemsi_8reg): Delete. (corresponding unnamed define_insn): Delete. (movmemsi_6reg): Delete. (corresponding unnamed define_insn): Delete. (movmemsi_4reg): Delete. (corresponding unnamed define_insn): Delete. (movmemsi_2reg): Delete. (corresponding unnamed define_insn): Delete. (movmemsi_1reg): Delete. (corresponding unnamed define_insn): Delete. * config/rs6000/rs6000.opt (mno-string): New. (mstring): Replace by deprecation warning stub. * doc/invoke.texi (RS/6000 and PowerPC Options): Delete -mstring. From-SVN: r256598
2018-01-12float128-hw7.c: Use scan-assembler-times instead of scan-assembler-not for ↵Jakub Jelinek2-1/+6
xsnabsqp. * gcc.target/powerpc/float128-hw7.c: Use scan-assembler-times instead of scan-assembler-not for xsnabsqp. From-SVN: r256597
2018-01-12regrename.c (regrename_do_replace): If replacing the same reg multiple ↵Jakub Jelinek2-7/+15
times, try to reuse last created gen_raw_REG. * regrename.c (regrename_do_replace): If replacing the same reg multiple times, try to reuse last created gen_raw_REG. From-SVN: r256596
2018-01-12re PR fortran/83525 (open(newunit=funit, status="scratch") fails if an ↵Jerry DeLisle2-0/+25
internal file (characters) was read previously.) 2018-01-12 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/83525 * gfortran.dg/newunit_5.f90: New test. From-SVN: r256595
2018-01-12PR c++/83186 - ICE with static_cast of list-initialized temporary.Jason Merrill3-0/+19
* typeck.c (build_static_cast): Use build_non_dependent_expr. From-SVN: r256594
2018-01-12[C++ PATCH] some reformattingNathan Sidwell4-21/+29
https://gcc.gnu.org/ml/gcc-patches/2018-01/msg01107.html * cp-tree.h (mark_rvalue_use): Add parm name. * expr.c (mark_lvalue_use, mark_lvalue_use_nonread): Move next to mark_rvalue_use. * call.c (convert_like_real): Fix formatting. From-SVN: r256593
2018-01-12re PR debug/81155 (Debug make check regressions in GCC 8.0)Jakub Jelinek2-1/+10
PR debug/81155 * bb-reorder.c (pass_partition_blocks::gate): In lto don't partition main to workaround a bug in GDB. From-SVN: r256592
2018-01-12Set use_gcc_stdint=wrap for nvptxTom de Vries2-0/+6
2018-01-12 Tom de Vries <tom@codesourcery.com> PR target/83737 * config.gcc (nvptx*-*-*): Set use_gcc_stdint=wrap. From-SVN: r256591
2018-01-12re PR rtl-optimization/80481 (Unoptimal additional copy instructions)Vladimir Makarov4-1/+101
2018-01-12 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/80481 * ira-color.c (get_cap_member): New function. (allocnos_conflict_by_live_ranges_p): Use it. (slot_coalesced_allocno_live_ranges_intersect_p): Add assert. (setup_slot_coalesced_allocno_live_ranges): Ditto. 2018-01-12 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/80481 * g++.dg/pr80481.C: New. From-SVN: r256590
2018-01-12re PR rtl-optimization/83628 (performance regression when accessing arrays ↵Uros Bizjak5-11/+119
on alpha) PR target/83628 * config/alpha/alpha.md (*saddsi_1): New insn_ans_split pattern. (*saddl_se_1): Ditto. (*ssubsi_1): Ditto. (*saddl_se_1): Ditto. testsuite/ChangeLog: PR target/83628 * gcc.target/alpha/pr83628-3.c: New test. From-SVN: r256589
2018-01-12Guard against incomplete AVX512F support in Solaris asRainer Orth3-12/+19
* lib/target-supports.exp (check_effective_target_avx512f): Also check for __builtin_ia32_addsd_round, __builtin_ia32_getmantsd_round. * gcc.target/i386/i386.exp (check_effective_target_avx512f): Remove. From-SVN: r256588
2018-01-12Handle polynomial DR_INITRichard Sandiford3-5/+21
The idea with the main 107-patch poly_int series (latterly 109-patch) was to change the mode sizes and vector element counts to poly_int and then propagate those changes as far as they needed to go to fix build failures from incompatible types. This means that DR_INIT is now constructed as a poly_int64: poly_int64 pbytepos; if (!multiple_p (pbitpos, BITS_PER_UNIT, &pbytepos)) { if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "failed: bit offset alignment.\n"); return false; } [...] init = ssize_int (pbytepos); This patch adjusts other references to DR_INIT accordingly. Unlike the above, the adjustments weren't needed to avoid a build-time type incompatibility, but they are needed to make the producer and consumers of DR_INIT logically consistent. 2018-01-12 Richard Sandiford <richard.sandiford@linaro.org> gcc/ * tree-predcom.c (aff_combination_dr_offset): Use wi::to_poly_widest rather than wi::to_widest for DR_INITs. * tree-vect-data-refs.c (vect_find_same_alignment_drs): Use wi::to_poly_offset rather than wi::to_offset for DR_INIT. (vect_analyze_data_ref_accesses): Require both DR_INITs to be INTEGER_CSTs. (vect_analyze_group_access_1): Note that here. From-SVN: r256587
2018-01-12Handle poly_int vector sizes in get_vec_alignment_for_array_typeRichard Sandiford2-3/+9
get_vectype_for_scalar_type returns a variable-length vector type for SVE, whereas get_vec_alignment_for_array_type assumed it would always be an INTEGER_CST. This is needed to build libstdc++-v3/src/closures.cc for SVE (and probably many other places besides -- this was just the first hit). 2018-01-12 Richard Sandiford <richard.sandiford@linaro.org> gcc/ * tree-vectorizer.c (get_vec_alignment_for_array_type): Handle polynomial type sizes. From-SVN: r256586
2018-01-12Allow variable-sized temporary variables in gimplify.cRichard Sandiford2-2/+8
This is needed to build libgfortran for SVE. The OpenMP code needs to create temporary vector variables, and the variables will therefore be variable-sized for SVE. Earlier patches made such variables work. 2018-01-12 Richard Sandiford <richard.sandiford@linaro.org> gcc/ * gimplify.c (gimple_add_tmp_var_fn): Allow variables to have a poly_uint64 size, rather than requiring an unsigned HOST_WIDE_INT size. (gimple_add_tmp_var): Likewise. From-SVN: r256585
2018-01-12Fix integer overflow in stats of GIMPLE statements.Martin Liska3-9/+19
2018-01-12 Martin Liska <mliska@suse.cz> * gimple.c (gimple_alloc_counts): Use uint64_t instead of int. (gimple_alloc_sizes): Likewise. (dump_gimple_statistics): Use PRIu64 in printf format. * gimple.h: Change uint64_t to int. From-SVN: r256584
2018-01-12Fix integer overflow in stats of trees.Martin Liska3-11/+20
2018-01-12 Martin Liska <mliska@suse.cz> * tree-core.h: Use uint64_t instead of int. * tree.c (tree_node_counts): Likewise. (tree_node_sizes): Likewise. (dump_tree_statistics): Use PRIu64 in printf format. From-SVN: r256583
2018-01-12Fix --enable-gather-detailed-mem-stats build.Martin Liska6-38/+71
2018-01-12 Martin Liska <mliska@suse.cz> * Makefile.in: As qsort_chk is implemented in vec.c, add vec.o to linkage of gencfn-macros. * tree.c (build_new_poly_int_cst): Add CXX_MEM_STAT_INFO as it's passing the info to record_node_allocation_statistics. (test_vector_cst_patterns): Add CXX_MEM_STAT_INFO to declaration and pass the info. * ggc-common.c (struct ggc_usage): Add operator== and use it in operator< and compare function. * mem-stats.h (struct mem_usage): Likewise. * vec.c (struct vec_usage): Remove operator< and compare function. Can be simply inherited. From-SVN: r256582
2018-01-12Deferring FMA transformations in tight loopsMartin Jambor5-128/+426
2018-01-12 Martin Jambor <mjambor@suse.cz> PR target/81616 * params.def: New parameter PARAM_AVOID_FMA_MAX_BITS. * tree-ssa-math-opts.c: Include domwalk.h. (convert_mult_to_fma_1): New function. (fma_transformation_info): New type. (fma_deferring_state): Likewise. (cancel_fma_deferring): New function. (result_of_phi): Likewise. (last_fma_candidate_feeds_initial_phi): Likewise. (convert_mult_to_fma): Added deferring logic, split actual transformation to convert_mult_to_fma_1. (math_opts_dom_walker): New type. (math_opts_dom_walker::after_dom_children): New method, body moved here from pass_optimize_widening_mul::execute, added deferring logic bits. (pass_optimize_widening_mul::execute): Moved most of code to math_opts_dom_walker::after_dom_children. * config/i386/x86-tune.def (X86_TUNE_AVOID_128FMA_CHAINS): New. * config/i386/i386.c (ix86_option_override_internal): Added maybe_setting of PARAM_AVOID_FMA_MAX_BITS. From-SVN: r256581
2018-01-12re PR debug/83157 (gcc.dg/guality/pr41616-1.c fail, inline instances refer ↵Richard Biener2-3/+7
to concrete instance as abstract origin) 2018-01-12 Richard Biener <rguenther@suse.de> PR debug/83157 * dwarf2out.c (gen_variable_die): Do not reset old_die for inline instance vars. From-SVN: r256580
2018-01-12re PR target/81819 ([RX] internal compiler error: in ↵Oleg Endo2-0/+9
rx_is_restricted_memory_address, at config/rx/rx.c:311) gcc/ PR target/81819 * config/rx/rx.c (rx_is_restricted_memory_address): Handle SUBREG case. From-SVN: r256578
2018-01-12rs6000: Tune new testcase (PR83629)Segher Boessenkool2-0/+6
It has some problems running on some 64-bit configuratiions, and the bug it is testing for is only on 32-bit; so let's not run it elsewhere. gcc/testsuite/ PR target/83629 * gcc.target/powerpc/pr83629.c: Require ilp32. From-SVN: r256577
2018-01-12re PR target/80846 (auto-vectorized AVX2 horizontal sum should narrow to ↵Richard Biener13-27/+231
128b right away, to be more efficient for Ryzen and Intel) 2018-01-12 Richard Biener <rguenther@suse.de> PR tree-optimization/80846 * target.def (split_reduction): New target hook. * targhooks.c (default_split_reduction): New function. * targhooks.h (default_split_reduction): Declare. * tree-vect-loop.c (vect_create_epilog_for_reduction): If the target requests first reduce vectors by combining low and high parts. * tree-vect-stmts.c (vect_gen_perm_mask_any): Adjust. (get_vectype_for_scalar_type_and_size): Export. * tree-vectorizer.h (get_vectype_for_scalar_type_and_size): Declare. * doc/tm.texi.in (TARGET_VECTORIZE_SPLIT_REDUCTION): Document. * doc/tm.texi: Regenerate. i386/ * config/i386/i386.c (ix86_split_reduction): Implement TARGET_VECTORIZE_SPLIT_REDUCTION. * gcc.target/i386/pr80846-1.c: New testcase. * gcc.target/i386/pr80846-2.c: Likewise. From-SVN: r256576
2018-01-12re PR target/83368 (alloca after setjmp breaks PIC base reg)Eric Botcazou5-38/+141
PR target/83368 * config/sparc/sparc.h (PIC_OFFSET_TABLE_REGNUM): Set to INVALID_REGNUM in PIC mode except for TARGET_VXWORKS_RTP. * config/sparc/sparc.c: Include cfgrtl.h. (TARGET_INIT_PIC_REG): Define. (TARGET_USE_PSEUDO_PIC_REG): Likewise. (sparc_pic_register_p): New predicate. (sparc_legitimate_address_p): Use it. (sparc_legitimize_pic_address): Likewise. (sparc_delegitimize_address): Likewise. (sparc_mode_dependent_address_p): Likewise. (gen_load_pcrel_sym): Remove 4th parameter. (load_got_register): Adjust call to above. Remove obsolete stuff. (sparc_expand_prologue): Do not call load_got_register here. (sparc_flat_expand_prologue): Likewise. (sparc_output_mi_thunk): Set the pic_offset_table_rtx object. (sparc_use_pseudo_pic_reg): New function. (sparc_init_pic_reg): Likewise. * config/sparc/sparc.md (vxworks_load_got): Set the GOT register. (builtin_setjmp_receiver): Enable only for TARGET_VXWORKS_RTP. From-SVN: r256575
2018-01-12Add doc for branch_cost effective target.Christophe Lyon2-0/+8
2018-01-12 Christophe Lyon <christophe.lyon@linaro.org> gcc/ * doc/sourcebuild.texi (Effective-Target Keywords, Other attributes): Add item for branch_cost. From-SVN: r256574
2018-01-12re PR rtl-optimization/83565 (RTL combine pass yields wrong rotate result)Eric Botcazou4-23/+85
PR rtl-optimization/83565 * rtlanal.c (nonzero_bits1): On WORD_REGISTER_OPERATIONS machines, do not extend the result to a larger mode for rotate operations. (num_sign_bit_copies1): Likewise. From-SVN: r256572
2018-01-12Add dg-require-effective-target indirect_jumps for g++Tom de Vries9-0/+19
2018-01-12 Tom de Vries <tom@codesourcery.com> * g++.dg/ext/label13.C: Add dg-require-effective-target indirect_jumps. * g++.dg/ext/label13a.C: Same. * g++.dg/ext/label14.C: Same. * g++.dg/ext/label2.C: Same. * g++.dg/ext/label3.C: Same. * g++.dg/torture/pr42462.C: Same. * g++.dg/torture/pr42739.C: Same. * g++.dg/warn/Wunused-label-3.C: Same. From-SVN: r256571
2018-01-12Add dg-require-effective-target alloca for c++ test-casesTom de Vries49-0/+100
2018-01-12 Tom de Vries <tom@codesourcery.com> * c-c++-common/dwarf2/vla1.c: Add dg-require-effective-target alloca. * g++.dg/Walloca1.C: Same. * g++.dg/cpp0x/pr70338.C: Same. * g++.dg/cpp1y/lambda-generic-vla1.C: Same. * g++.dg/cpp1y/vla10.C: Same. * g++.dg/cpp1y/vla2.C: Same. * g++.dg/cpp1y/vla6.C: Same. * g++.dg/cpp1y/vla8.C: Same. * g++.dg/debug/debug5.C: Same. * g++.dg/debug/debug6.C: Same. * g++.dg/debug/pr54828.C: Same. * g++.dg/diagnostic/pr70105.C: Same. * g++.dg/eh/cleanup5.C: Same. * g++.dg/eh/spbp.C: Same. * g++.dg/ext/tmplattr9.C: Same. * g++.dg/ext/vla10.C: Same. * g++.dg/ext/vla11.C: Same. * g++.dg/ext/vla12.C: Same. * g++.dg/ext/vla15.C: Same. * g++.dg/ext/vla16.C: Same. * g++.dg/ext/vla17.C: Same. * g++.dg/ext/vla3.C: Same. * g++.dg/ext/vla6.C: Same. * g++.dg/ext/vla7.C: Same. * g++.dg/init/array24.C: Same. * g++.dg/init/new47.C: Same. * g++.dg/init/pr55497.C: Same. * g++.dg/opt/pr78201.C: Same. * g++.dg/template/vla2.C: Same. * g++.dg/torture/Wsizeof-pointer-memaccess1.C: Same. * g++.dg/torture/Wsizeof-pointer-memaccess2.C: Same. * g++.dg/torture/pr62127.C: Same. * g++.dg/torture/pr67055.C: Same. * g++.dg/torture/stackalign/eh-alloca-1.C: Same. * g++.dg/torture/stackalign/eh-inline-2.C: Same. * g++.dg/torture/stackalign/eh-vararg-1.C: Same. * g++.dg/torture/stackalign/eh-vararg-2.C: Same. * g++.dg/warn/Wplacement-new-size-5.C: Same. * g++.dg/warn/Wsizeof-pointer-memaccess-1.C: Same. * g++.dg/warn/Wvla-1.C: Same. * g++.dg/warn/Wvla-3.C: Same. * g++.old-deja/g++.ext/array2.C: Same. * g++.old-deja/g++.ext/constructor.C: Same. * g++.old-deja/g++.law/builtin1.C: Same. * g++.old-deja/g++.other/crash12.C: Same. * g++.old-deja/g++.other/eh3.C: Same. * g++.old-deja/g++.pt/array6.C: Same. * g++.old-deja/g++.pt/dynarray.C: Same. From-SVN: r256570
2018-01-12Fix g++.dg/cpp0x/inh-ctor30.CRainer Orth2-1/+5
* g++.dg/cpp0x/inh-ctor30.C: Allow for alternate mangled form. From-SVN: r256569
2018-01-12Link with correct values-*.o files on Solaris (PR target/40411)Rainer Orth4-3/+41
gcc/testsuite: PR libfortran/67412 * gfortran.dg/execute_command_line_2.f90: Remove dg-xfail-run-if on *-*-solaris2.10. libstdc++-v3: PR libstdc++/64054 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc: Remove dg-xfail-run-if. gcc: PR target/40411 * config/sol2.h (STARTFILE_ARCH_SPEC): Don't use with -shared or -symbolic. Use values-Xc.o for -pedantic. Link with values-xpg4.o for C90, values-xpg6.o otherwise. From-SVN: r256568
2018-01-12Include all x86 targets in branch_cost effective targetRainer Orth2-1/+6
* lib/target-supports.exp (check_effective_target_branch_cost): Accept all x86 targets. From-SVN: r256567
2018-01-12Initialize type_warnings::dyn_count with a default value (PR ipa/83054).Martin Liska4-5/+74
2018-01-12 Martin Liska <mliska@suse.cz> PR ipa/83054 * ipa-devirt.c (final_warning_record::grow_type_warnings): New function. (possible_polymorphic_call_targets): Use it. (ipa_devirt): Likewise. 2018-01-12 Martin Liska <mliska@suse.cz> PR ipa/83054 * g++.dg/warn/pr83054.C: New test. From-SVN: r256566
2018-01-12Add new verification for profile-count.h.Martin Liska2-6/+15
2018-01-12 Martin Liska <mliska@suse.cz> * profile-count.h (enum profile_quality): Use 0 as invalid enum value of profile_quality. From-SVN: r256565
2018-01-12Add new NDS32 options -mext-perf, -mext-perf2 and -mext-string in the ↵Chung-Ju Wu2-3/+26
documentation. gcc/ * doc/invoke.texi (NDS32 Options): Add -mext-perf, -mext-perf2 and -mext-string options. From-SVN: r256564
2018-01-12lto-streamer-out.c (DFS::DFS_write_tree_body): Process DECL_DEBUG_EXPR ↵Richard Biener4-3/+14
conditional on DECL_HAS_DEBUG_EXPR_P. 2018-01-12 Richard Biener <rguenther@suse.de> * lto-streamer-out.c (DFS::DFS_write_tree_body): Process DECL_DEBUG_EXPR conditional on DECL_HAS_DEBUG_EXPR_P. * tree-streamer-in.c (lto_input_ts_decl_common_tree_pointers): Likewise. * tree-streamer-out.c (write_ts_decl_common_tree_pointers): Likewise. From-SVN: r256563
2018-01-12Daily bump.GCC Administrator1-1/+1
From-SVN: r256561
2018-01-11configure.ac (--with-long-double-format): Add support for the configuration ↵Michael Meissner5-3/+113
option to change the default long double... 2018-01-11 Michael Meissner <meissner@linux.vnet.ibm.com> * configure.ac (--with-long-double-format): Add support for the configuration option to change the default long double format on PowerPC systems. * config.gcc (powerpc*-linux*-*): Likewise. * configure: Regenerate. * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): If long double is IEEE, define __KC__ and __KF__ to allow floatn.h to be used without modification. From-SVN: r256558
2018-01-11rs6000-builtin.def (BU_P7_MISC_X): New #define.Bill Schmidt7-0/+54
[gcc] 2018-01-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * config/rs6000/rs6000-builtin.def (BU_P7_MISC_X): New #define. (SPEC_BARRIER): New instantiation of BU_P7_MISC_X. * config/rs6000/rs6000.c (rs6000_expand_builtin): Handle MISC_BUILTIN_SPEC_BARRIER. (rs6000_init_builtins): Likewise. * config/rs6000/rs6000.md (UNSPECV_SPEC_BARRIER): New UNSPECV enum value. (speculation_barrier): New define_insn. * doc/extend.texi: Document __builtin_speculation_barrier. [gcc/testsuite] 2018-01-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * gcc.target/powerpc/spec-barr-1.c: New file. From-SVN: r256557
2018-01-11re PR target/83203 (Inefficient int to avx2 vector conversion)Jakub Jelinek3-3/+111
PR target/83203 * config/i386/i386.c (ix86_expand_vector_init_one_nonzero): If one_var is 0, for V{8,16}S[IF] and V[48]D[IF]mode use gen_vec_set<mode>_0. * config/i386/sse.md (VI8_AVX_AVX512F, VI4F_256_512): New mode iterators. (ssescalarmodesuffix): Add 512-bit vectors. Use "d" or "q" for integral modes instead of "ss" and "sd". (vec_set<mode>_0): New define_insns for 256-bit and 512-bit vectors with 32-bit and 64-bit elements. (vecdupssescalarmodesuffix): New mode attribute. (vec_dup<mode>): Use it. From-SVN: r256556
2018-01-11i386: Align stack frame if argument is passed on stackH.J. Lu4-1/+46
When a function call is removed, it may become a leaf function. But if argument may be passed on stack, we need to align the stack frame when there is no tail call. Tested on Linux/i686 and Linux/x86-64. gcc/ PR target/83330 * config/i386/i386.c (ix86_compute_frame_layout): Align stack frame if argument is passed on stack. gcc/testsuite/ PR target/83330 * gcc.target/i386/pr83330.c: New test. From-SVN: r256555
2018-01-11re PR fortran/79383 (USE statement error)Steven G. Kargl3-0/+99
2018-01-11 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/79383 * gfortran.dg/dtio_31.f03: New test. * gfortran.dg/dtio_32.f03: New test. From-SVN: r256554
2018-01-11re PR go/83794 (misc/cgo/test uses gigabytes of memory)Ian Lance Taylor1-1/+1
PR go/83794 misc/cgo/test: avoid endless loop when we can't parse notes Reviewed-on: https://go-review.googlesource.com/87416 From-SVN: r256553
2018-01-11Add some reproducers for issues found developing the location-wrappers patchDavid Malcolm7-0/+261
gcc/testsuite/ChangeLog: PR c++/43486 * g++.dg/wrappers: New subdirectory. * g++.dg/wrappers/README: New file. * g++.dg/wrappers/alloc.C: New test case. * g++.dg/wrappers/cow-istream-string.C: New test case. * g++.dg/wrappers/cp-stdlib.C: New test case. * g++.dg/wrappers/sanitizer_coverage_libcdep_new.C: New test case. * g++.dg/wrappers/wrapper-around-type-pack-expansion.C: New test case. From-SVN: r256552
2018-01-11re PR target/82682 (FAIL: gcc.target/i386/pr50038.c scan-assembler-times ↵Jakub Jelinek2-2/+82
movzbl 2 (found 3 times) since r253958) PR target/82682 * ree.c (combine_reaching_defs): Optimize also reg2=exp; reg1=reg2; reg2=any_extend(reg1); into reg2=any_extend(exp); reg1=reg2;, formatting fix. From-SVN: r256551
2018-01-11PR c++/82728 - wrong -Wunused-but-set-variableJason Merrill8-3/+79
PR c++/82799 PR c++/83690 * call.c (perform_implicit_conversion_flags): Call mark_rvalue_use. * decl.c (case_conversion): Likewise. * semantics.c (finish_static_assert): Call perform_implicit_conversion_flags. From-SVN: r256550
2018-01-11re PR tree-optimization/83189 (internal compiler error: in probability_in, ↵Jan Hubicka2-1/+8
at profile-count.h:1050) PR middle-end/83189 * gimple-ssa-isolate-paths.c (isolate_path): Fix profile update. From-SVN: r256545
2018-01-11re PR middle-end/83718 (ICE: Floating point exception in ↵Jan Hubicka4-2/+128
profile_count::apply_scale) PR middle-end/83718 * tree-inline.c (copy_cfg_body): Adjust num&den for scaling after they are computed. * g++.dg/torture/pr83718.C: New testcase. From-SVN: r256544
2018-01-11[C++ PATCH] kill unused enumNathan Sidwell2-16/+4
https://gcc.gnu.org/ml/gcc-patches/2018-01/msg00923.html * method.c (enum mangling_flags): Delete long-dead enum. From-SVN: r256543