- 27 Apr, 2018 15 commits
-
-
From-SVN: r259718
Jason Merrill committed -
* cvt.c (cp_fold_convert): Use convert_ptrmem. * typeck.c (convert_ptrmem): Add a NOP even if no adjustment. From-SVN: r259717
Jason Merrill committed -
/cp 2018-04-27 Paolo Carlini <paolo.carlini@oracle.com> PR c++/84691 * decl.c (grokdeclarator): Clear friendp upon definition in local class definition error. /testsuite 2018-04-27 Paolo Carlini <paolo.carlini@oracle.com> PR c++/84691 * g++.dg/cpp0x/friend3.C: New. From-SVN: r259716
Paolo Carlini committed -
* cvt.c (cp_fold_convert): Pass PMF CONSTRUCTORs to build_ptrmemfunc. * typeck.c (build_ptrmemfunc): Don't build a NOP_EXPR for zero adjustment. (build_ptrmemfunc_access_expr): Special-case CONSTRUCTORs. From-SVN: r259712
Jason Merrill committed -
2018-04-27 Richard Biener <rguenther@suse.de> * config/aarch64/aarch64.c: Simplify ap.__stack advance and fix for ILP32. From-SVN: r259711
Richard Biener committed -
https://gcc.gnu.org/ml/gcc-patches/2018-04/msg01231.html * typeck.c (convert_ptrmem): Move local var decls to initialization. From-SVN: r259710
Nathan Sidwell committed -
2018-04-27 Richard Biener <rguenther@suse.de> * tree-cfg.c (verify_expr): Make dead code hit gcc_unreachable. From-SVN: r259705
Richard Biener committed -
https://gcc.gnu.org/ml/gcc-patches/2018-04/msg01227.html * cp-tree.h (TEMPLATE_INFO): Fix comments. (TI_PENDING_TEMPLATE_FLAG): Check TEMPLATE_INFO. (NON_DEFAULT_TEMPLATE_ARG_COUNT): Wrap line. (dump, print_other_binding_stacks): Remove declarations. * name-lookup.c (print_other_binding_stack): Make static. * pt.c (build_template_decl): Make static. From-SVN: r259704
Nathan Sidwell committed -
PR libgcc/85532 * config/rs6000/t-crtstuff (CRTSTUFF_T_CFLAGS): Add -fno-asynchronous-unwind-tables. From-SVN: r259702
Alan Modra committed -
* config/i386/i386.md (*movti_internal): Substitute Ye constraint with Yd constraint. Set "preferred_for_speed" attribute from TARGET_INTER_UNIT_MOVES_{FROM,TO}_VEC for alternatives with Yd constraint. (*movdi_internal): Ditto. (movti_interunit splitters): Remove TARGET_INTER_UNIT_MOVES_{FROM,TO}_VEC from insn condition. (movdi_interunit splitters): Ditto. * config/i386/constraints.md (Ye): Remove. (Yd): Do not depend on TARGET_INTER_UNIT_MOVES_{FROM,TO}_VEC. From-SVN: r259701
Uros Bizjak committed -
PR target/82518 * lib/target-supports.exp (check_effective_target_vect_load_lanes): Use check_effective_target_arm_little_endian. From-SVN: r259700
Kyrylo Tkachov committed -
PR target/85512 * config/aarch64/constraints.md (Usg): Limit to 31. (Usj): Limit to 63. From-SVN: r259699
Kyrylo Tkachov committed -
PR ada/85540 * init.c (__gnat_handle_vms_condition): Add missing parentheses. From-SVN: r259698
Eric Botcazou committed -
PR tree-optimization/85529 * tree-ssa-reassoc.c (optimize_range_tests_var_bound): Add FIRST_BB argument. Don't call get_nonzero_bits if opcode is ERROR_MARK_NODE, rhs2 def stmt's bb is dominated by first_bb and it isn't an obvious zero extension or masking of the MSB bit. (optimize_range_tests): Add FIRST_BB argument, pass it through to optimize_range_tests_var_bound. (maybe_optimize_range_tests, reassociate_bb): Adjust optimize_range_tests callers. * gcc.c-torture/execute/pr85529-1.c: New test. * gcc.c-torture/execute/pr85529-2.c: New test. * gcc.dg/pr85529.c: New test. From-SVN: r259696
Jakub Jelinek committed -
From-SVN: r259695
GCC Administrator committed
-
- 26 Apr, 2018 22 commits
-
-
With the soft-float n64 ABI and the data-sym-pool.c test case code like below is produced: .file 1 "data-sym-pool.c" .section .mdebug.abi64 .previous .nan legacy .module softfloat .module oddspreg .abicalls .option pic0 .text .align 2 .globl frob .set mips16 .set nomicromips .ent frob .type frob, @function frob: .frame $17,16,$31 # vars= 0, regs= 1/0, args= 0, gp= 0 .mask 0x00020000,-8 .fmask 0x00000000,0 daddiu $sp,-16 sd $17,8($sp) move $17,$sp ld $2,.L3 move $sp,$17 ld $17,8($sp) daddiu $sp,16 jr $31 .type __pool_frob_3, @object __pool_frob_3: .align 3 .L3: .dword 305419896 .type __pend_frob_3, @function __pend_frob_3: .insn .end frob .size frob, .-frob .ident "GCC: (GNU) 8.0.1 20180410 (experimental)" (we have no support for hard-float n64 MIPS16 code generation), which means that the test case will fail, as the regular expression pattern expects `lw' and `.word' rather than `ld' and `.dword' respectively to appear in assembly code generation. Correct the pattern in an obvious way then making it accept both intructions and pseudo-ops. gcc/testsuite/ * gcc.target/mips/data-sym-pool.c (dg-options): Match `ld' and `.dword' in addition to `lw' and `.word'. From-SVN: r259691
Maciej W. Rozycki committed -
With GCC configurations using the SVR4 rather than the PLT dynamic executable model and the o32 ABI with the data-sym-pool.c test case code like below is produced: .file 1 "data-sym-pool.c" .section .mdebug.abi32 .previous .nan legacy .module fp=xx .module nooddspreg .abicalls .text .align 2 .globl frob .set mips16 .set nomicromips .ent frob .type frob, @function frob: .frame $17,8,$31 # vars= 0, regs= 1/0, args= 0, gp= 0 .mask 0x00020000,-4 .fmask 0x00000000,0 save 8,$17 move $17,$sp lw $2,$L4 move $sp,$17 restore 8,$17 jr $31 .type __pool_frob_3, @object __pool_frob_3: .align 2 $L3: .word __gnu_local_gp $L4: .word 305419896 .type __pend_frob_3, @function __pend_frob_3: .insn .end frob .size frob, .-frob .ident "GCC: (GNU) 8.0.1 20180410 (experimental)" causing a failure due to the unexpected `__gnu_local_gp' entry in the constant pool, even though there is nothing wrong with it as far as the annotation being examined is concerned. Given that the SVR4 vs PLT code model consideration is irrelevant for this test case rather than rewriting the regular expression to match this variant of code just enforce the PLT model by using the `-mplt' option. It is safe to use this option unconditionally as it is silently ignored with configurations that do not support this model, e.g. bare metal ELF. gcc/testsuite/ * gcc.target/mips/data-sym-pool.c (dg-options): Add `-mplt'. From-SVN: r259690
Maciej W. Rozycki committed -
* cvt.c (cp_fold_convert): Handle PMF CONSTRUCTORs directly. From-SVN: r259689
Jason Merrill committed -
* cgraph.h (symbol_table): Just declare debug method here. * symtab.c (symbol_table::debug): Define. Co-Authored-By: Jakub Jelinek <jakub@redhat.com> From-SVN: r259685
Richard Biener committed -
From-SVN: r259683
Eric Botcazou committed -
* config/i386/i386.md ("isa" attribute): Add x64_sse2. ("enabled" attribute): Handle "isa" attribute. (*movdi_internal): Substitute Yi and Yj constraint with x and Ym and Yn constraint with y constraint. Update "isa" attribute and set "preferred_for_speed" attribute from TARGET_INTER_UNIT_MOVES_{FROM,TO}_VEC for updated alternatives. (*movsi_internal): Ditto. (*movdf_internal): Ditto. (*movsf_internal): Ditto. (*zero_extendsidi2): Ditto. * config/i386/sse.md (vec_set<mode>_0): Ditto. (sse2_loadld): Ditto. (*vec_extract<ssevecmodelower>_0): Ditto. (*vec_extractv4si_0_zext_sse4): Ditto. (vec_concatv2di): Ditto. (*vec_dup<mode>): Ditto. * config/i386/mmx.md (*mov<mode>_internal): Ditto. * config/i386/constraints.md (Yi): Remove. (Yj): Remove. (Ym): Remove. (Yn): Remove. From-SVN: r259682
Uros Bizjak committed -
https://gcc.gnu.org/ml/gcc-patches/2018-04/msg01173.html * dumpfile.c (dump_open): New. (dump_open_alternate_stream, dump_start, dump_begin): Call it. (dump_finish): Detect stdio/stderr by value not name. From-SVN: r259681
Nathan Sidwell committed -
* doc/invoke.texi (-Wreturn-type): Document default status for C++. From-SVN: r259679
Jonathan Wakely committed -
2018-04-26 Tom de Vries <tom@codesourcery.com> PR libgomp/84020 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL. * plugin/plugin-nvptx.c (_GNU_SOURCE): Define. (process_GOMP_NVPTX_JIT): New function. (link_ptx): Use process_GOMP_NVPTX_JIT. From-SVN: r259678
Tom de Vries committed -
2018-04-26 Tom de Vries <tom@codesourcery.com> PR target/84952 * config/nvptx/nvptx.c (verify_neutering_jumps) (verify_neutering_labels): New function (nvptx_single): Use verify_neutering_jumps and verify_neutering_labels. From-SVN: r259677
Tom de Vries committed -
2018-04-26 Tom de Vries <tom@codesourcery.com> PR target/84025 * config/nvptx/nvptx.c (needs_neutering_p): New function. (nvptx_single): Use needs_neutering_p to skip over insns that do not need neutering. From-SVN: r259676
Tom de Vries committed -
2018-04-26 Richard Biener <rguenther@suse.de> Tom de Vries <tom@codesourcery.com> PR lto/85422 * lto-streamer-out.c (output_function): Fixup loops if required to match discovery done in the reader. * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test. Co-Authored-By: Tom de Vries <tom@codesourcery.com> From-SVN: r259675
Richard Biener committed -
2018-04-26 Tom de Vries <tom@codesourcery.com> PR target/85519 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce recursion depth from 25 to 23. * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same. From-SVN: r259674
Tom de Vries committed -
2018-04-26 Richard Biener <rguenther@suse.de> PR tree-optimization/85116 * tree-ssa-loop-ch.c (do_while_loop_p): A do-while loop should have a loop exit from the single latch predecessor. Remove case of header with just condition. (ch_base::copy_headers): Exclude infinite loops from any processing. (pass_ch::execute): Record exits. * gcc.dg/tree-ssa/copy-headers-2.c: New testcase. * gcc.dg/tree-ssa/copy-headers-3.c: Likewise. * gcc.dg/tree-ssa/copy-headers-4.c: Likewise. * gcc.dg/tree-ssa/loadpre6.c: Adjust. From-SVN: r259672
Richard Biener committed -
2018-04-26 Richard Biener <rguenther@suse.de> * Makefile.tpl (STAGE1_TFLAGS): Add -fno-checking. (STAGE2_CFLAGS): Likewise. (STAGE2_TFLAGS): Likewise. (STAGE3_CFLAGS): Add -fchecking. (STAGE3_TFLAGS): Likewise. (STAGEtrain_CFLAGS): Filter out -fchecking. (STAGEtrain_TFLAGS): Likewise. * Makefile.in: Re-generate. From-SVN: r259669
Richard Biener committed -
tree-vect-data-refs.c (vect_get_data_access_cost): Get prologue cost vector and pass it to vect_get_load_cost. 2018-04-26 Richard Biener <rguenther@suse.de> * tree-vect-data-refs.c (vect_get_data_access_cost): Get prologue cost vector and pass it to vect_get_load_cost. (vect_get_peeling_costs_all_drs): Likewise. (vect_peeling_hash_get_lowest_cost): Likewise. (vect_enhance_data_refs_alignment): Likewise. From-SVN: r259668
Richard Biener committed -
2018-04-26 Richard Biener <rguenther@suse.de> PR middle-end/85450 * tree-cfg.c (verify_gimple_assign_unary): Restore proper checking of integer<->pointer conversions. * omp-expand.c (expand_omp_for_static_nochunk): Avoid sign-/zero-extending pointer types. (expand_omp_for_static_chunk): Likewise. From-SVN: r259667
Richard Biener committed -
* config/mips/mips.c (mips_asan_shadow_offset): New function. (TARGET_ASAN_SHADOW_OFFSET): Define. * config/mips/mips.h (FRAME_GROWS_DOWNWARD): Augment to also be true for -fsanitize=address. Co-Authored-By: Jean Lee <xiaoyur347@gmail.com> From-SVN: r259666
Hans-Peter Nilsson committed -
If someone has access to a 64-bit mips-linux system to test this (with the obvious edit), that'd be really nice. If someone has access to a 64-bit mips-linux system to test this (with the obvious edit), that'd be really nice. Until then, best to not introduce possible build failures. * configure.tgt <mips*-*-linux*>: Enable build, excluding mips*64*-*-linux*. From-SVN: r259665
Hans-Peter Nilsson committed -
http://gcc.gnu.org/ml/gcc/2018-03/msg00133.html
As mentioned in <http://gcc.gnu.org/ml/gcc/2018-03/msg00133.html> the bogus adjustment to 160 from 144 (which is reverted here)... As mentioned in <http://gcc.gnu.org/ml/gcc/2018-03/msg00133.html> the bogus adjustment to 160 from 144 (which is reverted here), is a single-token commit in upstream r301307, an attempt to correct a failed build due to an upstream change to compile the runtime with D_FILE_OFFSET_BITS=64. The correct fix is here: just use the right include. Yes, user-struct-stat64-as-stat is actually 160 for MIPS o32 and I hear user-struct-stat is also 160 for n32. There are additional fields appended for user-struct-stat! I guess for MIPS it's as bad as it gets for mixing up kernel and user struct stat. The context of the patch doesn't show that in the #else there's the correct include, the one for <asm/stat.h> to get the kernel-struct-stat. If you can't compile it, IMHO the kernel headers are just too old; 3.2 is fine for example. * sanitizer_common/sanitizer_platform_limits_linux.cc: Do not take the shortcut to #include <sys/stat.h> for MIPS instead of the kernel <asm/stat.h>. Explain why sys/stat.h is misleading or wrong to get the kernel struct stat. * sanitizer_common/sanitizer_platform_limits_posix.h [__mips__]: Correct the value for 32-bit non-android struct_kernel_stat_sz. From-SVN: r259664
Hans-Peter Nilsson committed -
This appears to be present in compiler-rt upstream, but as part of more intrusive changes. For gcc, the lack of this results in a fatal warning (-Werror) at build-time. * sanitizer_common/sanitizer_atomic_clang_other.h [_MIPS_SIM && _MIPS_SIM == _ABIO32] (lock): Add initializer for .pad member. From-SVN: r259663
Hans-Peter Nilsson committed -
From-SVN: r259662
GCC Administrator committed
-
- 25 Apr, 2018 3 commits
-
-
2018-04-25 Catherine Moore <clm@codesourcery.com> * MAINTAINERS (mips): Remove myself as MIPS maintainer. From-SVN: r259658
Catherine Moore committed -
When gcc dwarf2out generates the .debug_line table itself (for example when generating one for a split DWARF .dwo) it uses natural sorting for the directory table. Shorter directory paths come before longer directory paths with the same prefix. This causes the files in the line table to pick the shorter dir. Creating slightly ineffecient line tables because the longer directory paths will never be used. Fix this by changing file_info_cmp () to pick longer directory prefixes before shorter ones. We still sort files (the compilation unit) without any directory path before all entries with a directory path, so they will still use dir entry 0 (the working directory). A hello.c program would get the following dir and line table before: Directory table: /opt/local/install/gcc/lib/gcc/x86_64-pc-linux-gnu/8.0.1/include /usr/include /usr/include/bits File name table: Entry Dir Time Size Name 1 0 0 0 hello.c 2 1 0 0 stddef.h 3 2 0 0 bits/types.h 4 2 0 0 libio.h 5 2 0 0 stdio.h 6 2 0 0 bits/sys_errlist.h Note that the last directory table entry is never used. After this patch it looks as follows: Directory table: /opt/local/install/gcc/lib/gcc/x86_64-pc-linux-gnu/8.0.1/include /usr/include/bits /usr/include File name table: Entry Dir Time Size Name 1 0 0 0 hello.c 2 1 0 0 stddef.h 3 2 0 0 types.h 4 3 0 0 libio.h 5 3 0 0 stdio.h 6 2 0 0 sys_errlist.h Which is similar to what gas would output. gcc/ChangeLog: * dwarf2out.c (file_info_cmp): Sort longer dir prefixes before shorter ones. From-SVN: r259655
Mark Wielaard committed -
* config/i386/i386.md (*x86_mov<mode>cc_0_m1): Use type "alu1" rather than "alu", remove explicit "memory" and "imm_disp" attributes. (*x86_mov<mode>cc_0_m1_se, *x86_mov<mode>cc_0_m1_neg): Likewise. From-SVN: r259650
Jakub Jelinek committed
-