aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2019-09-04re PR target/32413 (internal compiler error: in ↵Uros Bizjak2-0/+7
reload_cse_simplify_operands, at postreload.c:396) PR target/32413 * config/i386/i386.c (inline_secondary_memory_needed): Return true for QI and HImode moves between SSE and general registers. From-SVN: r275377
2019-09-04Add warning Wenum-conversion for C and ObjC.Prathamesh Kulkarni8-1/+68
The patch enables warning with Wextra due to PR91593 and warnings with allmodconfig kernel build. Once these issues are resolved, we could consider promoting it to Wall. 2019-09-04 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> PR c/78736 * doc/invoke.texi: Document -Wenum-conversion. c-family * c.opt (Wenum-conversion): New option. c/ * c-typeck.c (convert_for_assignment): Handle Wenum-conversion. testsuite/ * gcc.dg/Wenum-conversion.c: New test-case. From-SVN: r275376
2019-09-04re PR middle-end/36262 (Extreme memory usage of VRP compared to older versions)Richard Biener2-32/+44
2019-09-04 Richard Biener <rguenther@suse.de> PR rtl-optimization/36262 * postreload-gcse.c: Include intl.h and gcse.h. (insert_expr_in_table): Insert at the head of cur_expr->avail_occr to avoid linear list walk. (record_last_mem_set_info): Gate off if not computing transparentness. (get_bb_avail_insn): If transparentness isn't computed give up early. (gcse_after_reload_main): Skip compute_transp and extended PRE if gcse_or_cprop_is_too_expensive says so. From-SVN: r275365
2019-09-04gfortran.texi: Update documentation to catch up with BOZ changes.Steven G. Kargl3-35/+24
2019-09-03 Steven G. Kargl <kargl@gcc.gnu.org> * gfortran.texi: Update documentation to catch up with BOZ changes. * invoke.texi: Fix English from previous BOZ changes commit. From-SVN: r275364
2019-09-04Daily bump.GCC Administrator1-1/+1
From-SVN: r275362
2019-09-03compiler: only import variable into . if same packageIan Lance Taylor2-2/+2
If we dot-import a package, we should only add an imported variable to the package bindings if the variable is in the package being imported. A test case for this is the 1.13 os package, in which ErrClosed and friends are defined both locally and in the imported internal/oserror package. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/192718 From-SVN: r275358
2019-09-03MSP430: Use default_elf_select_section to determine sections for dataJozef Lawrynowicz2-31/+61
2019-09-03 Jozef Lawrynowicz <jozef.l@mittosystems.com> * config/msp430/msp430.c (msp430_init_sections): Remove handling of the noinit section. (msp430_select_section): Handle decls with the "noinit" attribute with default_elf_select_section. Handle SECCAT_RODATA_MERGE_* section types with default_elf_select_section. Add comments about handling of unsupported section types. (msp430_section_type_flags): Remove handling of the noinit section. From-SVN: r275357
2019-09-03MSP430: Setup exclusion tables for function and data attributesJozef Lawrynowicz6-95/+222
gcc/ChangeLog: 2019-09-03 Jozef Lawrynowicz <jozef.l@mittosystems.com> * config/msp430/msp430.c (msp430_attr): Remove warnings about conflicting msp430-specific attributes. (msp430_section_attr): Likewise. Add warnings about conflicts with generic "noinit" and "section" attributes. Fix grammar in -mlarge error message. (msp430_data_attr): Rename to msp430_persist_attr. Add warnings about conflicts with generic "noinit" and "section" attributes. Add warning for when variable is not initialized. Chain conditionals which prevent the attribute being added. (ATTR_EXCL): New helper. (attr_reent_exclusions): New exclusion table. (attr_naked_exclusions): Likewise. (attr_crit_exclusions): Likewise. (attr_lower_exclusions): Likewise. (attr_upper_exclusions): Likewise. (attr_either_exclusions): Likewise. (attr_persist_exclusions): Likewise. (msp430_attribute_table): Update with exclusion rules. (msp430_output_aligned_decl_common): Don't output common symbol if decl has a section. gcc/testsuite/ChangeLog: 2019-09-03 Jozef Lawrynowicz <jozef.l@mittosystems.com> * gcc.target/msp430/data-attributes-2.c: New test. * gcc.target/msp430/function-attributes-4.c: Update dg-warning strings. * gcc.target/msp430/region-attribute-misuse.c: Likewise. From-SVN: r275356
2019-09-03Implement TARGET_HANDLE_GENERIC_ATTRIBUTEJozef Lawrynowicz9-10/+114
gcc/ChangeLog: 2019-09-03 Jozef Lawrynowicz <jozef.l@mittosystems.com> * config/msp430/msp430.c (TARGET_HANDLE_GENERIC_ATTRIBUTE): Define. (msp430_handle_generic_attribute): New function. * doc/tm.texi: Regenerate. * doc/tm.texi.in: Add TARGET_HANDLE_GENERIC_ATTRIBUTE. * hooks.c (hook_tree_treeptr_tree_tree_int_boolptr_null): New. * hooks.h (hook_tree_treeptr_tree_tree_int_boolptr_null): New. * target.def: Define new hook TARGET_HANDLE_GENERIC_ATTRIBUTE. gcc/c-family/ChangeLog: 2019-09-03 Jozef Lawrynowicz <jozef.l@mittosystems.com> * c-attribs.c (handle_section_attribute): Call the handle_generic_attribute target hook after performing target independent processing. (handle_noinit_attribute): Likewise. From-SVN: r275355
2019-09-03re PR tree-optimization/91504 (Inlining misses some logical operation folding)Kamlesh Kumar4-0/+33
PR tree-optimization/91504 * match.pd: Add ((~a & b) ^a) --> (a | b). PR tree-optimization/91504 gcc.dg/tree-ssa/pr91504.c: New test. From-SVN: r275354
2019-09-03c-cppbuiltin.c (builtin_define_with_hex_fp_value): Always expand when using ↵Ian Lance Taylor2-0/+6
-fgo-dump-spec. * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Always expand when using -fgo-dump-spec. From-SVN: r275352
2019-09-03re PR target/91604 (ICE in extract_insn at recog.c:2310 since r272323)Jakub Jelinek4-2/+38
PR target/91604 * config/i386/i386-expand.c (split_double_mode): If there is more than one MEM operand and they are rtx_equal_p, reuse lo_half/hi_half from already split matching MEM operand instead of calling adjust_address again. * gcc.target/i386/pr91604.c: New test. From-SVN: r275344
2019-09-03Remove Cell Broadband Engine SPU targetsUlrich Weigand236-26282/+235
From-SVN: r275343
2019-09-03re PR middle-end/91603 (Unaligned access in expand_assignment)Bernd Edlinger4-4/+77
2019-09-03 Bernd Edlinger <bernd.edlinger@hotmail.de> PR middle-end/91603 PR middle-end/91612 PR middle-end/91613 * expr.c (expand_expr_real_1): Handle unaligned decl_rtl and SSA_NAME referring to CONSTANT_P correctly. testsuite: 2019-09-03 Bernd Edlinger <bernd.edlinger@hotmail.de> PR middle-end/91603 * testsuite/gcc.target/arm/pr91603.c: New test. From-SVN: r275342
2019-09-03tree-ssa-sccvn.h (vn_nary_op_lookup): Remove.Richard Biener3-47/+8
2019-09-03 Richard Biener <rguenther@suse.de> * tree-ssa-sccvn.h (vn_nary_op_lookup): Remove. (vn_nary_op_insert): Likewise. * tree-ssa-sccvn.c (init_vn_nary_op_from_op): Remove. (vn_nary_op_lookup): Likewise. (vn_nary_op_insert): Likewise. From-SVN: r275338
2019-09-03S/390: Commit forgotten test for r275336Ilya Leoshkevich1-0/+10
gcc/testsuite/ChangeLog: 2019-09-03 Ilya Leoshkevich <iii@linux.ibm.com> * gcc.target/s390/sigfpe-eh.c: Forgotten test. From-SVN: r275337
2019-09-03S/390: Fix failing RTL check in s390_canonicalize_comparisonIlya Leoshkevich3-1/+10
The new sigfpe-eh.c fails with internal compiler error: RTL check: expected elt 0 type 'e' or 'u', have 'w' (rtx const_int) This is most likely due to a typo: XEXP (*op1, 0) was used, when XEXP (*op0, 1) was intended. This did not cause any user-visible problems, because reversed_comparison_code_parts ignores the respective argument, and the release compiler is built without RTL checks. gcc/ChangeLog: 2019-09-03 Ilya Leoshkevich <iii@linux.ibm.com> * config/s390/s390.c (s390_canonicalize_comparison): Use XEXP (*op0, 1) instead of XEXP (*op1, 0). gcc/testsuite/ChangeLog: 2019-09-03 Ilya Leoshkevich <iii@linux.ibm.com> * gcc.target/s390/sigfpe-eh.c: New test. From-SVN: r275336
2019-09-03[AArch64] Add support for __jcvt intrinsicKyrylo Tkachov8-0/+74
This patch implements the __jcvt ACLE intrinsic [1] that maps down to the FJCVTZS [2] instruction from Armv8.3-a. No fancy mode iterators or nothing. Just a single builtin, UNSPEC and define_insn and the associate plumbing. This patch also defines __ARM_FEATURE_JCVT to indicate when the intrinsic is available. [1] https://developer.arm.com/docs/101028/latest/data-processing-intrinsics [2] https://developer.arm.com/docs/ddi0596/latest/simd-and-floating-point-instructions-alphabetic-order/fjcvtzs-floating-point-javascript-convert-to-signed-fixed-point-rounding-toward-zero * config/aarch64/aarch64.md (UNSPEC_FJCVTZS): Define. (aarch64_fjcvtzs): New define_insn. * config/aarch64/aarch64.h (TARGET_JSCVT): Define. * config/aarch64/aarch64-builtins.c (aarch64_builtins): Add AARCH64_JSCVT. (aarch64_init_builtins): Initialize __builtin_aarch64_jcvtzs. (aarch64_expand_builtin): Handle AARCH64_JSCVT. * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Define __ARM_FEATURE_JCVT where appropriate. * config/aarch64/arm_acle.h (__jcvt): Define. * gcc.target/aarch64/acle/jcvt_1.c: New test. From-SVN: r275335
2019-09-03[AArch64] Implement ACLE intrinsics for FRINT[32,64][Z,X]Kyrylo Tkachov11-0/+439
This patch implements the ACLE intrinsics to access the FRINT[32,64][Z,X] scalar[1] and vector[2][3] instructions from Armv8.5-a. These are enabled when the __ARM_FEATURE_FRINT macro is defined. They're added in a fairly standard way through builtins and unspecs at the RTL level. * config/aarch64/aarch64.md ("unspec"): Add UNSPEC_FRINT32Z, UNSPEC_FRINT32X, UNSPEC_FRINT64Z, UNSPEC_FRINT64X. (aarch64_<frintnzs_op><mode>): New define_insn. * config/aarch64/aarch64.h (TARGET_FRINT): Define. * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Define __ARM_FEATURE_FRINT when appropriate. * config/aarch64/aarch64-simd-builtins.def: Add builtins for frint32z, frint32x, frint64z, frint64x. * config/aarch64/arm_acle.h (__rint32zf, __rint32z, __rint64zf, __rint64z, __rint32xf, __rint32x, __rint64xf, __rint64x): Define. * config/aarch64/arm_neon.h (vrnd32z_f32, vrnd32zq_f32, vrnd32z_f64, vrnd32zq_f64, vrnd32x_f32, vrnd32xq_f32, vrnd32x_f64, vrnd32xq_f64, vrnd64z_f32, vrnd64zq_f32, vrnd64z_f64, vrnd64zq_f64, vrnd64x_f32, vrnd64xq_f32, vrnd64x_f64, vrnd64xq_f64): Define. * config/aarch64/iterators.md (VSFDF): Define. (FRINTNZX): Likewise. (frintnzs_op): Likewise. * gcc.target/aarch64/acle/rintnzx_1.c: New test. * gcc.target/aarch64/simd/vrndnzx_1.c: Likewise. From-SVN: r275334
2019-09-03[AArch64] Add support for missing CPUsDennis Zhang4-2/+17
This patch adds '-mcpu' options for following CPUs: Cortex-A77, Cortex-A76AE, Cortex-A65, Cortex-A65AE, and Cortex-A34. Related specifications are as following: https://developer.arm.com/ip-products/processors/cortex-a Bootstraped/regtested for aarch64-none-linux-gnu. 2019-09-03 Dennis Zhang <dennis.zhang@arm.com> * config/aarch64/aarch64-cores.def (AARCH64_CORE): New entries for Cortex-A77, Cortex-A76AE, Cortex-A65, Cortex-A65AE, and Cortex-A34. * config/aarch64/aarch64-tune.md: Regenerated. * doc/invoke.texi: Document the new processors. From-SVN: r275333
2019-09-03[AArch64] Add Linux hwcap strings for some extensionsKyrylo Tkachov2-7/+18
This patch adds feature strings for some of the extensions. This string is what is read from /proc/cpuinfo on Linux systems and used during -march=native detection. The strings are taken from the kernel source tree at: https://github.com/torvalds/linux/blob/master/arch/arm64/kernel/cpuinfo.c#L45 * config/aarch64/aarch64-option-extensions.def (sb): Add feature string. (ssbs): Likewise. (sve2): Likewise. (sve2-sm4): Likewise. (sveaes): Likewise. (svesha3): Likewise. (svebitperm): Likewise. From-SVN: r275331
2019-09-03re PR tree-optimization/91597 (GCC miscompiles a branch depending on a ↵Jakub Jelinek4-3/+63
pointer tag) PR tree-optimization/91597 * tree-vrp.c (extract_range_from_binary_expr): Remove unsafe BIT_AND_EXPR optimization for pointers, even if both operand ranges don't include NULL, the result can be NULL. * gcc.c-torture/execute/pr91597.c: New test. Co-Authored-By: Richard Biener <rguenther@suse.de> From-SVN: r275330
2019-09-03[x86 testsuite] preserve full register across mainAlexandre Oliva2-5/+14
This test uses a call-saved register as a global variable. It attempts to preserve its value across main, but only the lower int part is preserved, which is not good enough for x86_64, when the runtime that calls main() happens to hold something in the chosen register that is not a zero-extension from the 32-bit value, and rightfully expects the full register to remain unchanged when main() returns. for gcc/testsuite/ChangeLog * gcc.target/i386/20020616-1.c: Preserve full register across main. From-SVN: r275329
2019-09-03Daily bump.GCC Administrator1-1/+1
From-SVN: r275328
2019-09-02re PR fortran/91589 (ICE in gfc_conv_component_ref, at ↵Paul Thomas4-3/+38
fortran/trans-expr.c:2447) 2019-09-02 Paul Thomas <pault@gcc.gnu.org> PR fortran/91589 * primary.c (gfc_match_varspec): Return MATCH_NO on an apparent component ref, when the primary type is intrinsic. 2019-09-02 Paul Thomas <pault@gcc.gnu.org> PR fortran/91589 * gfortran.dg/pr91589.f90 : New test. From-SVN: r275324
2019-09-02re PR fortran/91552 (ICE with valid array constructor)Steven G. Kargl4-6/+51
2019-09-02 Steven G. Kargl <kargl@gc.gnu.org> PR fortran/91552 * array.c (walk_array_constructor): New function. (gfc_match_array_constructor): Use it. 2019-09-02 Steven G. Kargl <kargl@gc.gnu.org> PR fortran/91552 * gfortran.dg/pr91552.f90: New test. From-SVN: r275322
2019-09-02re PR middle-end/91605 (ICE in ix86_avx256_split_vector_move_misalign, at ↵Bernd Edlinger4-14/+50
config/i386/i386-expand.c:489 since r274986) 2019-09-02 Bernd Edlinger <bernd.edlinger@hotmail.de> PR middle-end/91605 * expr.c (addr_expr_of_non_mem_decl_p_1): Refactor into... (non_mem_decl_p): ...this. (mem_ref_refers_to_non_mem_p): Handle DECL_P as well ase MEM_REF. (expand_assignment): Call mem_ref_referes_to_non_mem_p unconditionally as before. testsuite: 2019-09-02 Bernd Edlinger <bernd.edlinger@hotmail.de> PR middle-end/91605 * g++.target/i386/pr91605.C: New test. From-SVN: r275320
2019-09-02re PR tree-optimization/91632 (Probably wrong code since r275026)Jakub Jelinek2-0/+35
PR tree-optimization/91632 * gcc.c-torture/execute/pr91632.c: New test. From-SVN: r275318
2019-09-02re PR target/91323 (LTGT rtx produces UCOMISS instead of COMISS)Eric Botcazou5-27/+38
PR target/91323 * doc/generic.texi (LTGT_EXPR): Merge with other comparison operators. * rtl.def (LTGT): Likewise. Add note about floating-point exceptions. * tree.def (LTGT_EXPR): Likewise. * config/sparc/sparc.c (select_cc_mode): Return CCFPEmode for LTGT. From-SVN: r275303
2019-09-02re PR go/91617 (Many go test case failures after r275026)Jakub Jelinek3-8/+15
PR go/91617 * fold-const.c (range_check_type): For enumeral and boolean type, pass 1 to type_for_size langhook instead of TYPE_UNSIGNED (etype). Return unsigned_type_for result whenever etype isn't TYPE_UNSIGNED INTEGER_TYPE. (build_range_check): Don't call unsigned_type_for for pointer types. * match.pd (X / C1 op C2): Don't call unsigned_type_for on range_check_type result. From-SVN: r275299
2019-09-02gimple-ssa-strength-reduction.c (valid_mem_ref_cand_p): New function.Eric Botcazou4-0/+54
* gimple-ssa-strength-reduction.c (valid_mem_ref_cand_p): New function. (replace_ref): Do not replace a chain of only two candidates which are valid memory references. From-SVN: r275297
2019-09-02Fix thinko in early bail out in tree-switch-conversion.Martin Liska2-10/+18
2019-09-02 Martin Liska <mliska@suse.cz> * tree-switch-conversion.c (jump_table_cluster::find_jump_tables): Bail out when we'll end up with the same number of clusters as at the beginning. (bit_test_cluster::find_bit_tests): Likewise for bit tests. (jump_table_cluster::can_be_handled): Remove the guard as it's already handled in ::is_enabled. Allocate output after early bail out. From-SVN: r275293
2019-09-02Use cxx_printable_name for __PRETTY_FUNCTION__ in cp_fname_init.Martin Liska4-3/+46
2019-09-02 Martin Liska <mliska@suse.cz> PR c++/91155 * c-common.c (fname_as_string): Use cxx_printable_name for __PRETTY_FUNCTION__ same as was used before r265711. 2019-09-02 Martin Liska <mliska@suse.cz> PR c++/91155 * g++.dg/torture/pr91155.C: New test. From-SVN: r275292
2019-09-02Consider also negative edges in cycle detection.Martin Liska2-5/+14
2019-09-02 Martin Liska <mliska@suse.cz> PR gcov-profile/91601 * gcov.c (path_contains_zero_cycle_arc): Rename to ... (path_contains_zero_or_negative_cycle_arc): ... this and handle also negative edges. (circuit): Handle also negative edges as they can happen in some situations. From-SVN: r275291
2019-09-02Daily bump.GCC Administrator1-1/+1
From-SVN: r275290
2019-09-01PR c++/91129 - wrong error with binary op in template argument.Marek Polacek4-11/+61
* typeck.c (warn_for_null_address): Use fold_for_warn instead of fold_non_dependent_expr. (cp_build_binary_op): Likewise. * g++.dg/cpp1y/nontype1.C: New test. From-SVN: r275285
2019-09-01[testsuite] Unsupport 20190827-1.c for targets without alias support.Iain Sandoe2-0/+5
gcc/testsuite/ 2019-09-01 Iain Sandoe <iain@sandoe.co.uk> * gcc.c-torture/compile/20190827-1.c: Add dg-requires-alias. From-SVN: r275274
2019-09-01target-supports.exp (check_effective_target_pthread): Add #include ↵Eric Botcazou2-3/+5
<pthread.h> directive to the test. * lib/target-supports.exp (check_effective_target_pthread): Add #include <pthread.h> directive to the test. From-SVN: r275271
2019-09-01re PR target/91472 (gmp testsuite segfaults with gcc-8 and gcc-9, works fine ↵Eric Botcazou4-1/+55
with gcc-7) PR target/91472 * config/sparc/sparc.c (sparc_cannot_force_const_mem): Return true during LRA/reload in PIC mode if the PIC register hasn't been used yet. (sparc_pic_register_p): Test reload_in_progress for consistency's sake. From-SVN: r275270
2019-09-01array.c (spec_dimen_size): Check for the presence of expressions for the bounds.Paul Thomas19-77/+1355
2019-09-01 Paul Thomas <pault@gcc.gnu.org> * array.c (spec_dimen_size): Check for the presence of expressions for the bounds. * decl.c (gfc_match_end): Add case COMP_SELECT_RANK. * dump-parse-tree.c(show_symbol): Show the arrayspec of class entities. (show_code_node): Show the code for SELECT_RANK. * expr.c (gfc_check_vardef_context): Omit the context of variable definition for select rank associate names since the ASSUMED RANK throws. * gfortran.h : Add ST_SELECT_RANK and ST_RANK to enum gfc_statement. Add select_rank_temporary to symbol attribute structure. Add EXEC_SELECT_RANK to enum gfc_exec_op. * match.c (match_exit_cycle): Add COMP_SELECT_RANK. (copy_ts_from_selector_to_associate): Add as special case for assumed rank class variables. (select_intrinsic_set_tmp): Clean up the code by using symbols for references to the temporary and the selector. (select_type_set_tmp): Ditto. (select_rank_set_tmp): New function. (gfc_match_select_rank): New function. (gfc_match_rank_is): New function. * match.h : Add prototypes for gfc_match_select_rank and gfc_match_rank_is. * parse.c (decode_statement): Attempt to match select_rank and rank statements. (next_statement, gfc_ascii_statement): Add ST_SELECT_RANK. (parse_select_rank_block): New function. (parse_executable): Parse select rank block for ST_SELECT_RANK. * parse.h : Add COMP_SELECT_RANK to enum gfc_compile_state. * resolve.c (resolve_variable): Exclude select_rank_temporaries from the check on use of ASSUMED RANK. (gfc_resolve_expr): Make sure that unlimited polymorphic select rank temporaries expressions are not resolved again after being successfully resolved. (resolve_assoc_var): Do not do the rank check for select rank temporaries. (resolve_select_rank): New function. (gfc_resolve_blocks): Deal with case EXEC_SELECT_RANK. (resolve_symbol): Exclude select rank temporaries for check on use of ASSUMED RANK. * st.c (gfc_free_statement): Include EXEC_SELECT_RANK. * trans-array.c (gfc_conv_array_ref): Select rank temporaries may have dimen == 0. (gfc_conv_expr_descriptor): Zero the offset of select rank temporaries. * trans-stmt.c (copy_descriptor): New function. (trans_associate_var): Add code to associate select rank temps. (gfc_trans_select_rank_cases): New function. (gfc_trans_select_rank): New function. * trans-stmt.h : Add prototype for gfc_trans_select_rank. trans.c (trans_code): Add select rank case. 2019-09-01 Paul Thomas <pault@gcc.gnu.org> * gfortran.dg/select_rank_1.f90 : New test. * gfortran.dg/select_rank_2.f90 : New test. From-SVN: r275269
2019-09-01re PR middle-end/91623 (-msse4.1 -O3 segfault in ↵Jakub Jelinek4-0/+60
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/smmintrin.h:270:10) PR middle-end/91623 * optabs.c (expand_vec_cond_expr): If op0 is a VECTOR_CST and only EQ_EXPR/NE_EXPR is supported, verify that op0 only contains zeros or negative elements and use NE_EXPR instead of LT_EXPR against zero vector. * gcc.target/i386/pr91623.c: New test. From-SVN: r275267
2019-09-01re PR lto/91572 (lto1: error: type variant has different ‘TREE_TYPE’ ↵Jakub Jelinek4-0/+30
since r269862) PR lto/91572 * tree.c (find_decls_types_in_node): Also walk TREE_PURPOSE of GIMPLE_ASM TREE_LIST operands. * g++.dg/lto/pr91572_0.C: New test. From-SVN: r275266
2019-09-01Fix wrong dates in ChangeLogBernd Edlinger1-3/+3
From-SVN: r275265
2019-09-01Daily bump.GCC Administrator1-1/+1
From-SVN: r275264
2019-08-31Add source location to TRAIT_EXPR.Jason Merrill7-6/+27
Since TRAIT_EXPR is exceptional, maybe_wrap_with_location won't wrap it, so we need to put its location in the TRAIT_EXPR node itself. * cp-tree.h (TRAIT_EXPR_LOCATION): New. (struct tree_trait_expr): Add locus field. * parser.c (cp_parser_trait_expr): Pass trait_loc down. * pt.c (tsubst_copy_and_build) [TRAIT_EXPR]: Likewise. * semantics.c (finish_trait_expr): Add location parm. * tree.c (cp_expr_location): Handle TRAIT_EXPR. From-SVN: r275260
2019-08-31* es.po: Update.Joseph Myers2-176/+102
From-SVN: r275258
2019-08-31generic.texi (Unary and Binary Expressions): Mark up an instance of TYPE_MIN.Gerald Pfeifer2-2/+7
* doc/generic.texi (Unary and Binary Expressions): Mark up an instance of TYPE_MIN. From-SVN: r275243
2019-08-31or1k: Fix issue with set_got clobbering LR (r9)Stafford Horne4-2/+15
When compiling glibc we found that the GOT register was being allocated r9 when the instruction was still set_got_tmp. That is a problem because r9 is the Link Register (LR) in OpenRISC which is used/clobbered in set_got. We cannot use r9 as the GOT register. Also, we cannot simply say set_got_tmp clobbers r9 as this is the reason for having the temporary set_got_tmp. Fix by using a register class constraint that does not allow r9 during register allocation. gcc/ChangeLog: * config/or1k/constraints.md (t): New constraint. * config/or1k/or1k.h (GOT_REGS): New register class. * config/or1k/or1k.md (set_got_tmp, set_got): Use t contraint. From-SVN: r275242
2019-08-31compiler: check for notinheap struct at each struct fieldIan Lance Taylor2-26/+26
When generating write barriers, we were only checking for a notinheap struct at the outermost struct. That mishandled the case of setting a pointer to a notinheap struct as a field of another struct that is not notinheap. This caused an invalid write barrier error when building the 1.13 version of the runtime. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/192279 From-SVN: r275240
2019-08-31compiler, runtime: support and use single argument go:linknameIan Lance Taylor5-9/+38
The gc compiler has started permitting go:linkname comments with a single argument to mean that a function should be externally visible outside the package. Implement this in the Go frontend. Change the libgo runtime package to use it, rather than repeating the name just to export a function. Remove a couple of unnecessary go:linkname comments on declarations. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/192197 From-SVN: r275239