aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2017-02-20Ensure the mode used to create split registers is suppportedMatthew Fortune2-0/+26
gcc/ PR target/78012 * lra-constraints.c (split_reg): Check requested split mode is supported by the register. From-SVN: r245601
2017-02-20Partial revert of r243782 to restore previous behaviorMatthew Fortune2-1/+7
gcc/ * lra-constraints.c (simplify_operand_subreg): Remove early return false. From-SVN: r245600
2017-02-20Tighten condition for converting SUBREG reloads from OP_OUT to OP_INOUTMatthew Fortune2-1/+17
gcc/ PR target/78660 * lra-constraints.c (curr_insn_transform): Tighten condition for converting SUBREG reloads from OP_OUT to OP_INOUT. From-SVN: r245599
2017-02-20Handle WORD_REGISTER_OPERATIONS when reloading (subreg (reg))Matthew Fortune2-1/+15
gcc/ PR target/78660 * lra-constraints.c (curr_insn_transform): Handle WORD_REGISTER_OPERATIONS requirements when reloading SUBREGs. From-SVN: r245598
2017-02-20re PR fortran/79382 (DTIO ICE)Paul Thomas6-1/+117
2017-02-16 Paul Thomas <pault@gcc.gnu.org> PR fortran/79382 * decl.c (access_attr_decl): Test for presence of generic DTIO interface and emit error if not present. 2017-02-16 Paul Thomas <pault@gcc.gnu.org> PR fortran/79382 * io/transfer.c (check_dtio_proc): New function. (formatted_transfer_scalar_read): Use it. (formatted_transfer_scalar_write): ditto. 2017-02-16 Paul Thomas <pault@gcc.gnu.org> PR fortran/79382 * gfortran.dg/dtio_10.f90 : Change test of error message. * gfortran.dg/dtio_23.f90 : New test. * gfortran.dg/dtio_24.f90 : New test. From-SVN: r245596
2017-02-20re PR fortran/79434 ([submodules] separate module procedure breaks ↵Paul Thomas4-6/+83
encapsulation) 2017-02-20 Paul Thomas <pault@gcc.gnu.org> PR fortran/79434 * parse.c (check_component, parse_union): Whitespace. (set_syms_host_assoc): For a derived type, check if the module in which it was declared is one of the submodule ancestors. If it is, make the components public. Otherwise, reset attribute 'host_assoc' and set 'use-assoc' so that encapsulation is preserved. 2017-02-20 Paul Thomas <pault@gcc.gnu.org> PR fortran/79434 * gfortran.dg/submodule_25.f08 : New test. From-SVN: r245595
2017-02-20PR c++/78282 - auto template and pack expansionJason Merrill3-1/+35
* pt.c (find_parameter_packs_r): Don't walk into the type of templates other than template template-parameters. From-SVN: r245594
2017-02-20PR c++/79606 - ICE with this->base_member in NSDMIJason Merrill3-0/+18
* class.c (build_base_path): Check processing_template_decl. From-SVN: r245593
2017-02-20PR c++/79607 - ICE with T{} initializerJason Merrill3-0/+15
* decl.c (type_dependent_init_p): Check the type of a CONSTRUCTOR. From-SVN: r245592
2017-02-20PR c++/79566 - elaborated-type-specifier in range forJason Merrill3-1/+21
* parser.c (cp_parser_simple_declaration): Fix check for type definition. From-SVN: r245591
2017-02-20PR c++/79400 - confusing suggestion of 'noexcept'Jason Merrill2-2/+6
* parser.c (cp_parser_exception_specification_opt): Remove suggestion for deprecated dynamic exception-specification. From-SVN: r245590
2017-02-20PR c++/79470 - partial ordering with reference parametersJason Merrill3-0/+18
* pt.c (unify) [INDIRECT_REF]: Handle pack expansions. From-SVN: r245589
2017-02-20PR c++/79500 - ICE with non-template deduction guideJason Merrill3-2/+12
* pt.c (do_class_deduction): Use STRIP_TEMPLATE rather than DECL_TEMPLATE_RESULT. From-SVN: r245588
2017-02-20PR c++/79580 - ICE with compound literalJason Merrill3-1/+16
* parser.c (cp_parser_class_head): If we're in the middle of an expression, use ts_within_enclosing_non_class. From-SVN: r245587
2017-02-20PR c++/79503 - inherited ctor taking base classJason Merrill3-1/+30
* call.c (add_function_candidate): Also check that DECL_INHERITED_CTOR_BASE is reference-related to the parameter type. From-SVN: r245586
2017-02-20Daily bump.GCC Administrator1-1/+1
From-SVN: r245585
2017-02-19re PR fortran/79447 ([F08] gfortran rejects valid & accepts invalid internal ↵Paul Thomas4-6/+44
subprogram in a submodule) 2017-02-19 Paul Thomas <pault@gcc.gnu.org> PR fortran/79447 * decl.c (gfc_set_constant_character_len): Whitespace. (gfc_match_end): Catch case where a procedure is contained in a module procedure and ensure that 'end procedure' is the correct termination. 2017-02-19 Paul Thomas <pault@gcc.gnu.org> PR fortran/79447 * gfortran.dg/submodule_24.f08 : New test. From-SVN: r245582
2017-02-19re PR fortran/79229 (ICE in gfc_trans_assignment_1 with -fcheck=mem)Andre Vehreschild4-3/+33
gcc/testsuite/ChangeLog: 2017-02-19 Andre Vehreschild <vehre@gcc.gnu.org> PR fortran/79229 * gfortran.dg/class_allocate_24.f90: New test. gcc/fortran/ChangeLog: 2017-02-19 Andre Vehreschild <vehre@gcc.gnu.org> PR fortran/79229 * trans-expr.c (gfc_trans_assignment_1): Deref indirect refs when compiling with -fcheck=mem to check the pointer and not the data. From-SVN: r245581
2017-02-19re PR fortran/79402 (ICE with submodules: module procedure interface defined ↵Paul Thomas4-1/+75
in parent module) 2017-02-19 Paul Thomas <pault@gcc.gnu.org> PR fortran/79402 * resolve.c (fixup_unique_dummy): New function. (gfc_resolve_expr): Call it for dummy variables with a unique symtree name. 2017-02-19 Paul Thomas <pault@gcc.gnu.org> PR fortran/79402 * gfortran.dg/submodule_23.f90: New test. From-SVN: r245580
2017-02-19re PR fortran/79335 (Conditional jump or move depends on uninitialised in ↵Andre Vehreschild3-5/+18
value get_scalar_to_descriptor_type(tree_node*, symbol_attribute) (trans-expr.c:53)) gcc/fortran/ChangeLog: 2017-02-19 Andre Vehreschild <vehre@gcc.gnu.org> PR fortran/79335 * trans-array.c (duplicate_allocatable_coarray): Ensure attributes passed are properly initialized. (structure_alloc_comps): Same. * trans-expr.c (gfc_trans_structure_assign): Same. From-SVN: r245579
2017-02-19re PR c++/79380 (ICE on C++11 code with illegal alignas specifier on ↵Paolo Carlini4-0/+24
x86_64-linux-gnu: unexpected expression ‘f’ of kind overload) /cp 2017-02-19 Paolo Carlini <paolo.carlini@oracle.com> PR c++/79380 * typeck.c (cxx_alignas_expr): Reject a non-integral alignas argument. /testsuite 2017-02-19 Paolo Carlini <paolo.carlini@oracle.com> PR c++/79380 * g++.dg/cpp0x/alignas8.C: New. From-SVN: r245578
2017-02-19Revert:Uros Bizjak2-1/+8
2016-05-30 Uros Bizjak <ubizjak@gmail.com> * config/i386/sync.md (mfence_nosse): Use "lock orl $0, -4(%esp)". From-SVN: r245577
2017-02-19PR c++/69523 make -Wliteral-suffix control warningJonathan Wakely6-2/+39
gcc: PR c++/69523 * doc/invoke.texi (C++ Dialect Options) [-Wliteral-suffix]: Update description. gcc/cp: 2017-02-19 Eric Fiselier <eric@efcs.ca> Jonathan Wakely <jwakely@redhat.com> PR c++/69523 * parser.c (cp_parser_unqualified_id): Use OPT_Wliteral_suffix to control warning about literal suffix identifiers without a leading underscore. gcc/testsuite: 2017-02-19 Eric Fiselier <eric@efcs.ca> Jonathan Wakely <jwakely@redhat.com> PR c++/69523 * g++.dg/cpp0x/Wliteral-suffix2.C: New test. From-SVN: r245574
2017-02-19gimple-parser.c (c_parser_gimple_postfix_expression): Check return value of ↵Prathamesh Kulkarni2-0/+15
c_parser_parse_ssa_name against error_mark_node and emit... 2017-02-19 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> * gimple-parser.c (c_parser_gimple_postfix_expression): Check return value of c_parser_parse_ssa_name against error_mark_node and emit error if ssa name is anonymous and written as default definition. From-SVN: r245571
2017-02-19gimple-pretty-print.c (dump_ternary_rhs): Adjust gimple dump format for ↵Prathamesh Kulkarni6-5/+70
FMA_EXPR. 2017-02-19 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> * gimple-pretty-print.c (dump_ternary_rhs): Adjust gimple dump format for FMA_EXPR. c/ * gimple-parser.c (c_parser_gimple_postfix_expression): Handle FMA_EXPR. testsuite/ * gcc.dg/gimplefe-26.c: New test. From-SVN: r245570
2017-02-19Daily bump.GCC Administrator1-1/+1
From-SVN: r245569
2017-02-18final.c (last_columnnum, [...]): New variables.Jakub Jelinek10-47/+143
* final.c (last_columnnum, override_columnnum): New variables. (final_start_function): Set last_columnnum, pass it to begin_prologue hook and pass 0 to dwarf2out_begin_prologue. (final_scan_insn): Update override_columnnum. Pass last_columnnum to source_line debug hook. (notice_source_line): Compute last_columnnum and for debug_column_info return true on column changes. * debug.h (struct gcc_debug_hooks): Add column argument to source_line and begin_prologue hooks. (debug_nothing_int_charstar_int_bool): Remove prototype. (debug_nothing_int_int_charstar, debug_nothing_int_int_charstar_int_bool): New prototypes. (dwarf2out_begin_prologue): Add column argument. * debug.c (do_nothing_debug_hooks): Adjust source_line and begin_prologue hooks. (debug_nothing_int_charstar_int_bool): Remove. (debug_nothing_int_int_charstar, debug_nothing_int_int_charstar_int_bool): New functions. * dwarf2out.c (dwarf2out_begin_prologue): Add column argument, pass it through to dwarf2out_source_line. (dwarf2_lineno_debug_hooks): Adjust begin_prologue hook. (dwarf2out_source_line): Add column argument, emit it if requested. * sdbout.c (sdbout_source_line, sdbout_begin_prologue): Add column arguments. * xcoffout.h (xcoffout_begin_prologue, xcoffout_source_line): Likewise. * xcoffout.c (xcoffout_begin_prologue, xcoffout_source_line): Likewise. * vmsdbgout.c (vmsdbgout_begin_prologue): Add column argument, pass it through to dwarf2out_begin_prologue. (vmsdbgout_source_line): Add column argument, pass it through to dwarf2out_source_line. * dbxout.c (dbxout_begin_prologue): Add column argument, adjust dbxout_source_line caller. (dbxout_source_line): Add column argument. From-SVN: r245564
2017-02-18common.opt (gno-column-info, [...]): New options.Jakub Jelinek4-6/+60
* common.opt (gno-column-info, gcolumn-info): New options. * dwarf2out.c (dwarf2_lineno_debug_hooks): Formatting fix. (check_die): Also test for multiple DW_AT_decl_column attributes. (add_src_coords_attributes, dwarf2out_imported_module_or_decl_1): Add DW_AT_decl_column if requested. (gen_subprogram_die): Compare and/or add also DW_AT_decl_column if requested. (gen_variable_die): Likewise. (add_call_src_coords_attributes): Add DW_AT_call_column if requested. * doc/invoke.texi (-gcolumn-info, -gno-column-info): Document. From-SVN: r245563
2017-02-18thread_local-order2.C: xfail on hppa*-*-hpux*.John David Anglin2-1/+5
* g++.dg/tls/thread_local-order2.C: xfail on hppa*-*-hpux*. From-SVN: r245562
2017-02-18re PR target/79569 (Unrecognized command line option ‘-m3dnowa’)Jakub Jelinek7-12/+46
PR target/79569 * config/i386/i386.opt (m3dnowa): Replace Undocumented with Report. * common/config/i386/i386-common.c (OPTION_MASK_ISA_3DNOW_A_SET): Define. (ix86_handle_option): Handle OPT_m3dnowa. * doc/invoke.texi (-m3dnowa): Document. * doc/extend.texi (__builtin_ia32_pmulhuw, __builtin_ia32_pf2iw): Use -m3dnowa instead of -m3dnow -march=athlon. * gcc.target/i386/3dnowA-3.c: New test. From-SVN: r245561
2017-02-18re PR target/79559 (ICE in ix86_print_operand, at config/i386/i386.c:18189)Jakub Jelinek4-15/+49
PR target/79559 * config/i386/i386.c (ix86_print_operand): Use output_operand_lossage instead of gcc_assert for K, r and R code checks. Formatting fixes. * gcc.target/i386/pr79559.c: New test. From-SVN: r245560
2017-02-18Daily bump.GCC Administrator1-1/+1
From-SVN: r245558
2017-02-17Restore DECIMAL_DIG macro to C99/C11 value.Joseph Myers11-32/+27
By extending the set of floating types, TS 18661-3 thereby affected the definition of DECIMAL_DIG, which is defined in terms of the "widest supported floating type". This is not conditional on whether __STDC_WANT_IEC_60559_TYPES_EXT__ is defined when <float.h> is included. I raised this possible incompatibility with C11 (an implementation should be able to conform simultaneously with C11, and with C11 + TS 18661) in DR#501. This is not yet resolved, but the latest proposal <http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2108.pdf> would obsolete DECIMAL_DIG with the intention of limiting it to the C11 types (so making it equivalent to LDBL_DECIMAL_DIG). (This proposal is intended to go along with a corresponding change to TS 18661-3 to avoid the new types and non-arithmetic interchange encodings affecting the value of DECIMAL_DIG.) To avoid releasing GCC 7 with a wider-than-C11 value of DECIMAL_DIG and possibly reverting back to a C11 value in a future release, this patch reverts back to the C11 value now. If the proposed resolution to DR#501 changes again so that DECIMAL_DIG *should* have a wider-than-C11 value, we can move back to a wider-than-C11 value in GCC 8. Bootstrapped with no regressions on x86_64-pc-linux-gnu. gcc/c-family: * c-cppbuiltin.c (builtin_define_float_constants): Define __DECIMAL_DIG__ to the value for long double. gcc/testsuite: * gcc.dg/c11-float-2.c: New test. * gcc.dg/torture/float128-floath.c, gcc.dg/torture/float128x-floath.c, gcc.dg/torture/float16-floath.c, gcc.dg/torture/float32-floath.c, gcc.dg/torture/float32x-floath.c, gcc.dg/torture/float64-floath.c, gcc.dg/torture/float64x-floath.c: Do not test comparison of *_DECIMAL_DIG macros with DECIMAL_DIG. From-SVN: r245555
2017-02-17PR c++/79508 - lookup error with member templateJason Merrill3-1/+33
* parser.c (cp_parser_template_name): Clear parser->context->object_type if we aren't doing lookup. From-SVN: r245553
2017-02-17PR c++/78690 - ICE with using and global type with same nameJason Merrill3-0/+25
* pt.c (type_dependent_object_expression_p): True for IDENTIFIER_NODE. From-SVN: r245549
2017-02-17re PR target/79261 (vec_xxpermdi appears to have endian issues)Bill Schmidt6-6/+125
[gcc] 2017-02-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com> PR target/79261 * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Add support for CODE_FOR_vsx_xxpermdi_v2d[fi]_be. * config/rs6000/rs6000.md (reload_gpr_from_vsx<mode>): Call generator for vsx_xxpermdi_<mode>_be. * config/rs6000/vsx.md (vsx_xxpermdi_<mode>): Remove logic to force big-endian semantics. (vsx_xxpermdi_<mode>_be): New define_expand with same implementation as previous version of vsx_xxpermdi_<mode>. [gcc/testsuite] 2017-02-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com> PR target/79261 * gcc.target/powerpc/vec-xxpermdi.c: New file. From-SVN: r245545
2017-02-17PR c++/79549 - C++17 ICE with non-type auto template parameter packJason Merrill3-2/+23
* pt.c (convert_template_argument): Just return an auto arg pack. (tsubst_template_args): Don't tsubst an auto pack type. From-SVN: r245544
2017-02-17PR c++/79556 - C++17 ICE with non-type autoJason Merrill3-0/+15
* pt.c (do_auto_deduction): Don't try to deduce from null type. From-SVN: r245543
2017-02-17re PR tree-optimization/79327 (wrong code at -O2 and -fprintf-return-value)Jakub Jelinek2-20/+15
PR tree-optimization/79327 * gimple-ssa-sprintf.c (format_integer): Remove likely_adjust variable, its initialization and use. From-SVN: r245542
2017-02-17i386-common.c (OPTION_MASK_ISA_RDPID_SET): New.Julia Koval20-10/+113
* common/config/i386/i386-common.c (OPTION_MASK_ISA_RDPID_SET): New. (OPTION_MASK_ISA_PKU_UNSET): New. (ix86_handle_option): Handle -mrdpid. * config/i386/cpuid.h (bit_RDPID): New. * config/i386/driver-i386.c (host_detect_local_cpu): Detect RDPID feature. * config/i386/i386-builtin.def (__builtin_ia32_rdpid): New. * config/i386/i386-c.c (ix86_target_macros_internal): Handle RDPID flag. * config/i386/i386.c (ix86_target_string): Add -mrdpid to isa2_opts. (ix86_valid_target_attribute_inner_p): Add "rdpid". (ix86_expand_builtin): Handle IX86_BUILTIN_RDPID. * config/i386/i386.h (TARGET_RDPID, TARGET_RDPID_P): New. * config/i386/i386.md (define_insn "rdpid"): New. * config/i386/i386.opt Add -mrdpid. * config/i386/immintrin.h (_rdpid_u32): New. testsuite/ChangeLog: * gcc.target/i386/rdpid.c New test. * gcc.target/i386/sse-12.c: Add -mrdpid. * gcc.target/i386/sse-13.c: Ditto. * gcc.target/i386/sse-14.c: Ditto. * gcc.target/i386/sse-22.c: Ditto. * gcc.target/i386/sse-23.c: Ditto. * g++.dg/other/i386-2.C: Ditto. * g++.dg/other/i386-3.C: Ditto. From-SVN: r245540
2017-02-17PR c++/79533 - C++17 ICE with temporary cast to referenceJason Merrill3-1/+25
* call.c (build_over_call): Conversion to a reference prevents copy elision. From-SVN: r245538
2017-02-17re PR rtl-optimization/79541 (lra reads uninitialized memory (with invalid ↵Vladimir Makarov2-3/+9
input)) 2017-02-17 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/79541 * lra-constraints.c (curr_insn_transform): Remove wrong asm insn instead of transforming it into USE. From-SVN: r245536
2017-02-17libgo: update to final Go 1.8 releaseIan Lance Taylor1-1/+1
Along with the update this fixes a problem that was always present but only showed up with the new reflect test. When a program used a **unsafe.Pointer and stored the value in an interface type, the generated type descriptor pointed to the GC data for *unsafe.Pointer. It did that by name, but we were not generating a variable with the right name. Reviewed-on: https://go-review.googlesource.com/37144 From-SVN: r245535
2017-02-17rs6000: Fix extendsfdf2 for signaling NaNsSegher Boessenkool2-4/+26
A cast from float to double should turn a signaling NaN into a quiet NaN, if using -fsignaling-nans. On PowerPC single-precision floats are stored as double precision in registers, and so, the cast normally does nothing. This causes gcc.dg/pr59833.c to fail (it does such a cast, and expects a quiet NaN as output). This patch adds a new pattern, used with -fsignaling-nans in effect, that creates an frsp instruction (or xsrsp) in this case. Since the input already is SFmode, that instruction turns signaling NaNs into quiet NaNs and does nothing more. * config/rs6000/rs6000.md (extendsfdf2): Remove default arguments. If HONOR_SNANS (SFmode) force the input to a register. (*extendsfdf2_fpr): Add !HONOR_SNANS (SFmode) condition. (*extendsfdf2_snan): New pattern, used when using SNaNs; it generates an frsp or similar insn. From-SVN: r245534
2017-02-17testsuite: pr59833.c and pr61441.c should use -fsignaling-nansSegher Boessenkool3-2/+7
The testcases pr59833.c and pr61441.c check whether signaling NaNs as input to some operation result in quiet NaNs. Without -fsignaling-nans this is not guaranteed to happen. So, this patch add this option to these testcases. * gcc.dg/pr59833.c: Add -fsignaling-nans to options. * gcc.dg/pr61441.c: Ditto. From-SVN: r245533
2017-02-17Increase minimum for a param (PR rtl-optimization/79577).Martin Liska2-1/+6
2017-02-17 Martin Liska <mliska@suse.cz> PR rtl-optimization/79577 * params.def (selsched-max-sched-times): Increase minimum to 1. From-SVN: r245532
2017-02-17Use HOST_WIDE_INT for a param calculation (PR rtl-optimization/79574).Martin Liska4-2/+23
2017-02-17 Martin Liska <mliska@suse.cz> PR rtl-optimization/79574 * gcc.dg/pr79574.c: New test. 2017-02-17 Martin Liska <mliska@suse.cz> PR rtl-optimization/79574 * gcse.c (want_to_gcse_p): Prevent integer overflow. From-SVN: r245531
2017-02-17Introduce ssa_defined_default_def_p function (PR tree-optimization/79529).Martin Liska4-10/+33
2017-02-17 Martin Liska <mliska@suse.cz> PR tree-optimization/79529 * tree-ssa-loop-unswitch.c (is_maybe_undefined): Use ssa_defined_default_def_p to handle cases which are implicitly defined. * tree-ssa.c (ssa_defined_default_def_p): New function. (ssa_undefined_value_p): Use ssa_defined_default_def_p to handle cases which are implicitly defined. * tree-ssa.h (ssa_defined_default_def_p): Declare. From-SVN: r245530
2017-02-17re PR tree-optimization/79576 (ICE in gimple_stmt_nonnegative_warnv_p in ↵Richard Biener2-1/+6
gcc/gimple-fold.c:6979) 2017-02-17 Richard Biener <rguenther@suse.de> PR middle-end/79576 * params.def (max-ssa-name-query-depth): Limit to 10. From-SVN: r245529
2017-02-17re PR inline-asm/79552 (Wrong code generation due to -fschedule-insns, with ↵Richard Biener2-2/+14
__restrict__ and inline asm) 2017-02-17 Richard Biener <rguenther@suse.de> PR tree-optimization/79552 * tree-ssa-structalias.c (visit_loadstore): Properly verify default defs. From-SVN: r245528