aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2018-04-12re PR target/85238 (lto-wrapper: fatal error: ↵Eric Botcazou6-2/+45
simple_object_copy_lto_debug_sections not implemented: Invalid argument on Cygwin) PR target/85238 * lto-wrapper.c (debug_objcopy): Open the files in binary mode. * dwarf2out.c (dwarf2out_early_finish): Do not generate assembly in LTO mode for PE-COFF targets. * config/i386/i386-protos.h (i386_pe_asm_lto_start): Declare. (i386_pe_asm_lto_end): Likewise. * config/i386/cygming.h (TARGET_ASM_LTO_START): Define. (TARGET_ASM_LTO_END): Likewise. * config/i386/winnt.c (saved_debug_info_level): New static variable. (i386_pe_asm_lto_start): New function. (i386_pe_asm_lto_end): Likewise. From-SVN: r259347
2018-04-12re PR middle-end/84955 (Incorrect OpenACC tile expansion)Cesar Philippidis4-2/+29
PR middle-end/84955 gcc/ * lto-streamer-out.c (output_function): Fix CFG loop state before streaming out. * omp-expand.c (expand_oacc_for): Handle calls to internal functions like regular functions. libgomp/ * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test. * testsuite/libgomp.oacc-fortran/pr84955.f90: New test. Co-Authored-By: Richard Biener <rguenther@suse.de> From-SVN: r259346
2018-04-12re PR lto/85371 (Compiling code with -g -flto gives an ICE on darwin after ↵Richard Biener2-12/+20
revision r259317) 2018-04-12 Richard Biener <rguenther@suse.de> PR lto/85371 * dwarf2out.c (init_sections_and_labels): Use debug_line_section[_label] for the early LTO debug to properly generate references to it during DIE emission. Do not re-use that for the skeleton for split-dwarf. (dwarf2out_early_finish): Likewise. From-SVN: r259345
2018-04-12re PR target/85328 (accessing ymm16 with non-avx512 instruction form)Jakub Jelinek4-13/+123
PR target/85328 * config/i386/sse.md (<mask_codefor>avx512dq_vextract<shuffletype>64x2_1<mask_name> split, <mask_codefor>avx512f_vextract<shuffletype>32x4_1<mask_name> split, vec_extract_lo_<mode><mask_name> split, vec_extract_lo_v32hi, vec_extract_lo_v64qi): For non-AVX512VL if input is xmm16+ reg and output is a reg, avoid creating invalid lowpart subreg, but instead split into a 512-bit move. Don't split if not AVX512VL, input is xmm16+ reg and output is a mem. (vec_extract_lo_<mode><mask_name>, vec_extract_lo_v32hi, vec_extract_lo_v64qi): Don't require split if not AVX512VL, input is xmm16+ reg and output is a mem. * gcc.target/i386/pr85328.c: New test. From-SVN: r259344
2018-04-12IBM Z: Spectre: Prevent thunk cfi to be emitted with -fno-dwarf2-cfi-asmAndreas Krebbel4-1/+29
The CFI magic we emit as part of the indirect branch thunks in order to have somewhat sane unwind information must not be emitted with -fno-dwarf2-cfi-asm. gcc/ChangeLog: 2018-04-12 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * config/s390/s390.c (s390_output_indirect_thunk_function): Check also for flag_dwarf2_cfi_asm. gcc/testsuite/ChangeLog: 2018-04-12 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * gcc.target/s390/nobp-no-dwarf2-cfi.c: New test. From-SVN: r259340
2018-04-12Wzero-as-null-pointer-constant-7.C: Move...Paolo Carlini1-0/+5
2018-04-11 Paolo Carlini <paolo.carlini@oracle.com> * g++.dg/warn/Wzero-as-null-pointer-constant-7.C: Move... * g++.dg/cpp0x/Wzero-as-null-pointer-constant-3.C: ... here. From-SVN: r259339
2018-04-12re PR rtl-optimization/85342 (ICE: SIGSEGV in copyprop_hardreg_forward_1 ↵Jakub Jelinek4-16/+49
(regcprop.c:995) with -O2 -mavx512vl) PR rtl-optimization/85342 * regcprop.c (copyprop_hardreg_forward_1): Remove replaced array, use a bool scalar var inside of the loop instead. Don't try to update recog_data.operand after failed apply_change_group. * gcc.target/i386/pr85342.c: New test. From-SVN: r259338
2018-04-12[nvptx] Fix handling of extern var with flexible array memberTom de Vries2-2/+42
2018-04-12 Tom de Vries <tom@codesourcery.com> PR target/85296 * config/nvptx/nvptx.c (flexible_array_member_type_p): New function. (nvptx_assemble_decl_begin): Add undefined param. Declare undefined array with flexible array member as array without given dimension. (nvptx_assemble_undefined_decl): Set nvptx_assemble_decl_begin call argument for undefined param to true. From-SVN: r259337
2018-04-12Daily bump.GCC Administrator1-1/+1
From-SVN: r259336
2018-04-11* lib/asan-dg.exp: Don't run tests if ulimit -v is set.Jason Merrill2-2/+22
From-SVN: r259333
2018-04-11Wzero-as-null-pointer-constant-7.C: Move...Paolo Carlini1-0/+0
2018-04-11 Paolo Carlini <paolo.carlini@oracle.com> * g++.dg/warn/Wzero-as-null-pointer-constant-7.C: Move... * g++.dg/cpp0x/Wzero-as-null-pointer-constant-3.C: ... here. From-SVN: r259327
2018-04-11re PR testsuite/85190 (gcc.dg/vect/pr81196.c FAILs)Bin Cheng2-8/+6
gcc/testsuite PR testsuite/85190 * gcc.dg/vect/pr81196.c: Remove function with undefined behavior. From-SVN: r259326
2018-04-11re PR c++/70808 (Spurious -Wzero-as-null-pointer-constant for nullptr_t)Jakub Jelinek2-0/+7
PR c++/70808 * g++.dg/warn/Wzero-as-null-pointer-constant-7.C: Require c++11 effective target. From-SVN: r259325
2018-04-11re PR target/85321 (Missing documentation and option misc for ppc64le)Aaron Sawdey4-16/+28
2018-04-11 Aaron Sawdey <acsawdey@linux.ibm.com> PR target/85321 * doc/invoke.texi (RS/6000 and PowerPC Options): Document options -mcall- and -mtraceback=. Remove options -mabi=spe and -mabi=no-spe from PowerPC section. * config/rs6000/sysv4.opt (mcall-): Improve help text. * config/rs6000/rs6000.opt (mblock-compare-inline-limit=): Trim help text that is too long. * config/rs6000/rs6000.opt (mblock-compare-inline-loop-limit=): Trim help text that is too long. * config/rs6000/rs6000.opt (mstring-compare-inline-limit=): Trim help text that is too long. From-SVN: r259324
2018-04-11alpha.md (stack_probe_internal): Rename from "probe_stack".Uros Bizjak3-6/+13
* config/alpha/alpha.md (stack_probe_internal): Rename from "probe_stack". Update all callers. From-SVN: r259323
2018-04-11sched-deps: respect deps->readonly in macro-fusion (PR 84566)Alexander Monakov2-1/+8
PR rtl-optimization/84566 * sched-deps.c (sched_analyze_insn): Check deps->readonly when invoking sched_macro_fuse_insns. From-SVN: r259322
2018-04-11sched-rgn: run add_branch_dependencies for sel-sched (PR 84301)Alexander Monakov4-3/+32
PR target/84301 * sched-rgn.c (add_branch_dependences): Move sel_sched_p check here... (compute_block_dependences): ... from here. testsuite/ * gcc.target/i386/pr84301.c: New test. From-SVN: r259321
2018-04-11re PR tree-optimization/85331 (during GIMPLE pass, internal compiler error: ↵Jakub Jelinek4-1/+34
Segmentation fault (-O1 and above)) PR tree-optimization/85331 * vec-perm-indices.h (vec_perm_indices::clamp): Change input type from int to HOST_WIDE_INT. * gcc.c-torture/execute/pr85331.c: New test. From-SVN: r259320
2018-04-11Improve IPA-CP handling of self-recursive callsMartin Jambor2-43/+98
2018-04-11 Martin Jambor <mjambor@suse.cz> PR ipa/84149 * ipa-cp.c (propagate_vals_across_pass_through): Expand comment. (cgraph_edge_brings_value_p): New parameter dest_val, check if it is not the same as the source val. (cgraph_edge_brings_value_p): New parameter. (gather_edges_for_value): Pass destination value to cgraph_edge_brings_value_p. (perhaps_add_new_callers): Likewise. (get_info_about_necessary_edges): Likewise and exclude values brought only by self-recursive edges. (create_specialized_node): Redirect only clones of self-calling edges. (+self_recursive_pass_through_p): New function. (find_more_scalar_values_for_callers_subset): Use it. (find_aggregate_values_for_callers_subset): Likewise. (known_aggs_to_agg_replacement_list): Removed. (decide_whether_version_node): Re-calculate known constants for all remaining context clones. From-SVN: r259319
2018-04-11re PR c++/85032 (Wrong non-constant condition for static assertion)Marek Polacek5-1/+54
PR c++/85032 * constexpr.c (potential_constant_expression_1): Consider conversions from classes to literal types potentially constant. * g++.dg/cpp0x/pr51225.C: Adjust error message. * g++.dg/cpp1z/constexpr-if21.C: New test. From-SVN: r259318
2018-04-11re PR lto/85339 (With early LTO debug the early DWARF misses line-info)Richard Biener2-6/+24
2018-04-11 Richard Biener <rguenther@suse.de> PR lto/85339 * dwarf2out.c (dwarf2out_finish): Remove DW_AT_stmt_list attribute from early DWARF output. (dwarf2out_early_finish): Output line info unconditionally into early DWARF and add reference to it. From-SVN: r259317
2018-04-11re PR target/85281 (Assembler messages: Error: operand size mismatch for ↵Jakub Jelinek4-5/+31
`vpbroadcastb' with -mavx512bw -masm=intel) PR target/85281 * config/i386/sse.md (iptr): Add V16SFmode and V8DFmode cases. (<avx512>_vec_dup<mode><mask_name>): Use a single pattern for modes other than V2DFmode using iptr mode attribute. (<avx512>_vec_dup<mode><mask_name>): Use iptr mode attribute. * gcc.target/i386/pr85281.c: New test. From-SVN: r259316
2018-04-11fix PR 84659 references in ChangeLog filesAlexander Monakov2-2/+2
From-SVN: r259314
2018-04-11sel-sched: run cleanup_cfg just before loop_optimizer_init (PR 84659)Alexander Monakov4-0/+33
PR rtl-optimization/85659 * sel-sched-ir.c (sel_init_pipelining): Invoke cleanup_cfg. testsuite/ * gcc.dg/pr84659.c: New test. From-SVN: r259313
2018-04-11Clean up attribute value comparison in lto-symtab.c.Martin Liska2-6/+7
2018-04-11 Martin Liska <mliska@suse.cz> * lto-symtab.c (lto_symtab_merge_p): Use attribute_value_equal function. From-SVN: r259312
2018-04-11re PR rtl-optimization/85302 (ICE in size_of_loc_descr, at dwarf2out.c:1771 ↵Jakub Jelinek4-6/+47
on i686-linux-gnu) PR debug/85302 * dwarf2out.c (skip_loc_list_entry): Don't call size_of_locs if SIZEP is NULL. (output_loc_list): Pass address of a dummy size variable even in the locview handling loop. (index_location_lists): Add comment on why skip_loc_list_entry can't call size_of_locs. * g++.dg/debug/dwarf2/pr85302.C: New test. From-SVN: r259311
2018-04-11[ARM] Fix PR85261: ICE with FPSCR setter builtinThomas Preud'homme4-4/+19
Instruction pattern for setting the FPSCR expects the input value to be in a register. However, __builtin_arm_set_fpscr expander does not ensure that this is the case and as a result GCC ICEs when the builtin is called with a constant literal. This commit fixes the builtin to force the input value into a register. It also remove the unneeded volatile in the existing fpscr test and fixes the function prototype. 2018-04-11 Thomas Preud'homme <thomas.preudhomme@arm.com> gcc/ PR target/85261 * config/arm/arm-builtins.c (arm_expand_builtin): Force input operand into register. gcc/testsuite/ PR target/85261 * config/arm/arm-builtins.c (arm_expand_builtin): Force input operand into register. From-SVN: r259310
2018-04-11Daily bump.GCC Administrator1-1/+1
From-SVN: r259307
2018-04-10re PR c++/70808 (Spurious -Wzero-as-null-pointer-constant for nullptr_t)Paolo Carlini4-1/+17
/cp 2018-04-10 Paolo Carlini <paolo.carlini@oracle.com> PR c++/70808 * init.c (build_zero_init_1): Handle NULLPTR_TYPE_P being true of the type like TYPE_PTR_OR_PTRMEM_P. /testsuite 2018-04-10 Paolo Carlini <paolo.carlini@oracle.com> PR c++/70808 * g++.dg/warn/Wzero-as-null-pointer-constant-7.C: New. From-SVN: r259303
2018-04-10re PR target/85321 (Missing documentation and option misc for ppc64le)Aaron Sawdey2-0/+35
2018-04-10 Aaron Sawdey <acsawdey@linux.ibm.com> PR target/85321 * doc/invoke.texi (RS/6000 and PowerPC Options): Document options -mblock-compare-inline-limit, -mblock-compare-inline-loop-limit, and -mstring-compare-inline-limit. From-SVN: r259302
2018-04-10forgot the PR marker in the changelogSegher Boessenkool1-0/+1
From-SVN: r259300
2018-04-10rs6000: Fix stack clash for big residuals (PR85287)Segher Boessenkool2-6/+10
The stack clash protection code had a logic error in how it decided whether to put the final update size in a register, or to emit it directly in an insn. This fixes it. It also tidies some surrounding code. PR target/85287 * gcc/config/rs6000/rs6000.md (allocate_stack): Put the residual size for stack clash protection in a register whenever we need it to be in a register. From-SVN: r259299
2018-04-10rs6000: Enable -fasynchronous-unwind-tables by defaultSegher Boessenkool7-4/+25
To find out where on-entry register values live at any point in a program, GDB currently tries to parse to parse the executable code. This does not work very well, for example it gets confused if some accesses to the stack use the frame pointer (r31) and some use the stack pointer (r1). A symptom is that backtraces can be cut short. This patch enables -fasynchronous-unwind-tables by default for rs6000, which causes us to emit DWARF unwind tables for all functions, solving these problems. This not do anything for sub-targets without DWARF, and only for ELF sub-targets for now. It increases executable size, but only modestly, and does not change memory use, only the disk image. * common/config/rs6000/rs6000-common.c (rs6000_option_init_struct): Enable -fasynchronous-unwind-tables by default if OBJECT_FORMAT_ELF. gcc/testsuite/ * gcc.target/powerpc/dfmode_off.c: Add -fno-asynchronous-unwind-tables. * gcc.target/powerpc/dimode_off.c: Ditto. * gcc.target/powerpc/tfmode_off.c: Ditto. * gcc.target/powerpc/timode_off.c: Ditto. From-SVN: r259298
2018-04-10rs6000: Improve --help=target (PR85321)Segher Boessenkool3-4/+13
This updates the help text for some options to mention the allowed values for -mXX=XX. PR target/85321 * config/rs6000/rs6000.opt (mtraceback=): Show the allowed values in the help text. (mlong-double-): Ditto. * config/rs6000/sysv4.opt (msdata=): Ditto. (mtls-size=): Ditto. From-SVN: r259296
2018-04-10rs6000-c.c (altivec_overloaded_builtins): Remove erroneous entries for ↵Kelvin Nilsen7-19/+322
"vector int vec_ldl (int... gcc/ChangeLog: 2018-04-10 Kelvin Nilsen <kelvin@gcc.gnu.org> * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove erroneous entries for "vector int vec_ldl (int, long int *)", and "vector unsigned int vec_ldl (int, unsigned long int *)". Add comments and entries for "vector bool char vec_ldl (int, bool char *)", "vector bool short vec_ldl (int, bool short *)", "vector bool int vec_ldl (int, bool int *)", "vector bool long long vec_ldl (int, bool long long *)", "vector pixel vec_ldl (int, pixel *)", "vector long long vec_ldl (int, long long *)", "vector unsigned long long vec_ldl (int, unsigned long long *)". * config/rs6000/rs6000.c (rs6000_init_builtins): Initialize new type tree bool_long_long_type_node and correct definition of bool_V2DI_type_node to make reference to this new type tree. (rs6000_mangle_type): Replace erroneous reference to bool_long_type_node with bool_long_long_type_node. * config/rs6000/rs6000.h (enum rs6000_builtin_type_index): Add comments to emphasize sign distinctions for char and int types and replace RS6000_BTI_bool_long constant with RS6000_BTI_bool_long_long constant. Also add comment to restrict use of RS6000_BTI_pixel. (bool_long_type_node): Remove this macro definition. (bool_long_long_type_node): New macro definition gcc/testsuite/ChangeLog: 2018-04-10 Kelvin Nilsen <kelvin@gcc.gnu.org> * gcc.target/powerpc/vec-ldl-1.c: New test. * gcc.dg/vmx/ops-long-1.c: Correct test programs to reflect corrections to ABI implementation. From-SVN: r259294
2018-04-10PR debug/65821 - wrong location for main().Jason Merrill5-31/+36
* call.c (clear_location_r, convert_default_arg): Revert. * tree.c (break_out_target_exprs): Add clear_location parm. (struct bot_data): New. (bot_manip): Clear location if requested. * init.c (get_nsdmi): Pass clear_location. From-SVN: r259291
2018-04-10[PR target/85056] Address -Wmaybe-uninitialized diagnosticThomas Schwinge2-0/+6
gcc/testsuite/ * gcc.target/nvptx/pr85056.c (main): Initialize "sum". From-SVN: r259288
2018-04-10cppopts.texi: Use "side effect" instead of side-effect.Martin Sebor7-30/+30
gcc/ChangeLog: * doc/cppopts.texi: Use "side effect" instead of side-effect. * doc/extend.texi: Same. * doc/generic.texi: Same. * doc/implement-c.texi: Same. * doc/invoke.texi: Same. * doc/md.texi: Same. * doc/rtl.texi: Same. * doc/tree-ssa.texi: Same. From-SVN: r259287
2018-04-10re PR rtl-optimization/85300 (ICE in exact_int_to_float_conversion_p, at ↵Jakub Jelinek4-4/+36
simplify-rtx.c:895) PR rtl-optimization/85300 * combine.c (subst): Handle subst of CONST_SCALAR_INT_P new_rtx also into FLOAT and UNSIGNED_FLOAT like ZERO_EXTEND, return a CLOBBER if simplify_unary_operation fails. * gcc.dg/pr85300.c: New test. From-SVN: r259285
2018-04-10gdbhooks: Add new pretty-printers for: varpool_node, symtab_node, ↵Martin Liska2-7/+52
cgraph_edge and ipa_ref. 2018-04-10 Martin Liska <mliska@suse.cz> * gdbhooks.py: Add pretty-printers for varpool_node, symtab_node, cgraph_edge and ipa_ref. From-SVN: r259283
2018-04-10Show pertinent parameter (PR c++/85110)David Malcolm8-14/+52
gcc/cp/ChangeLog: PR c++/85110 * call.c (get_fndecl_argument_location): Make non-static. * cp-tree.h (get_fndecl_argument_location): New decl. * typeck.c (convert_for_assignment): When complaining due to conversions for an argument, show the location of the parameter within the decl. gcc/testsuite/ChangeLog: PR c++/85110 * g++.dg/cpp1z/direct-enum-init1.C: Update for the cases where we now show the pertinent parameter. * g++.dg/diagnostic/aka2.C: Likewise. * g++.dg/diagnostic/param-type-mismatch-2.C: Likewise. From-SVN: r259282
2018-04-10PR c++/85312 - P0962 cleanupJakub Jelinek2-11/+8
PR c++/85312 - P0962 cleanup * parser.c (cp_parser_perform_range_for_lookup): Remove unreachable diagnostics. From-SVN: r259279
2018-04-10PR debug/65821 - wrong location for main().Jason Merrill4-16/+40
* call.c (clear_location_r): New. (convert_default_arg): Use it. * tree.c (bot_manip): Remove builtin_LINE/FILE handling. From-SVN: r259278
2018-04-10PR c++/85285 - ICE with flexible array after substitution.Jason Merrill3-0/+22
* pt.c (instantiate_class_template_1): Check for flexible array in union. From-SVN: r259277
2018-04-10* parser.c (cp_parser_check_template_parameters): Improve comment.Jason Merrill1-2/+2
From-SVN: r259276
2018-04-10re PR fortran/85313 (gcc/fortran/openmp.c: 2 * confused logic ?)Jakub Jelinek4-6/+38
PR fortran/85313 * openmp.c (resolve_omp_do): Remove bogus if (j < i) break;. (resolve_oacc_nested_loops): Likewise. Formatting fix. * gfortran.dg/gomp/pr85313.f90: New test. From-SVN: r259275
2018-04-10Fix obvious error in handling of error attribute (PR lto/85248).Martin Liska2-4/+7
2018-04-10 Martin Liska <mliska@suse.cz> PR lto/85248 * lto-symtab.c (lto_symtab_merge_p): Do not check for TREE_VALUES of error attributes. From-SVN: r259274
2018-04-10re PR c++/24314 (Extra "template<>" in partial specialization is compiled ↵Paolo Carlini2-0/+36
successfuly.) 2018-04-10 Paolo Carlini <paolo.carlini@oracle.com> PR c++/24314 * g++.dg/parse/template29.C: New. From-SVN: r259273
2018-04-10re PR testsuite/85190 (gcc.dg/vect/pr81196.c FAILs)Bin Cheng2-2/+7
gcc/testsuite PR testsuite/85190 * gcc.dg/vect/pr81196.c: Adjust pointer for aligned access. From-SVN: r259272
2018-04-10re PR target/85177 (wrong code with -O -fno-tree-ccp -fno-tree-sra -mavx512f)Jakub Jelinek5-9/+79
PR target/85177 PR target/85255 * config/i386/sse.md (<extract_type>_vinsert<shuffletype><extract_suf>_mask): Fix computation of the VEC_MERGE selector from mask. (<extract_type>_vinsert<shuffletype><extract_suf>_1<mask_name>): Fix decoding of the VEC_MERGE selector into mask. * gcc.target/i386/avx512f-pr85177.c: New test. * gcc.target/i386/avx512f-pr85255.c: New test. From-SVN: r259269