- 01 Mar, 2018 4 commits
-
-
2018-03-01 Richard Sandiford <richard.sandiford@linaro.org> gcc/testsuite/ PR rtl-optimization/84528 * gcc.dg/torture/pr84538.c: Rename to... * gcc.dg/torture/pr84528.c: ...this. From-SVN: r258095
Richard Sandiford committed -
RTL code needs to be consistent about whether it uses the stack pointer, the frame pointer or the argument pointer to access a given part of the frame. alias.c used this to divide accesses into three independent areas. The problem in the PR is that we did this for HARD_FRAME_POINTER_REGNUM even when the register wasn't being used as a frame pointer. We can't do that because the frame pointer is then just any old allocatable register and could certainly point to info accessed through the argument pointer or stack pointer. 2018-03-01 Richard Sandiford <richard.sandiford@linaro.org> gcc/ PR rtl-optimization/84538 * alias.c (init_alias_target): Add commentary. (init_alias_analysis): Only give HARD_FRAME_POINTER_REGNUM a unique base value if the frame pointer is not eliminated to the stack pointer. gcc/testsuite/ PR rtl-optimization/84538 * gcc.dg/torture/pr84538.c: New test. From-SVN: r258094
Richard Sandiford committed -
2018-03-01 Tom de Vries <tom@codesourcery.com> PR rtl-optimization/83327 * lra-int.h (hard_regs_spilled_into): Declare. * lra.c (hard_regs_spilled_into): Define. (init_reg_info): Init hard_regs_spilled_into. * lra-spills.c (assign_spill_hard_regs): Update hard_regs_spilled_into. * lra-lives.c (make_hard_regno_born, make_hard_regno_dead) (process_bb_lives): Handle hard_regs_spilled_into. (lra_create_live_ranges_1): Before doing liveness propagation, clear regs in all_hard_regs_bitmap if set in hard_regs_spilled_into. From-SVN: r258093
Tom de Vries committed -
From-SVN: r258092
GCC Administrator committed
-
- 28 Feb, 2018 31 commits
-
-
gcc/testsuite/ChangeLog: * c-c++-common/Warray-bounds-2.c: Declare helper static to avoid -fpic test failures. * c-c++-common/Wrestrict-2.c: Same. * c-c++-common/Wstringop-truncation.c: Same. * gcc.dg/Warray-bounds-22.c: Same. * gcc.dg/Wstringop-overflow.c: Same. * gcc.dg/attr-alloc_size-3.c (unsigned_range): Same. (signed_range): Same. (unsigned_anti_range): Same. * gcc.dg/attr-alloc_size-4.c (unsigned_range): Same. (signed_range): Same. (unsigned_anti_range): Same. * gcc.dg/attr-alloc_size-7.c: Same. * gcc.dg/attr-alloc_size-8.c: Same. * gcc.dg/builtin-alloc-size.c: Same. * gcc.dg/builtin-stpncpy.c: Same. * gcc.dg/builtins-nonnull.c: Same. * gcc.dg/nonnull-4.c (g16_1_3_5_7_11_13): Same. * gcc.dg/pr79214.c: Same. * gcc.dg/tree-ssa/builtin-snprintf-warn-1.c: Same. * gcc.dg/tree-ssa/builtin-snprintf-warn-2.c: Same. * gcc.dg/tree-ssa/builtin-sprintf-5.c: Same. * gcc.dg/tree-ssa/builtin-sprintf-warn-11.c: Same. * gcc.dg/tree-ssa/builtin-sprintf-warn-12.c: Same. * gcc.dg/tree-ssa/builtin-sprintf-warn-13.c: Same. * gcc.dg/tree-ssa/builtin-sprintf-warn-14.c: Same. * gcc.dg/tree-ssa/builtin-sprintf-warn-15.c: Same. * gcc.dg/tree-ssa/builtin-sprintf-warn-19.c: Same. * gcc.dg/tree-ssa/builtin-sprintf-warn-3.c: Same. * gcc.dg/tree-ssa/builtin-sprintf-warn-9.c: Same. From-SVN: r258089
Martin Sebor committed -
* pt.c (determine_specialization): Check ref-qualifier. From-SVN: r258085
Jason Merrill committed -
* config.gcc (powerpc-ibm-aix7.1.*): New stanza. (powerpc-ibm-aix[789]*): Default to AIX 7.2. * config/rs6000/aix71.h (TARGET_DEFAULT): Revert to Power4 ISA. * config/rs6000/aix72.h: New file. From-SVN: r258082
David Edelsohn committed -
PR target/84014 * gcc.target/powerpc/pr84014.c: Use ilp32, not -m32 option. From-SVN: r258081
David Edelsohn committed -
re PR c++/84609 (internal compiler error: in cp_parser_abort_tentative_parse, at cp/parser.c:28960 (cp_parser_member_declaration())) PR c++/84609 * parser.c (cp_parser_attributes_opt): Formatting fix. (cp_parser_skip_balanced_tokens, cp_parser_skip_gnu_attributes_opt, cp_parser_skip_std_attribute_spec_seq, cp_parser_skip_attributes_opt): New functions. (cp_parser_member_declaration): Use cp_parser_skip_attributes_opt instead of tentative parse to peek over optional attribute tokens to check for CPP_COLON after them. * g++.dg/cpp0x/pr84609.C: New test. From-SVN: r258080
Jakub Jelinek committed -
PR c++/83871 PR c++/83503 * pt.c (INCLUDE_STRING): Remove define. (warn_spec_missing_attributes): Use pretty_printer instead of std::string. Fix up inform call so that the list of attributes is in %s argument. From-SVN: r258079
Jakub Jelinek committed -
gimple-ssa-warn-restrict.c (maybe_diag_overlap): Use warning_n instead of warning_at with conditional singular and plural... * gimple-ssa-warn-restrict.c (maybe_diag_overlap): Use warning_n instead of warning_at with conditional singular and plural messages where possible. From-SVN: r258078
Jakub Jelinek committed -
gcc/cp/ChangeLog: * decl.c (duplicate_decls): Fully merge attributes const, pure, and malloc. gcc/testsuite/ChangeLog: * g++.dg/ext/attr-malloc-3.C: New test. * g++.dg/ext/attr-const.C: Adjust. Xfail assertions failing due to pre-existing problems. * g++.dg/ext/attr-pure.C: Same. From-SVN: r258077
Martin Sebor committed -
2018-02-28 Paul Thomas <pault@gcc.gnu.org> PR fortran/83901 * trans-stmt.c (trans_associate_var): Make sure that the se expression is a pointer type before converting it to the symbol backend_decl type. 2018-02-28 Paul Thomas <pault@gcc.gnu.org> PR fortran/83901 * gfortran.dg/associate_37.f90: New test. PR fortran/83344 * gfortran.dg/associate_36.f90: Add Steve Kargl as contributer. From-SVN: r258076
Paul Thomas committed -
PR target/52991 * stor-layout.c (update_alignment_for_field): For targetm.ms_bitfield_layout_p (rli->t), if !is_bitfield && !DECL_PACKED (field), do the alignment update, just use only desired_align instead of MAX (type_align, desired_align) as the alignment. (place_field): Don't do known_align < desired_align handling early if targetm.ms_bitfield_layout_p (rli->t) and rli->prev_field is non-NULL, instead do it after rli->prev_field handling and only if not within a bitfield word. For DECL_PACKED (field) use type_align of BITS_PER_UNIT. * gcc.dg/bf-ms-layout.c: Revert 2012-04-26 changes. * gcc.dg/bf-ms-layout-2.c: Revert 2012-02-23 changes. * gcc.dg/bf-ms-layout-4.c: New test. * gcc.dg/bf-ms-layout-5.c: New test. From-SVN: r258075
Jakub Jelinek committed -
* config/aarch64/aarch64.c (aarch64_emit_probe_stack_range): Remove superfluous parentheses and trailing spaces. From-SVN: r258074
Eric Botcazou committed -
Revision 258001 doesn't change config/i386/i386.opt. From-SVN: r258073
H.J. Lu committed -
PR target/83399 * gcc.target/powerpc/pr83399.c: Only run on Linux. From-SVN: r258071
Peter Bergner committed -
2018-02-28 Richard Biener <rguenther@suse.de> PR tree-optimization/84584 * graphite-scop-detection.c (scop_detection::add_scop): Discard SCoPs with fake exit edge. * gcc.dg/graphite/pr84584.c: New testcase. From-SVN: r258070
Richard Biener committed -
gcc/testsuite: PR preprocessor/84517 * g++.dg/cpp0x/udlit-macros.C: Expect a warning for ""__FILE__. libcpp: PR preprocessor/84517 * lex.c (is_macro_not_literal_suffix): New function. (lex_raw_string, lex_string): Use is_macro_not_literal_suffix to decide when to issue -Wliteral-suffix warnings. From-SVN: r258069
Jonathan Wakely committed -
ada/ * libgnat/i-cexten.ads (Float_128): New type. c-family/ * c-ada-spec.c (dump_ada_node) <NULLPTR_TYPE>: New case. <REAL_TYPE>: Deal specifically with _Float128/__float128. From-SVN: r258068
Eric Botcazou committed -
* c-ada-spec.c (dump_ada_double_name) <ENUMERAL_TYPE>: New case. (is_char_array): Take a type instead of a declaration. (dump_ada_array_type): Likewise. (is_simple_enum): Minor tweak. (dump_ada_enum_type): New function extracted from... (dump_ada_node) <ENUMERAL_TYPE>: ...here. Invoke it. <INTEGER_TYPE>: Remove unreachable code. <RECORD_TYPE>: Likewise. Minor tweaks. (dump_nested_type) <ARRAY_TYPE>: Adjust to above changes. <ENUMERAL_TYPE>: New case. <RECORD_TYPE>: Factor out common code. (dump_ada_declaration) <ARRAY_TYPE>: Adjust to above changes. Minor tweaks. Deal with enumeral types. (dump_ada_structure): Minor tweaks. From-SVN: r258067
Eric Botcazou committed -
* c-ada-spec.c (dump_ada_node) <POINTER_TYPE>: Do not use generic address for incomplete structures. (dump_forward_type): Do not bail out for incomplete structures. (dump_ada_declaration): Do not special-case incomplete structures for subtypes. Dump them as null records for types. From-SVN: r258066
Eric Botcazou committed -
* c-ada-spec.c (dump_ada_import): Use boolean and fix formatting. (is_char_array): Fix formatting. (dump_template_types): Likewise. (dump_generic_ada_node): Rename into... (dump_ada_node): ...this. <POINTER_TYPE>: Remove superfluous space. Use generic address for incomplete structures and not for empty structures. Do not use it when forward declarations are needed. (dump_forward_type): New function. (dump_nested_types): Remove FORWARD parameter. Do not consider TREE_VISITED and do not generate a forward declaration. Only dump original nested types for nested declaration. (dump_nested_type) <POINTER_TYPE>: Call dump_forward_type. <ARRAY_TYPE>: Likewise if the component type is an anonymous pointer. <RECORD_TYPE>: Do not consider TREE_VISITED. (dump_ada_declaration): Use booleans and fix formatting throughout. <TYPE_DECL>: Skip incomplete structures and not empty structures. Call dump_forward_type instead of dump_nested_types for a typedef. Remove superfluous check and adjust call to dump_nested_types. <POINTER_TYPE>: Call dump_forward_type and fall through. (dump_ada_struct_decl): Rename into... (dump_ada_structure): ...this. Do not special-case empty structures. From-SVN: r258064
Eric Botcazou committed -
2018-02-28 Martin Liska <mliska@suse.cz> PR testsuite/84597 * timevar.c (timer::print): Fix format to properly print 100% values. 2018-02-28 Martin Liska <mliska@suse.cz> PR testsuite/84597 * g++.dg/ext/timevar1.C: Fix pruned patterns. * g++.dg/ext/timevar2.C: Likewise. From-SVN: r258063
Martin Liska committed -
* c-ada-spec.c (dump_ada_import): Use boolean and fix formatting. (is_char_array): Fix formatting. (dump_template_types): Likewise. (dump_generic_ada_node): Rename into... (dump_ada_node): ...this. <POINTER_TYPE>: Remove superfluous space. Use generic address for incomplete structures and not for empty structures. Do not use it when forward declarations are needed. (dump_forward_type): New function. (dump_nested_types): Remove FORWARD parameter. Do not consider TREE_VISITED and do not generate a forward declaration. Only dump original nested types for nested declaration. (dump_nested_type) <POINTER_TYPE>: Call dump_forward_type. <ARRAY_TYPE>: Likewise if the component type is an anonymous pointer. <RECORD_TYPE>: Do not consider TREE_VISITED. (dump_ada_declaration): Use booleans and fix formatting throughout. <TYPE_DECL>: Skip incomplete structures and not empty structures. Call dump_forward_type instead of dump_nested_types for a typedef. Remove superfluous check and adjust call to dump_nested_types. <POINTER_TYPE>: Call dump_forward_type and fall through. (dump_ada_struct_decl): Rename into... (dump_ada_structure): ...this. Do not special-case empty structures. From-SVN: r258062
Eric Botcazou committed -
2018-02-28 Richard Biener <rguenther@suse.de> PR middle-end/84607 * genmatch.c (capture_info::walk_match): Do not mark captured expressions without operands as expr_p given they act more like predicates and should be subject to "lost tail" side-effect preserving. * gcc.dg/pr84607.c: New testcase. From-SVN: r258061
Richard Biener committed -
https://gcc.gnu.org/ml/gcc-patches/2018-02/msg01577.html PR c++/84602 * name-lookup.h (search_anon_aggr): Add defaulted WANT_TYPE arg. * name-lookup.c (fields_linear_search): Look in an anon-aggr regardless of want_type. (search_anon_aggr): Just use get_class_binding_direct. PR c++/84602 * g++.dg/lookup/pr84602.C: New. From-SVN: r258060
Nathan Sidwell committed -
PR c++/83871 PR c++/83503 * g++.dg/ext/attr-warning.C: Remove -fdump-tree-optimized from dg-options. * g++.dg/ext/attr-nonnull.C: Likewise. * g++.dg/ext/attr-noinline.C: Fix syntax in scan-tree-dump-not directives. * g++.dg/ext/attr-noinline-2.C: Likewise. * g++.dg/ext/attr-noreturn-2.C: Use -fdump-tree-optimized instead of -fdump-tree-eh in dg-options. From-SVN: r258059
Jakub Jelinek committed -
* decl.c (cp_finish_decomp): Don't adjust eltscnt when calling inform_n. From-SVN: r258058
Jakub Jelinek committed -
re PR debug/83917 (with -mcall-ms2sysv-xlogues, stepping into x86 tail-call restore stub gives bad backtrace) PR debug/83917 * configure.ac (AS_HIDDEN_DIRECTIVE): AC_DEFINE_UNQUOTED this to $asm_hidden_op if visibility ("hidden") attribute works. (HAVE_AS_CFI_SECTIONS): New AC_DEFINE. * config/i386/i386-asm.h: Don't include auto-host.h. (PACKAGE_VERSION, PACKAGE_NAME, PACKAGE_STRING, PACKAGE_TARNAME, PACKAGE_URL): Don't undefine. (USE_GAS_CFI_DIRECTIVES): Don't use nor define this macro, instead guard cfi_startproc only on ifdef __GCC_HAVE_DWARF2_CFI_ASM. (FN_HIDDEN): Change guard from #ifdef HAVE_GAS_HIDDEN to #ifdef AS_HIDDEN_DIRECTIVE, use AS_HIDDEN_DIRECTIVE macro in the definition instead of hardcoded .hidden. * config/i386/cygwin.S: Include i386-asm.h first before .cfi_sections directive. Use #ifdef HAVE_AS_CFI_SECTIONS rather than #ifdef HAVE_GAS_CFI_SECTIONS_DIRECTIVE to guard .cfi_sections. (USE_GAS_CFI_DIRECTIVES): Don't define. * configure: Regenerated. * config.in: Likewise. From-SVN: r258057
Jakub Jelinek committed -
GNU ld error messages have changed to comply with the GNU coding standards. * lib/prune.exp (prune_gcc_output): Match lower case "in function" GNU ld message. * g++.dg/other/anon5.C: Match lower case "bad value" GNU ld message. From-SVN: r258054
Alan Modra committed -
When the addressing modes available on the machine don't allow offsets in addresses, odds are that post-increments will be represented in trees and RTL as: y <= x + 1 ... *(x) ... x <= y so deal with it by turning such RTL as: (set y (plus x n)) ... (mem x) ... without intervening uses of y into (set y x) ... (mem (post_add y n)) ... so as to create auto-inc addresses that we'd otherwise miss. for gcc/ChangeLog PR rtl-optimization/81611 * auto-inc-dec.c (attempt_change): Move dead note from mem_insn if it's the next use of regno (find_address): Take address use of reg holding non-incremented value. Add parm to limit search to the named reg only. (merge_in_block): Attempt to use a mem insn that is the next use of the original regno. From-SVN: r258053
Alexandre Oliva committed -
Reviewed-on: https://go-review.googlesource.com/97357 From-SVN: r258052
Ian Lance Taylor committed -
Reviewed-on: https://go-review.googlesource.com/97517 From-SVN: r258051
Ian Lance Taylor committed -
From-SVN: r258050
GCC Administrator committed
-
- 27 Feb, 2018 5 commits
-
-
From-SVN: r258046
Martin Sebor committed -
PR c++/83871 - wrong code for attribute const and pure on distinct template specializations PR c++/83503 - [8 Regression] bogus -Wattributes for const and pure on function template specialization gcc/ChangeLog: PR c++/83871 * gcc/doc/invoke.texi (-Wmissing-attributes): New option. * gcc/print-tree.c (print_node): Handle DECL_UNINLINABLE. gcc/c-family/ChangeLog: PR c++/83871 * c.opt (-Wmissing-attributes): New option. gcc/cp/ChangeLog: PR c++/83871 PR c++/83503 * cp-tree.h (warn_spec_missing_attributes): New function. ((check_explicit_specialization): Add an argument. Call the above function. * decl.c (duplicate_decls): Avoid applying primary function template's attributes to its explicit specializations. cp/pt.c (warn_spec_missing_attributes): Define. gcc/testsuite/ChangeLog: PR c++/83871 PR c++/83503 * g++.dg/Wmissing-attributes.C: New test. * g++.dg/ext/attr-const-pure.C: New test. * g++.dg/ext/attr-const.C: New test. * g++.dg/ext/attr-deprecated-2.C: New test. * g++.dg/ext/attr-malloc-2.C: New test. * g++.dg/ext/attr-malloc.C: New test. * g++.dg/ext/attr-noinline-2.C: New test. * g++.dg/ext/attr-noinline.C: New test. * g++.dg/ext/attr-nonnull.C: New test. * g++.dg/ext/attr-noreturn-2.C: New test. * g++.dg/ext/attr-noreturn.C: New test. * g++.dg/ext/attr-nothrow-2.C: New test. * g++.dg/ext/attr-nothrow.C: New test. * g++.dg/ext/attr-optimize.C: New test. * g++.dg/ext/attr-pure.C: New test. * g++.dg/ext/attr-returns-nonnull.C: New test. * g++.dg/ext/attr-warning.C: New test. From-SVN: r258045
Martin Sebor committed -
gcc/ChangeLog: PR translation/84207 * diagnostic-core.h (warning_n, error_n, inform_n): Change n argument to unsigned HOST_WIDE_INT. * diagnostic.c (warning_n, error_n, inform_n): Ditto. (diagnostic_n_impl): Ditto. Handle arguments in excess of LONG_MAX. * gimple-ssa-sprintf.c (format_directive): Simplify inform_n call. * tree-ssa-strlen.c (maybe_diag_stxncpy_trunc): Use warning_n. From-SVN: r258044
Martin Sebor committed -
* parser.c (cp_parser_lambda_introducer): Clear scope after each lambda capture. From-SVN: r258043
Håkon Sandsmark committed -
https://gcc.gnu.org/ml/gcc-patches/2018-02/msg01529.html PR c++/84426 * name-lookup.h (get_member_slot): Rename ... (find_member_slot): ... here. (add_member_slot): New. * name-lookup.c (member_vec_linear_search): No need to check for NULL slot. (get_member_slot): Rename ... (find_member_slot): ... here. Don't add slot for incomplete class. (add_member_slot): New. * class.c (add_method): Adjust get_member_slot rename. Bail out if push_class_level_binding fails. Create slot and grok properties once we're committed to insertion. PR c++/84426 * g++.dg/lookup/pr84426.C: New. From-SVN: r258042
Nathan Sidwell committed
-