- 27 Nov, 2018 31 commits
-
-
For inlined function bodies we're going to need to refer to variables, so change the existing export data to add a '$' to names that look like identifiers: true, false, nil, convert. While we're here drop an unnecessary space character after operators. Reviewed-on: https://go-review.googlesource.com/c/150067 From-SVN: r266529
Ian Lance Taylor committed -
2018-11-27 François Dumont <fdumont@gcc.gnu.org> PR libstdc++/88199 * include/bits/hashtable.h (_Hashtable<>::_M_assign_elements): New. (_Hashtable<>::operator=(const _Hashtable&)): Use latter. (_Hashtable<>::_M_move_assign(_Hashtable&&, false_type)): Likewise. * testsuite/23_containers/unordered_set/allocator/move_assign.cc (test03): New. From-SVN: r266528
François Dumont committed -
PR c++/88181 * class.c (fixup_attribute_variants): Also propagate TYPE_PACKED to variants. * g++.dg/debug/pr88181.C: New test. From-SVN: r266527
Jakub Jelinek committed -
Change expression importing to use a new abstract interface class Import_expression, so that we can more easily import expressions from inlinable function bodies. This is a refactoring with no affect on compiler behavior. Reviewed-on: https://go-review.googlesource.com/c/150065 From-SVN: r266526
Ian Lance Taylor committed -
Separate the Location that import_expression uses when creating a new Expression from the Location used to report an error. This is a step toward importing expressions for inlined functions. This is a pure refactoring that does not affect compiler behavior. Reviewed-on: https://go-review.googlesource.com/c/150064 From-SVN: r266525
Ian Lance Taylor committed -
PR middle-end/87157 * gcc.dg/vect/costmodel/ppc/costmodel-vect-33.c (main1): Add noipa attribute. From-SVN: r266524
Jakub Jelinek committed -
In preparation for writing expressions to inline function bodies, change the existing expression export code to use Export_function_body rather than Export. Adjust existing expression exporters accordingly. This is a refactoring that doesn't affect compiler output. Reviewed-on: https://go-review.googlesource.com/c/150063 From-SVN: r266523
Ian Lance Taylor committed -
PR 87756 - missing unterminated argument warning using address of a constant character PR 88211 - missing warning on printf %ls and unterminated wide member array PR 88226 - missing warning on fprintf, fputs, and puts with an unterminated array gcc/ChangeLog: * gcc.dg/tree-ssa/builtin-fprintf-warn-1.c: Update/remove xfails. * gcc.dg/tree-ssa/builtin-printf-warn-1.c: Same. * gcc.dg/tree-ssa/user-printf-warn-1.c: Same. From-SVN: r266522
Martin Sebor committed -
2018-11-27 Martin Liska <mliska@suse.cz> * gcov.c (generate_results): Append current_working_directory only when exists. From-SVN: r266521
Martin Liska committed -
gcc/ChangeLog: 2018-11-27 Mike Gulick <mgulick@mathworks.com> PR preprocessor/83173 * input.c (dump_location_info): Dump reason and included_from fields from line_map_ordinary struct. Fix indentation when location > 5 digits. * diagnostic-show-locus.c (num_digits, num_digits): Move to diagnostic.c to allow it to be utilized by input.c. * diagnostic.c (num_digits, selftest::test_num_digits): Moved here. (selftest::diagnostic_c_tests): Run selftest::test_num_digits. * diagnostic.h (num_digits): Add extern definition. libcpp/ChangeLog: 2018-11-27 Mike Gulick <mgulick@mathworks.com> PR preprocessor/83173 * location-example.txt: Update example -fdump-internal-locations output. From-SVN: r266520
Mike Gulick committed -
The short loop bug under certain conditions causes loops to execute only once or twice, due to a hardware bug in the R5900 chip. `-march=r5900' already enables the R5900 short loop workaround. However, the R5900 ISA and most other MIPS ISAs are mutually exclusive since R5900-specific instructions are generated as well. The `-mfix-r5900' option can be used in combination with e.g. `-mips2' or `-mips3' to generate generic MIPS binaries that also work with the R5900 target. The workaround is implemented by GAS rather than by GCC. The following small `shortloop.c' file has been used as a test with GCC 8.2.0: void shortloop(void) { __asm__ __volatile__ ( " li $3, 300\n" "loop:\n" " addi $3, -1\n" " addi $4, -1\n" " bne $3, $0, loop\n" " li $4, 3\n" ::); } The following six combinations have been tested: % mipsr5900el-unknown-linux-gnu-gcc -O1 -c shortloop.c % mipsr5900el-unknown-linux-gnu-gcc -O1 -c shortloop.c -mfix-r5900 % mipsr5900el-unknown-linux-gnu-gcc -O1 -c shortloop.c -mno-fix-r5900 % mipsr4000el-unknown-linux-gnu-gcc -O1 -c shortloop.c % mipsr4000el-unknown-linux-gnu-gcc -O1 -c shortloop.c -mfix-r5900 % mipsr4000el-unknown-linux-gnu-gcc -O1 -c shortloop.c -mno-fix-r5900 The R5900 short loop erratum is corrected in exactly three cases: 1. for the target `mipsr5900el' by default; 2. for the target `mipsr5900el' with `-mfix-r5900'; 3. for any other MIPS target (e.g. `mipsr4000el') with `-mfix-r5900'. In all other cases the correction is not made. 2018-11-27 Fredrik Noring <noring@nocrew.org> gcc/ * config/mips/mips.c (mips_reorg_process_insns) (mips_option_override): Handle `-mfix-r5900'. * config/mips/mips.h (ASM_SPEC): Add `mfix-r5900' and `mno-fix-r5900'. * config/mips/mips.opt (mfix-r5900): New option. * doc/invoke.texi: Document the `r5900' processor name, and `-mfix-r5900' and `-mno-fix-r5900' options. From-SVN: r266519
Fredrik Noring committed -
2018-11-27 Mike Gulick <mgulick@mathworks.com> PR preprocessor/83173 * gcc.dg/plugin/location-overflow-test-pr83173.c: New test. * gcc.dg/plugin/location-overflow-test-pr83173.h: Header for pr83173.c. * gcc.dg/plugin/location-overflow-test-pr83173-1.h: Header for pr83173.c. * gcc.dg/plugin/location-overflow-test-pr83173-2.h: Header for pr83173.c. * gcc.dg/plugin/location_overflow_plugin.c: Use PLUGIN_PRAGMAS instead of PLUGIN_START_UNIT. * gcc.dg/plugin/plugin.exp: Enable new test. From-SVN: r266518
Mike Gulick committed -
Start reading the export data generated by the last change in this series. At this point we will inline direct calls to empty functions and methods defined in different packages. Reviewed-on: https://go-review.googlesource.com/c/150062 From-SVN: r266517
Ian Lance Taylor committed -
2018-11-27 Mike Gulick <mgulick@mathworks.com> PR preprocessor/83173 * files.c (_cpp_stack_include): Check if line_table->highest_location is past current line before decrementing. From-SVN: r266516
Mike Gulick committed -
PR target/88188 * config/rs6000/rs6000.c (print_operand) <case 'D'>: Use output_operand_lossage instead of gcc_assert. <case 't'>: Likewise. <case 'z'>: Likewise. <case 'V'>: Use output_operand_lossage instead of gcc_unreachable. * gcc.target/powerpc/pr88188.c: New test. From-SVN: r266515
Jakub Jelinek committed -
* config/riscv/riscv (riscv_block_mvoe_straight): Use RETURN_BEGIN in call to move_by_pieces. * config/sh/sh-mem.c (expand_block_move): Use RETURN_BEGIN in call to move_by_pieces. From-SVN: r266514
Jeff Law committed -
* config/lm32/lm32.c (lm32_block_move_inline): Use RETURN_BEGIN in call to move_by_pieces. From-SVN: r266513
Jeff Law committed -
* config/mips/mips.c (mips_block_move_straight): Use RETURN_BEGIN in call to move_by_pieces. 2018-11-27 Tamar Christina <tamar.christina@arm.com> From-SVN: r266512
Jeff Law committed -
* config/microblaze/microblaze.c (microblaze_block_move_straight): Use RETURN_BEGIN in call to move_by_pieces. (microblaze_expand_block_move): Likewise. From-SVN: r266511
Jeff Law committed -
2018-11-27 Tamar Christina <tamar.christina@arm.com> * doc/md.texi (xorsign): Document it. From-SVN: r266510
Tamar Christina committed -
2018-11-27 Martin Liska <mliska@suse.cz> * config/gnu-user.h (TARGET_F951_OPTIONS): New. * gcc.c (find_fortran_preinclude_file): New function to handle Fortran pre-include. 2018-11-27 Martin Liska <mliska@suse.cz> * decl.c (gfc_match_gcc_builtin): New function. * gfortran.h (struct vect_builtin_tuple): New. (gfc_adjust_builtins): Likewise. * lang-specs.h (TARGET_F951_OPTIONS): New. (F951_OPTIONS): Use it. * lang.opt: Add new option -fpre-include. * match.h (gfc_match_gcc_builtin): Declare new function. * parse.c (decode_gcc_attribute): Handle builtin. (parse_progunit): Call gfc_adjust_builtins. * scanner.c (gfc_new_file): Load pre-included header file when provided. * trans-intrinsic.c (add_simd_flag_for_built_in): New. (gfc_adjust_builtins): Likewise. 2018-11-27 Martin Liska <mliska@suse.cz> * gfortran.dg/simd-builtins-1.f90: New test. * gfortran.dg/simd-builtins-1.h: New test. * gfortran.dg/simd-builtins-2.f90: New test. * gfortran.dg/simd-builtins-3.f90: New test. * gfortran.dg/simd-builtins-3.h: New test. * gfortran.dg/simd-builtins-4.f: New test. * gfortran.dg/simd-builtins-4.h: New test. * gfortran.dg/simd-builtins-5.f: New test. * gfortran.dg/simd-builtins-6.f90: New test. From-SVN: r266509
Martin Liska committed -
2018-11-27 Martin Liska <mliska@suse.cz> * asan.c (asan_emit_stack_protection): Use new enum values instead of int constants. * builtins.c (expand_builtin_memory_copy_args): Replace int type with memop_ret enum type. (expand_builtin_mempcpy_args): Likewise. (expand_builtin_memcpy): Use new enum values instead of int constants. Likewise. (expand_builtin_mempcpy): Likewise. (expand_movstr): Likewise. (expand_builtin_strcpy_args): Likewise. (expand_builtin_stpcpy_1): Likewise. (expand_builtin_strncpy): Likewise. (expand_builtin_memset_args): Likewise. * expr.c (move_by_pieces_d::finish_endp): Rename to ... (move_by_pieces_d::finish_retmode): ... this. (move_by_pieces): Change last argument type to memop_ret. (store_by_pieces): Use new enum values instead of int constants. (emit_block_move_hints): Likewise. (emit_push_insn): Likewise. (store_expr): Likewise. * expr.h (store_by_pieces): Change int to newly added enum type. * rtl.h (enum memop_ret): Define. (move_by_pieces): Use the enum type. From-SVN: r266508
Martin Liska committed -
* c-ada-spec.c: Include stringpool.h. (has_static_fields): Return false for incomplete types. (is_tagged_type): Likewise. (has_nontrivial_methods): Likewise. (dump_ada_node) <INTEGER_TYPE>: Deal specifically with __int128. (struct overloaded_name_hash): New structure. (struct overloaded_name_hasher): Likewise. (overloaded_names): New global variable. (init_overloaded_names): New static function. (overloaded_name_p): New predicate. (dump_ada_declaration) <TYPE_DECL>: Tidy up and set TREE_VISITED on the TYPE_STUB_DECL of the original type of a typedef, if any. <FUNCTION_DECL>: Bail out for an unsupported overloaded name. Remove always-true condition and dump forward types. (dump_ada_specs): Delete overloaded_names. From-SVN: r266506
Eric Botcazou committed -
When backtrace_vector_release is called with vec.size == 0, it releases the memory pointed at by vec.base. Set vec.base set to NULL if vec.size == 0 to ensure we don't point to released memory. Bootstrapped and reg-tested on x86_64. 2018-11-27 Tom de Vries <tdevries@suse.de> * mmap.c (backtrace_vector_release): Same. * unittest.c (test1): Add check. From-SVN: r266505
Tom de Vries committed -
As of C17, realloc with size 0 is marked as an obsolescent feature. Fix this in backtrace_vector_release by using free instead. Bootstrapped and reg-tested on x86_64. 2018-11-27 Tom de Vries <tdevries@suse.de> * alloc.c (backtrace_vector_release): Handle vec->size == 0 using free instead of realloc. * Makefile.am (check_PROGRAMS): Add unittest. * Makefile.in: Regenerate. * unittest.c: New file. From-SVN: r266504
Tom de Vries committed -
There are a few places in libgcc assembly where we don't emit call frame information for functions, potentially breaking unwinding from asynchronous signal handlers. This patch fixes them. Although I patch tramp.S there is no attempt made to provide CFI for the actual trampoline on the stack. Doing that would require generating CFI at run time and both registering and deregistering it, which is probably not worth doing since it would significantly slow down the call. * config/rs6000/morestack.S (__stack_split_initialize), (__morestack_get_guard, __morestack_set_guard), (__morestack_make_guard): Provide CFI covering these functions. * config/rs6000/tramp.S (__trampoline_setup): Likewise. From-SVN: r266503
Alan Modra committed -
The -mcpu=native support has bit-rotted a little, in particular the fallback when the native cpu couldn't be determined. This patch fixes the bit-rot and reorganizes ASM_CPU_SPEC so that it should be a little easier to keep the -mcpu=native data up to date. The patch also changes the fix for PR63177 (-mpower9-vector being passed by the user when the default is -mpower8) to also apply when -mcpu=powerpc64le and -mcpu=native is given. I'll note that the hack for PR63177 should probably be extended to lots of other options, if we're going to continue supporting all those sub-architecture options (-mpower9-vector, -mpower8-vector, -mcrypto, -mdirect-move, -mhtm, -mvsx and others) in the positive sense. I think those should have only been supported in their -mno- variants.. * config/rs6000/aix71.h (ASM_SPEC): Don't select default -maix64 cpu here. (ASM_CPU_SPEC): Do so here. Rewrite using if .. else if .. specs form. Error on missing -mcpu case. * config/rs6000/driver-rs6000.c (asm_names <_AIX>): Update NULL case. (asm_names <!_AIX>): Add missing cpus. Update NULL case. Apply PR63177 fix for -mcpu=power8 and -mcpu=powerpc64le. * config/rs6000/rs6000.h (ASM_CPU_SPEC): Rewrite using if .. else if .. specs form. Error on missing -mcpu case. Don't output duplicate -maltivec. Apply PR63177 fix for -mcpu=powerpc64le. From-SVN: r266502
Alan Modra committed -
The dump_* API attempts to capture emission location metadata for the various dump messages, but looking in -fsave-optimization-record shows that many dump messages are lacking useful impl_location values, instead having this location within dumpfile.c: "impl_location": { "file": "../../src/gcc/dumpfile.c", "function": "ensure_pending_optinfo", "line": 1169 }, The problem is that the auto-capturing of dump_impl_location_t is tied to dump_location_t, and this is tied to the dump_*_loc calls. If a message comes from a dump_* call without a "_loc" suffix (e.g. dump_printf), the current code synthesizes the dump_location_t within dump_context::ensure_pending_optinfo, and thus saves the useless impl_location seen above. This patch fixes things by changing the dump_* API so that, rather than taking a dump_flags_t, they take a new class dump_metadata_t, which is constructed from a dump_flags_t, but captures the emission location. Hence e.g.: dump_printf (MSG_NOTE, "some message\n"); implicitly builds a dump_metadata_t wrapping the MSG_NOTE and the emission location. If there are several dump_printf calls without a dump_*_loc call, the emission location within the optinfo is that of the first dump call within it. The patch updates selftest::test_capture_of_dump_calls to verify that the impl location of various dump_* calls is captured. I also verified things manually. gcc/ChangeLog: * dump-context.h (dump_context::dump_loc): Convert 1st param from dump_flags_t to const dump_metadata_t &. Convert 2nd param from const dump_location_t & to const dump_user_location_t &. (dump_context::dump_loc_immediate): Convert 2nd param from const dump_location_t & to const dump_user_location_t &. (dump_context::dump_gimple_stmt): Convert 1st param from dump_flags_t to const dump_metadata_t &. (dump_context::void dump_gimple_stmt_loc): Likewise; convert 2nd param from const dump_location_t & to const dump_user_location_t &. (dump_context::dump_gimple_expr): Convert 1st param from dump_flags_t to const dump_metadata_t &. (dump_context::dump_gimple_expr_loc): Likewise; convert 2nd param from const dump_location_t & to const dump_user_location_t &. (dump_context::dump_generic_expr): Convert 1st param from dump_flags_t to const dump_metadata_t &. (dump_context::dump_generic_expr_loc): Likewise; convert 2nd param from const dump_location_t & to const dump_user_location_t &. (dump_context::dump_printf_va): Convert 1st param from dump_flags_t to const dump_metadata_t &. (dump_context::dump_printf_loc_va): Likewise; convert 2nd param from const dump_location_t & to const dump_user_location_t &. (dump_context::dump_dec): Convert 1st param from dump_flags_t to const dump_metadata_t &. (dump_context::dump_symtab_node): Likewise. (dump_context::begin_scope): Split out 2nd param into user and impl locations. (dump_context::ensure_pending_optinfo): Add metadata param. (dump_context::begin_next_optinfo): Replace dump_location_t param with metadata and user location. * dumpfile.c (dump_context::dump_loc): Convert 1st param from dump_flags_t to const dump_metadata_t &. Convert 2nd param from const dump_location_t & to const dump_user_location_t &. (dump_context::dump_loc_immediate): Convert 2nd param from const dump_location_t & to const dump_user_location_t &. (dump_context::dump_gimple_stmt): Convert 1st param from dump_flags_t to const dump_metadata_t &. (dump_context::void dump_gimple_stmt_loc): Likewise; convert 2nd param from const dump_location_t & to const dump_user_location_t &. (dump_context::dump_gimple_expr): Convert 1st param from dump_flags_t to const dump_metadata_t &. (dump_context::dump_gimple_expr_loc): Likewise; convert 2nd param from const dump_location_t & to const dump_user_location_t &. (dump_context::dump_generic_expr): Convert 1st param from dump_flags_t to const dump_metadata_t &. (dump_context::dump_generic_expr_loc): Likewise; convert 2nd param from const dump_location_t & to const dump_user_location_t &. (dump_context::dump_printf_va): Convert 1st param from dump_flags_t to const dump_metadata_t &. (dump_context::dump_printf_loc_va): Likewise; convert 2nd param from const dump_location_t & to const dump_user_location_t &. (dump_context::dump_dec): Convert 1st param from dump_flags_t to const dump_metadata_t &. (dump_context::dump_symtab_node): Likewise. (dump_context::begin_scope): Split out 2nd param into user and impl locations. (dump_context::ensure_pending_optinfo): Add metadata param. (dump_context::begin_next_optinfo): Replace dump_location_t param with metadata and user location. (dump_gimple_stmt): Convert 1st param from dump_flags_t to const dump_metadata_t &. (dump_gimple_stmt_loc): Likewise; convert 2nd param from const dump_location_t & to const dump_user_location_t &. (dump_gimple_expr): Convert 1st param from dump_flags_t to const dump_metadata_t &. (dump_gimple_expr_loc): Likewise; convert 2nd param from const dump_location_t & to const dump_user_location_t &. (dump_generic_expr): Convert 1st param from dump_flags_t to const dump_metadata_t &. (dump_generic_expr_loc): Likewise; convert 2nd param from const dump_location_t & to const dump_user_location_t &. (dump_printf): Convert 1st param from dump_flags_t to const dump_metadata_t &. (dump_printf_loc): Likewise; convert 2nd param from const dump_location_t & to const dump_user_location_t &. (dump_dec): Convert 1st param from dump_flags_t to const dump_metadata_t &. (dump_symtab_node): Likewise. (dump_begin_scope): Split out 2nd param into user and impl locations. (selftest::assert_impl_location_eq): New function. (ASSERT_IMPL_LOCATION_EQ): New macro. (selftest::test_impl_location): Update to use ASSERT_IMPL_LOCATION_EQ. (selftest::test_capture_of_dump_calls): Convert "loc" to dump_user_location_t. Add ASSERT_IMPL_LOCATION_EQ throughout, verifying line numbers of dump emissions. * dumpfile.h (class dump_metadata_t): New class. (dump_printf): Convert 1st param from dump_flags_t to const dump_metadata_t &. (dump_printf_loc): Likewise; convert 2nd param from const dump_location_t & to const dump_user_location_t &. (dump_generic_expr_loc): Likewise. (dump_generic_expr): Convert 1st param from dump_flags_t to const dump_metadata_t &. (dump_gimple_stmt_loc): Likewise; convert 2nd param from const dump_location_t & to const dump_user_location_t &. (dump_gimple_stmt): Convert 1st param from dump_flags_t to const dump_metadata_t &. (dump_gimple_expr_loc): Likewise; convert 2nd param from const dump_location_t & to const dump_user_location_t &. (dump_gimple_expr): Convert 1st param from dump_flags_t to const dump_metadata_t &. (dump_symtab_node): Likewise. (dump_dec): Likewise. (dump_begin_scope): Split out 2nd param into user and impl locations. (auto_dump_scope::auto_dump_scope): Split "loc" param into a user location and impl_location, and capture the impl_location. (AUTO_DUMP_SCOPE): Rename param from LOC to USER_LOC. * loop-unroll.c (report_unroll): Update for changes to dump_printf_loc and dump_printf. * opt-problem.cc (opt_problem::opt_problem): Update for change to dump_loc. * optinfo-emit-json.cc (selftest::test_building_json_from_dump_calls): Convert "loc" from dump_location_t to dump_user_location_t. * optinfo.cc (optinfo::emit_for_opt_problem): Update for change in dump_loc_immediate. * profile.c (compute_branch_probabilities): Update for change to dump_printf_loc. * selftest.h (ASSERT_STR_CONTAINS_AT): New macro. * tree-vect-slp.c (vect_print_slp_tree): Update for change to dump_printf_loc. From-SVN: r266501
David Malcolm committed -
2018-11-27 Jozef Lawrynowicz <jozef.l@mittosystems.com> Tweak directives in GCC tests for msp430-elf gcc/ChangeLog: * doc/sourcebuild.texi: Document check_effective_target_int_eq_float and check_effective_target_ptr_eq_long. gcc/testsuite/ChangeLog: * lib/target-supports.exp (check_effective_target_logical_op_short_circuit): Add msp430. (check_effective_target_int_eq_float): New. (check_effective_target_ptr_eq_long): New. * c-c++-common/pr41779.c: Require int_eq_float for dg-warning tests. * c-c++-common/pr57371-2.c: XFAIL optimized dump scan when sizeof (float) != sizeof (int). * gcc.dg/pr84670-4.c: Require ptr_eq_long. * gcc.dg/pr85859.c: Likewise. * gcc.dg/Wno-frame-address.c: Skip for msp430-elf. * gcc.dg/torture/stackalign/builtin-apply-2.c: Likewise. * gcc.dg/ifcvt-4.c: Likewise. * gcc.dg/pr34856.c: Likewise. * gcc.dg/builtin-apply2.c: Likewise. * gcc.dg/tree-ssa/ssa-dse-26.c: Likewise. * gcc.dg/attr-alloc_size-11.c: Remove dg-warning XFAIL for msp430. * gcc.dg/tree-ssa/20040204-1.c: Likewise. * gcc.dg/compat/struct-by-value-16a_x.c: Build at -O1 for msp430 so it fits. * gcc.dg/lto/20091013-1_0.c: Require ptr_eq_long. * gcc.dg/lto/20091013-1_1.c: Remove xfail-if for when sizeof(void *) != sizeof(long). * gcc.dg/lto/20091013-1_2.c: Likewise. * gcc.dg/tree-ssa/loop-1.c: Fix expected dg-final behaviour for msp430. * gcc.dg/tree-ssa/gen-vect-25.c: Likewise. * gcc.dg/tree-ssa/gen-vect-11.c: Likewise. * gcc.dg/tree-ssa/loop-35.c: Likewise. * gcc.dg/tree-ssa/pr23455.c: Likewise. * gcc.dg/weak/typeof-2.c: Likewise. * gcc.target/msp430/interrupt_fn_placement.c: Skip for 430 ISA. * gcc.target/msp430/pr78818-data-region.c: Fix scan-assembler text. * gcc.target/msp430/pr79242.c: Don't skip for -msmall. * gcc.target/msp430/special-regs.c: Use "__asm__" instead of "asm". From-SVN: r266500
Jozef Lawrynowicz committed -
From-SVN: r266499
GCC Administrator committed -
This patch removes some duplication in rs6000/sysv4.h of macros found in gnu-user.h that we want for linux. Including gnu-user.h will mean powerpc doesn't miss updates to that file. * config.gcc (powerpc*-*-freebsd*, powerpc-*-netbsd*), (powerpc-*-eabisimaltivec*, powerpc-*-eabisim*, powerpc-*-elf*), (powerpc-*-eabialtivec*, powerpc-*-eabi*, powerpc-*-rtems*), (powerpc-wrs-vxworks*, powerpc-*-lynxos*, powerpcle-*-elf*), (powerpcle-*-eabisim*, powerpcle-*-eabi*): Add gnu-user.h to tm_file. * config/rs6000/freebsd.h (CPLUSPLUS_CPP_SPEC), (LINK_GCC_C_SEQUENCE_SPEC): Undef. (ASM_APP_ON, ASM_APP_OFF): Don't define. * config/rs6000/freebsd64.h (ASM_APP_ON, ASM_APP_OFF): Don't define. * config/rs6000/lynx.h (ASM_APP_ON, ASM_APP_OFF): Don't define. * config/rs6000/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Define. * config/rs6000/netbsd.h (CPLUSPLUS_CPP_SPEC), (LINK_GCC_C_SEQUENCE_SPEC): Undef. * config/rs6000/rtems.h (LINK_GCC_C_SEQUENCE_SPEC): Define. * config/rs6000/sysv4.h (GNU_USER_TARGET_CRTI): Redefine. (GNU_USER_TARGET_CRTN): Redefine. (CC1_SPEC): Use GNU_USER_TARGET_CC1_SPEC. (LIB_LINUX_SPEC): Use GNU_USER_TARGET_LIB_SPEC. (CRTOFFLOADBEGIN, CRTOFFLOADEND): Don't define. (STARTFILE_LINUX_SPEC): Define as GNU_USER_TARGET_STARTFILE_SPEC. (ENDFILE_LINUX_SPEC): Define as GNU_USER_TARGET_ENDFILE_SPEC. (UCLIBC_DYNAMIC_LINKER, CHOOSE_DYNAMIC_LINKER): Don't define. (LINK_EH_SPEC): Don't define. From-SVN: r266496
Alan Modra committed
-
- 26 Nov, 2018 9 commits
-
-
Fixes https://gcc.gnu.org/PR88135 Reviewed-on: https://go-review.googlesource.com/c/150897 From-SVN: r266495
Ian Lance Taylor committed -
gcc/ChangeLog: PR 87756 * expr.c (string_constant): Handle top-level decls of all character types and subobjects of narrow character type. gcc/testsuite/ChangeLog: PR 87756 * gcc.dg/warn-sprintf-no-nul-2.c: Move incomplete tests from here... * gcc.dg/warn-sprintf-no-nul-3.c: ...to here and complete them. From-SVN: r266494
Martin Sebor committed -
Using the macros in config/linux.h rather than duplicating them helps stop future bitrot, and repairs existing bitrot (4 choices for libc in linux.h, fewer in the rs6000 files not that it matters much). Also fixes the fact that __gnu_linux__ was always defined rather than just when glibc was the libc of choice. * config.gcc (powerpc*-*-linux*): Add linux.h to tm_file. * config/rs6000/linux.h (TARGET_OS_CPP_BUILTINS): Use GNU_USER_TARGET_OS_CPP_BUILTINS. (RS6000_ABI_NAME): Define. * config/rs6000/linux64.h (TARGET_OS_CPP_BUILTINS): Use GNU_USER_TARGET_OS_CPP_BUILTINS. (MUSL_DYNAMIC_LINKER32): Undef before defining. (UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64): Don't define. (CHOOSE_DYNAMIC_LINKER): Don't define. (GNU_USER_DYNAMIC_LINKER32, GNU_USER_DYNAMIC_LINKER64): Don't define. * config/rs6000/sysv4.h (MUSL_DYNAMIC_LINKER): Undef before defining. (CHOOSE_DYNAMIC_LINKER, GNU_USER_DYNAMIC_LINKER): Only define when not already defined. (CPP_OS_LINUX_SPEC): Remove defines and asserts handled by TARGET_OS_CPP_BUILTINS. From-SVN: r266493
Alan Modra committed -
* typeck.c (cp_build_binary_op): Call cp_save_expr instead of save_expr. * g++.dg/cpp0x/pr88120.C: New test. From-SVN: r266492
Marek Polacek committed -
2018-11-26 Iain Buclaw <ibuclaw@gdcproject.org> * update-copyright.py (TestsuiteFilter): Skip .d tests. (LibPhobosFilter): Add filter for upstream D sources. (GCCCopyright): Add D Language Foundation as external author. (GCCCmdLine): Add libphobos. From-SVN: r266491
Iain Buclaw committed -
Create a framework for putting function bodies in export data. At present only empty functions will be put there, and they will be ignored on import. Later patches will get this to the point of supporting inlining of (some) functions defined in other packages. Reviewed-on: https://go-review.googlesource.com/c/150061 From-SVN: r266490
Ian Lance Taylor committed -
2018-11-26 Jozef Lawrynowicz <jozef.l@mittosystems.com> Fix tests for 16-bit int. gcc/testsuite/ChangeLog: * c-c++-common/Warray-bounds-3.c (test_strcpy_bounds): Use long instead of int if __SIZEOF_INT__ == 2. * c-c++-common/Wrestrict.c: Test memcpy range with smaller length when __SIZEOF_SIZE_T < 4. * c-c++-common/rotate-8.c: Define smaller "large" constant when __SIZEOF_INT__ == 2. * gcc.dg/pr53037-1.c: Add dg-require-effective-target int32. * gcc.dg/pr53037-2.c: Likewise. * gcc.dg/pr53037-3.c: Likewise. * gcc.dg/pr85512.c: Likewise. * gcc.dg/pr59963-2.c: Add dg-warning for int16. * gcc.dg/sancov/cmp0.c: Explicitly use __INT32_TYPE__ instead of int. * gcc.dg/tree-ssa/addadd.c: Fix dg-final directives for int16. * gcc.dg/tree-ssa/pr79327-2.c: Likewise. * gcc.dg/tree-ssa/builtin-sprintf-2.c: Filter out invalid tests for int16. * gcc.dg/tree-ssa/builtin-sprintf-warn-10.c: Update sizes in dg-warning directives for int16. From-SVN: r266489
Jozef Lawrynowicz committed -
2018-11-26 Jozef Lawrynowicz <jozef.l@mittosystems.com> gcc/ChangeLog: * doc/sourcebuild.texi: Document check_effective_target_newlib_nano_io. gcc/testsuite/ChangeLog: * lib/target-supports.exp (check_effective_target_newlib_nano_io): New. * gcc.c-torture/execute/920501-8.c: Register undefined linker symbol _printf_float for newlib_nano_io target. * gcc.c-torture/execute/930513-1.c: Likewise. * gcc.dg/torture/builtin-sprintf.c: Likewise. * gcc.c-torture/execute/ieee/920810-1.x: New. From-SVN: r266488
Jozef Lawrynowicz committed -
PR target/88195 * config/i386/i386.c (def_builtin2): If tcode == VOID_FTYPE_UINT64 and !TARGET_64BIT, return NULL_TREE. * gcc.target/i386/pr88195.c: New test. From-SVN: r266487
Jakub Jelinek committed
-