- 15 Apr, 2017 2 commits
-
-
Arrange for the first typedef to an anonymous type in the same context to be used as the linkage name for the type. for gcc/cp/ChangeLog * decl.c (name_unnamed_type): Split out of... (grokdeclarator): ... this. * decl.h (name_unnamed_type): Declare. for libcc1/ChangeLog * libcp1plugin.cc (plugin_build_decl): Call name_unnamed_type. From-SVN: r246938
Alexandre Oliva committed -
From-SVN: r246937
GCC Administrator committed
-
- 14 Apr, 2017 9 commits
-
-
2017-04-14 Janus Weil <janus@gcc.gnu.org> PR fortran/80361 * class.c (generate_finalization_wrapper): Give the finalization wrapper the recursive attribute. 2017-04-14 Janus Weil <janus@gcc.gnu.org> PR fortran/80361 * gfortran.dg/class_62.f90: New test case. From-SVN: r246934
Janus Weil committed -
We use a negative ID number to link together the doloop_begin and doloop_end instructions. This negative ID number is setup within doloop_begin, at this point the ID is stored into the loop end instruction (doloop_end_i) and placed into the doloop_begin_i instruction. In arc.c (arc_reorg) we extract the ID from the doloop_end_i instruction in order to find the matching doloop_begin_i instruction, though the ID is only used in some cases. Currently in arc_reorg when we extract the ID we negate it. This negation is invalid. The ID stored in both doloop_end_i and doloop_begin_i is already negative, the negation in arc_reorg means that if we need to use the ID to find the doloop_begin_i then we will never find it (as the IDs will never match). This commit removes the unneeded negation, moves the extraction of the ID into a more appropriately scoped block and adds a new test for this issue. gcc/ChangeLog: * config/arc/arc.c (arc_reorg): Move loop_end_id into a more local block, and do not negate it, the stored id is already negative. gcc/testsuite/ChangeLog: * gcc.target/arc/loop-1.c: New file. Co-Authored-By: Guy Benyei <guybe@mellanox.com> From-SVN: r246933
Andrew Burgess committed -
The old ARC assembler would accept expressions like 'LABEL-(.&-4)' which would calculate the offset from the PCL to LABEL. The new ARC assembler does not accept these expressions, instead there's an @pcl synax, used like LABEL@pcl which gives the offset from PCL to LABEL. Most of the use of the old expression syntax have been removed, however, this one got missed. gcc/ChangeLog: * config/arc/arc.md (doloop_begin_i): Use @pcl assembler syntax. From-SVN: r246932
Andrew Burgess committed -
[gcc] 2017-04-14 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/80098 * config/rs6000/rs6000-cpus.def (OTHER_P9_VECTOR_MASKS): Define masks of options that should be turned off if the VSX vector options are turned off. (OTHER_P8_VECTOR_MASKS): Likewise. (OTHER_VSX_VECTOR_MASKS): Likewise. * config/rs6000/rs6000.c (rs6000_option_override_internal): Call rs6000_disable_incompatible_switches to validate no type switches like -mvsx. (rs6000_incompatible_switch): New function to disallow turning on other vector options if -mno-vsx, -mno-power8-vector, or -mno-power9-vector are specified. [gcc/testsuite] 2017-04-14 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/80098 * gcc.target/powerpc/pr80098-1.c: New test. * gcc.target/powerpc/pr80098-2.c: Likewise. * gcc.target/powerpc/pr80098-3.c: Likewise. * gcc.target/powerpc/pr80098-4.c: Likewise. From-SVN: r246930
Michael Meissner committed -
gcc/ 2017-04-17 Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc.h (CRT_CALL_STATIC_FUNCTION): Use long calls. From-SVN: r246927
Claudiu Zissulescu committed -
The use of CFA_FRAME_BASE_OFFSET and ARG_POINTER_CFA_OFFSET macros leads to wrong offset calculation for DW_OP_fbreg constructions. Remove them. gcc/ 2017-04-14 Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc-protos.h (arc_decl_pretend_args): Remove. * config/arc/arc.c (arc_decl_pretend_args): Likewise. * config/arc/arc.h (CFA_FRAME_BASE_OFFSET): Likewise. (ARG_POINTER_CFA_OFFSET): Likewise. From-SVN: r246926
Claudiu Zissulescu committed -
Update arc_mode_dependent_address_p to avoid emitting subreg(mem (reg ..)) when expanding by relaxing the conditions. gcc/ 2017-04-14 Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc.c (arc_mode_dependent_address_p): Relax conditions to take advantage of various optimizations. From-SVN: r246925
Claudiu Zissulescu committed -
mips.mips.md (zero_extendsidi2): Do not allow SP to appear in operands[1] if it is a MEM and TARGET_MIPS16 is active. * config/mips.mips.md (zero_extendsidi2): Do not allow SP to appear in operands[1] if it is a MEM and TARGET_MIPS16 is active. (zero_extendsidi2_dext): Likewise. From-SVN: r246924
Jeff Law committed -
From-SVN: r246923
GCC Administrator committed
-
- 13 Apr, 2017 10 commits
-
-
* plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type instead of char. From-SVN: r246918
Jakub Jelinek committed -
re PR sanitizer/80403 (UBSAN: compile time crash with "type mismatch in binary expression" message in / and % expr) PR sanitizer/80403 * fold-const.c (fold_ternary_loc): Revert use op0 instead of fold_convert_loc (loc, type, arg0) part of 2017-04-12 change. * g++.dg/ubsan/pr80403-2.C: New test. From-SVN: r246917
Jakub Jelinek committed -
re PR rtl-optimization/80343 (ICE in extract_constrain_insn, at recog.c:2213 (error: insn does not satisfy its constraints)) 2017-04-13 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/80343 * lra-remat.c (update_scratch_ops): Assign original hard reg to new scratch pseudo. 2017-04-13 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/80343 * gcc.target/powerpc/pr80343.c: New. From-SVN: r246914
Vladimir Makarov committed -
PR sanitizer/80414 * ubsan.c (ubsan_expand_bounds_ifn): Pass original index to ubsan_encode_value. * c-c++-common/ubsan/bounds-15.c: New test. From-SVN: r246909
Denis Khalikov committed -
* reload1.c (eliminate_regs_1): Call gen_rtx_raw_SUBREG for SUBREGs appearing in DEBUG_INSNs. From-SVN: r246904
Jeff Law committed -
2017-04-13 Martin Liska <mliska@suse.cz> PR gcov-profile/80413 * gcov-io.c (gcov_write_string): Copy to buffer just when allocated size is greater than zero. From-SVN: r246903
Martin Liska committed -
2017-04-13 Richard Biener <rguenther@suse.de> PR testsuite/80416 * g++.dg/torture/pr79671.C: Fix asm constraints. From-SVN: r246902
Richard Biener committed -
PR debug/80321 * dwarf2out.c (decls_for_scope): Ignore declarations of current_function_decl in BLOCK_NONLOCALIZED_VARS. * gcc.dg/debug/pr80321.c: New test. 2017-04-13 Eric Botcazou <ebotcazou@adacore.com> * gnat.dg/debug10.adb: New test. * gnat.dg/debug10_pkg.ads: New helper. From-SVN: r246900
Jakub Jelinek committed -
PR lto/69953 * ipa-visibility.c (non_local_p): Fix typos. (localize_node): When localizing symbol in same comdat group, dissolve the group only when we know external symbols are going to be privatized. (function_and_variable_visibility): Do not localize DECL_EXTERNAL. From-SVN: r246899
Jan Hubicka committed -
From-SVN: r246898
GCC Administrator committed
-
- 12 Apr, 2017 13 commits
-
-
PR tree-optimization/79390 * optabs.c (emit_conditional_move): If the preferred op2/op3 operand order does not result in usable sequence, retry with reversed operand order. * gcc.target/i386/pr70465-2.c: Xfail the scan-assembler-not test. From-SVN: r246882
Jakub Jelinek committed -
re PR sanitizer/80403 (UBSAN: compile time crash with "type mismatch in binary expression" message in / and % expr) PR sanitizer/80403 PR sanitizer/80404 PR sanitizer/80405 * fold-const.c (fold_ternary_loc): Use op1 instead of arg1 as argument to fold_build2_loc. Convert TREE_OPERAND (tem, 0) to type. Use op0 instead of fold_convert_loc (loc, type, arg0). * g++.dg/ubsan/pr80403.C: New test. * g++.dg/ubsan/pr80404.C: New test. * g++.dg/ubsan/pr80405.C: New test. From-SVN: r246881
Jakub Jelinek committed -
genattrtab.c (write_eligible_delay): Verify DELAY_INSN still has a delay slot in the generated code. * genattrtab.c (write_eligible_delay): Verify DELAY_INSN still has a delay slot in the generated code. From-SVN: r246879
Jeff Law committed -
* config/cris/cris.md (cris_preferred_reload_class): Return GENNONACR_REGS rather than GENERAL_REGS. From-SVN: r246877
Jeff Law committed -
PR c/80163 * expr.c <CASE_CONVERT>: For EXPAND_INITIALIZER determine SIGN_EXTEND vs. ZERO_EXTEND based on signedness of treeop0's type rather than signedness of the result type. * gcc.dg/torture/pr80163.c: New test. From-SVN: r246876
Jakub Jelinek committed -
2017-04-12 Richard Biener <rguenther@suse.de> Jeff Law <law@redhat.com> PR tree-optimization/80359 * tree-ssa-dse.c (maybe_trim_partially_dead_store): Do not trim stores to TARGET_MEM_REFs. * gcc.dg/torture/pr80359.c: New testcase. Co-Authored-By: Jeff Law <law@redhat.com> From-SVN: r246875
Richard Biener committed -
2017-04-12 Richard Biener <rguenther@suse.de> PR tree-optimization/79390 * gimple-ssa-split-paths.c (is_feasible_trace): Restrict threading case even more. From-SVN: r246869
Richard Biener committed -
Whatever expand expands to should be valid instructions. The defined instructions here have a quad_memory_operand predicate, which boils down to quad_address_p on the address, so let's test for that instead of only disallowing indexed addresses. * config/rs6000/sync.md (atomic_load<mode>, atomic_store<mode): Test for quad_address_p for TImode, instead of just not indexed_address. From-SVN: r246868
Segher Boessenkool committed -
Whatever expand expands to should be valid instructions. The defined instructions here have a quad_memory_operand predicate, which boils down to quad_address_p on the address, so let's test for that instead of only disallowing indexed addresses. * config/rs6000/sync.md (atomic_load<mode>, atomic_store<mode): Test for quad_address_p for TImode, instead of just not indexed_address. From-SVN: r246867
Segher Boessenkool committed -
2017-04-12 Richard Biener <rguenther@suse.de> Bernd Edlinger <bernd.edlinger@hotmail.de> PR middle-end/79671 * alias.c (component_uses_parent_alias_set_from): Handle TYPE_TYPELESS_STORAGE. (get_alias_set): Likewise. * tree-core.h (tree_type_common): Add typeless_storage flag. * tree.h (TYPE_TYPELESS_STORAGE): New macro. * stor-layout.c (place_union_field): Set TYPE_TYPELESS_STORAGE for types containing members with TYPE_TYPELESS_STORAGE. (place_field): Likewise. (layout_type): Likewise for ARRAY_TYPE. * lto-streamer-out.c (hash_tree): Hash TYPE_TYPELESS_STORAGE. * tree-streamer-in.c (unpack_ts_type_common_value_fields): Stream TYPE_TYPELESS_STORAGE. * tree-streamer-out.c (pack_ts_type_common_value_fields): Likewise. lto/ * lto.c (compare_tree_sccs_1): Compare TYPE_TYPELESS_STORAGE. cp/ * tree.c (build_cplus_array_type): Set TYPE_TYPELESS_STORAGE for arrays of character or std::byte type. * g++.dg/torture/pr79671.C: New testcase. * g++.dg/lto/pr79671_0.C: Likewise. * g++.dg/lto/pr79671_1.c: Likewise. Co-Authored-By: Bernd Edlinger <bernd.edlinger@hotmail.de> From-SVN: r246866
Richard Biener committed -
PR sanitizer/80349 * fold-const.c (fold_binary_loc) <case BIT_IOR_EXPR>: Convert arg0's first argument to type. * g++.dg/ubsan/pr80349.C: New test. From-SVN: r246865
Jakub Jelinek committed -
PR go/77857 cmd/go: generate vendor paths for -I arg on compile This change generates the vendor path to be used with -I on a gccgo compile to find imports from the vendor directories. Fixes golang/go#15628 Reviewed-on: https://go-review.googlesource.com/39590 From-SVN: r246864
Ian Lance Taylor committed -
From-SVN: r246863
GCC Administrator committed
-
- 11 Apr, 2017 6 commits
-
-
* doc/xml/faq.xml: Update reference link to C++ ABI for Itanium. * doc/xml/manual/abi.xml. Ditto (thrice). From-SVN: r246860
Gerald Pfeifer committed -
2017-04-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com> PR target/80376 PR target/80315 * config/rs6000/rs6000.c (rs6000_expand_unop_builtin): Return CONST0_RTX (mode) rather than const0_rtx where appropriate. (rs6000_expand_binop_builtin): Likewise. (rs6000_expand_ternop_builtin): Likewise; also add missing vsx_xxpermdi_* variants; also fix typo (arg1 => arg2) for vshasigma built-ins. * doc/extend.texi: Document that vec_xxpermdi's third argument must be a constant. From-SVN: r246859
Bill Schmidt committed -
* constexpr.c (reduced_constant_expression_p): A null constructor element is non-constant. (cxx_eval_indirect_ref): Don't VERIFY_CONSTANT before returning an empty base. From-SVN: r246858
Jason Merrill committed -
re PR c++/80370 (ICE when using structured bindings and nested generic lambdas (tsubst_decomp_names)) PR c++/80370 * decl.c (cp_finish_decomp): If processing_template_decl on non-dependent decl, only set TREE_TYPE on the v[i] decls, but don't change their DECL_VALUE_EXPR nor cp_finish_decl them. Instead make sure DECL_VALUE_EXPR is the canonical NULL type ARRAY_REF for tsubst processing. * pt.c (value_dependent_expression_p) <case VAR_DECL>: For variables with DECL_VALUE_EXPR, return true if DECL_VALUE_EXPR is type dependent. * g++.dg/cpp1z/decomp28.C: New test. From-SVN: r246857
Jakub Jelinek committed -
i386.c (dimode_scalar_chain::compute_convert_gain): Use shift_const cost parameter when calculating gain of STV shifts. * config/i386/i386.c (dimode_scalar_chain::compute_convert_gain): Use shift_const cost parameter when calculating gain of STV shifts. From-SVN: r246856
Uros Bizjak committed -
2017-04-11 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/70478 * lra-constraints.c (process_alt_operands): Check memory for disfavoring memory insn operand. From-SVN: r246854
Vladimir Makarov committed
-