- 06 Apr, 2018 11 commits
-
-
From-SVN: r259169
Tamar Christina committed -
re PR tree-optimization/85244 (Bad optimisation with flexible array member (may be related to -ftree-dominator-opts)) 2018-04-06 Richard Biener <rguenther@suse.de> PR middle-end/85244 * tree-dfa.c (get_ref_base_and_extent): Reset seen_variable_array_ref after seeing a component reference with an adjacent field. Treat refs to arrays at struct end of external decls similar to refs to unconstrained commons. * gcc.dg/torture/pr85244-1.c: New testcase. * gcc.dg/torture/pr85244-2.c: Likewise. From-SVN: r259168
Richard Biener committed -
re PR sanitizer/85213 (-fsanitize=undefined internal compiler error: in fold_convert_loc, at fold-const.c:2402) PR sanitizer/85213 * fold-const.c (twoval_comparison_p): Remove SAVE_P argument and don't look through SAVE_EXPRs with non-side-effects argument. Adjust recursive calls. (fold_comparison): Adjust twoval_comparison_p caller, don't handle save_p here. * c-c++-common/ubsan/pr85213.c: New test. From-SVN: r259167
Jakub Jelinek committed -
2018-04-06 Richard Biener <rguenther@suse.de> PR middle-end/85180 * alias.c (find_base_term): New wrapper around find_base_term unwinding CSELIB_VAL_PTR changes. (find_base_term): Do not restore CSELIB_VAL_PTR during the recursion. * gcc.dg/pr85180.c: New testcase. From-SVN: r259166
Richard Biener committed -
gcc/testsuite/ChangeLog: 2018-04-06 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * gcc.target/s390/vector/vcond-shift.c: Use the proper conditions to trigger the optimization. Do some cleanup and function renaming. Add more test functions. From-SVN: r259165
Andreas Krebbel committed -
We still use lr r0,r0 as a NOP instruction although we have some kind of dedicated NOP instruction (nopr) which maps to a "branch never". As a side-effect this fixes testcases scanning for NOPs e.g. patchable_function_entry-*. As another side-effect this makes it difficult to distingiush NOPs generated for hotpatching from NOPs added when using -O0 to attach location information to it. Hence I had to make sure that the hotpatch testcases get skipped when compiling without optimization. gcc/ChangeLog: 2018-04-06 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * config/s390/s390.c (s390_z10_optimize_cmp): Expand dedicated NOP instructions. * config/s390/s390.md (UNSPECV_NOP_LR_0, UNSPECV_NOP_LR_1): New constant definitions. ("nop"): lr 0,0 -> nopr r0 ("nop_lr0", "nop_lr1"): New insn definitions. gcc/testsuite/ChangeLog: 2018-04-06 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * gcc.target/s390/s390.exp: Remove -O0 from list of torture options. * gcc.target/s390/hotpatch-1.c: Skip when building without optimization. * gcc.target/s390/hotpatch-10.c: Likewise. * gcc.target/s390/hotpatch-11.c: Likewise. * gcc.target/s390/hotpatch-12.c: Likewise. * gcc.target/s390/hotpatch-13.c: Likewise. * gcc.target/s390/hotpatch-14.c: Likewise. * gcc.target/s390/hotpatch-15.c: Likewise. * gcc.target/s390/hotpatch-16.c: Likewise. * gcc.target/s390/hotpatch-17.c: Likewise. * gcc.target/s390/hotpatch-18.c: Likewise. * gcc.target/s390/hotpatch-19.c: Likewise. * gcc.target/s390/hotpatch-2.c: Likewise. * gcc.target/s390/hotpatch-3.c: Likewise. * gcc.target/s390/hotpatch-4.c: Likewise. * gcc.target/s390/hotpatch-5.c: Likewise. * gcc.target/s390/hotpatch-6.c: Likewise. * gcc.target/s390/hotpatch-7.c: Likewise. * gcc.target/s390/hotpatch-8.c: Likewise. * gcc.target/s390/hotpatch-9.c: Likewise. From-SVN: r259164
Andreas Krebbel committed -
On IBM Z we enforce function alignment to 8 bytes. Hence we get an error instead of a warning when trying to specify smaller alignments. gcc/testsuite/ChangeLog: 2018-04-06 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * c-c++-common/Wattributes.c: Disable warning for s390* target and check for an error instead. * gcc.dg/Wattributes-6.c: Likewise. From-SVN: r259163
Andreas Krebbel committed -
gcc/ * config/nds32/nds32.md (*stack_push, *stack_pop): Use NDS32_V3PUSH_AVAILABLE_P macro. From-SVN: r259162
Chung-Ju Wu committed -
gcc/ * config.gcc (nds32*-*-*): Add v2j v3f v3s checking. (nds32*-*-*): Add float and fpu_config into supported_defaults. * common/config/nds32/nds32-common.c (TARGET_DEFAULT_TARGET_FLAGS): Include TARGET_DEFAULT_FPU_ISA and TARGET_DEFAULT_FPU_FMA. * config/nds32/constants.md (unspec_element): Add UNSPEC_COPYSIGN, UNSPEC_FCPYNSD, UNSPEC_FCPYNSS, UNSPEC_FCPYSD and UNSPEC_FCPYSS. * config/nds32/constraints.md: New constraints and checking for hard float configuration. * config/nds32/iterators.md: New mode iterator and attribute for hard float configuration. * config/nds32/nds32-doubleword.md: Use hard float alternatives and patterns. * config/nds32/nds32-fpu.md: New file. * config/nds32/nds32-md-auxiliary.c: New functions and checkings to deal with hard float code generation. * config/nds32/nds32-opts.h (nds32_arch_type): Add ARCH_V3F and ARCH_V3S. (abi_type, float_reg_number): New enum type. * config/nds32/nds32-predicates.c: New predicates for hard float. * config/nds32/nds32-protos.h: Declare functions for hard float. * config/nds32/nds32.c: Implementation for hard float configuration. * config/nds32/nds32.h: Definitions for hard float configuration. * config/nds32/nds32.md: Include hard float machine description and modify patterns for hard float configuration. * config/nds32/nds32.opt: New options for hard float configuration. * config/nds32/predicates.md: New predicates for hard float configuration. Co-Authored-By: Chung-Ju Wu <jasonwucj@gmail.com> From-SVN: r259161
Monk Chiang committed -
gcc/ * common/config/nds32/nds32-common.c (nds32_option_optimization_table): Enable -mreleax-hint by default. From-SVN: r259160
Kuan-Lin Chen committed -
From-SVN: r259159
GCC Administrator committed
-
- 05 Apr, 2018 29 commits
-
-
PR c++/85209 * pt.c (tsubst_decomp_names): Don't fail or ICE if DECL_CHAIN (decl3) is not prev, if prev == decl. * g++.dg/cpp1z/decomp39.C: New test. * g++.dg/cpp1z/decomp40.C: New test. From-SVN: r259156
Jakub Jelinek committed -
PR c++/85208 * decl.c (start_decl): For DECL_DECOMPOSITION_P decls, don't call maybe_apply_pragma_weak here... (cp_maybe_mangle_decomp): ... but call it here instead. * g++.dg/cpp1z/decomp41.C: New test. From-SVN: r259155
Jakub Jelinek committed -
* decl.c (maybe_deduce_size_from_array_init): Handle dependent designated initializer. (check_array_designated_initializer): Update ce->index with the constant value. From-SVN: r259152
Jason Merrill committed -
re PR middle-end/85195 (ICE: verify_gimple failed: non-trivial conversion at assignment with -O -fno-tree-ccp --param=sccvn-max-scc-size=10) PR middle-end/85195 * match.pd (BIT_FIELD_REF CONSTRUCTOR@0 @1 @2): Use view_convert around CONSTRUCTOR_ELT (ctor, ...)->value. * gcc.dg/pr85195.c: New test. From-SVN: r259149
Jakub Jelinek committed -
config/plugins.m4 has if test "$plugins" = "yes"; then AC_SEARCH_LIBS([dlopen], [dl]) fi Plugin uses dlsym, but libasan.so only intercepts dlopen, not dlsym: [hjl@gnu-tools-1 binutils-text]$ nm -D /lib64/libasan.so.4| grep " dl" 0000000000038580 W dlclose U dl_iterate_phdr 000000000004dc50 W dlopen U dlsym U dlvsym [hjl@gnu-tools-1 binutils-text]$ Testing dlopen for libdl leads to false negative when -fsanitize=address is used. It results in link failure: ../bfd/.libs/libbfd.a(plugin.o): undefined reference to symbol 'dlsym@@GLIBC_2.16' dlsym should be used to check if libdl is needed for plugin. PR gas/22318 * plugins.m4 (AC_PLUGINS): Use dlsym to check if libdl is needed. From-SVN: r259140
H.J. Lu committed -
* typeck2.c (process_init_constructor_array): Don't require a VLA initializer to have VLA type. From-SVN: r259138
Jason Merrill committed -
/cp 2018-04-05 Paolo Carlini <paolo.carlini@oracle.com> PR c++/80956 * call.c (convert_like_real): Fail gracefully for a broken std::initializer_list, missing a definition. * name-lookup.c (do_pushtag): Tweak message, use %< and %>. /testsuite 2018-04-05 Paolo Carlini <paolo.carlini@oracle.com> PR c++/80956 * g++.dg/cpp0x/initlist100.C: New. * g++.dg/cpp0x/initlist101.C: Likewise. From-SVN: r259137
Paolo Carlini committed -
/cp 2018-04-05 Paolo Carlini <paolo.carlini@oracle.com> PR c++/84792 * decl.c (grokdeclarator): Fix diagnostic about typedef name used as nested-name-specifier, keep type and TREE_TYPE (decl) in sync. /testsuite 2018-04-05 Paolo Carlini <paolo.carlini@oracle.com> PR c++/84792 * g++.dg/other/pr84792-1.C: New. * g++.dg/other/pr84792-2.C: Likewise. From-SVN: r259136
Paolo Carlini committed -
* include/std/variant (_VARIANT_RELATION_FUNCTION_TEMPLATE): Qualify __get calls to avoid ADL and avoid ambiguity due to Clang bug. From-SVN: r259135
Jonathan Wakely committed -
re PR target/85193 (ICE: SIGSEGV in memory_operand at recog.c:1361 with -O2 -fno-tree-ccp -fno-tree-fre -mno-sse) PR target/85193 * config/i386/i386.md (define_attr "memory"): Handle rotate1 type. testsuite/ChangeLog: PR target/85193 * gcc.target/i386/pr85193.c: New test. From-SVN: r259134
Uros Bizjak committed -
* pt.c (do_class_deduction): Ignore inherited ctors. From-SVN: r259133
Jason Merrill committed -
* decl2.c (cp_check_const_attributes): Use fold_non_dependent_expr. From-SVN: r259132
Jason Merrill committed -
* pt.c (bt_instantiate_type_proc): Don't assume CLASSTYPE_TEMPLATE_INFO is non-null. From-SVN: r259130
Jason Merrill committed -
gcc/cp Implement P0969 * decl.c (find_decomp_class_base): Check accessibility instead of declared access, adjust diagnostic. testsuite/ Implement P0969 * g++.dg/cpp1z/decomp4.C: Adjust. * g++.dg/cpp1z/decomp38.C: New. From-SVN: r259129
Ville Voutilainen committed -
gcc/cp Implement P0961 * decl.c (get_tuple_decomp_init): Check the templatedness of a member get. testsuite/ Implement P0961 * g++.dg/cpp1z/decomp10.C: Adjust. * g++.dg/cpp1z/decomp37.C: New. From-SVN: r259128
Ville Voutilainen committed -
* pt.c (extract_locals_r): Don't record the local specs of variables declared within the pattern. From-SVN: r259127
Jason Merrill committed -
2018-04-05 Tom de Vries <tom@codesourcery.com> PR target/85204 * config/nvptx/nvptx.c (nvptx_single): Fix neutering of bb with only cond jump. * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test. From-SVN: r259125
Tom de Vries committed -
With concepts, we accept auto in explicit template arguments, but we should only accept them for template classes. Passing them to template functions or variables is not allowed. So, reject it, at parse time if possible, at specialization time otherwise. for gcc/cp/ChangeLog PR c++/84979 * pt.c (check_auto_in_tmpl_args): New. (tsubst_qualified_id): Use it to reject template args referencing auto for non-type templates. * parser.c (cp_parser_template_id): Likewise. * cp-tree.h (check_auto_in_tmpl_args): Declare. * typeck2.c (build_functional_cast): Report correct location for invalid use of auto. for gcc/testsuite/ChangeLog PR c++/84979 * g++.dg/concepts/pr84979.C: New. * g++.dg/concepts/pr84979-2.C: New. * g++.dg/concepts/pr84979-3.C: New. From-SVN: r259124
Alexandre Oliva committed -
* call.c (merge_conversion_sequences): Fix type of direct binding sequence. From-SVN: r259123
Jason Merrill committed -
gcc/ * config/nds32/constraints.md (U33): Fine-tune checking condition. * config/nds32/nds32-md-auxiliary.c (nds32_mem_format): Ditto. * config/nds32/nds32.h (nds32_16bit_address_type): Add ADDRESS_POST_MODIFY_LO_REG_IMM3U. Co-Authored-By: Kito Cheng <kito.cheng@gmail.com> From-SVN: r259122
Shiva Chen committed -
gcc/ * config/nds32/constraints.md (Ufe): New memory constraint. * config/nds32/nds32-md-auxiliary.c (nds32_mem_format, nds32_output_16bit_load): Consider r8 register for lwi45.fe format. * config/nds32/nds32.c (nds32_print_operand): Output lwi45.fe operands. * config/nds32/nds32.h (nds32_16bit_address_type): Add ADDRESS_R8_IMM7U. * config/nds32/nds32.md (*mov<mode>): Adjust pattern. Co-Authored-By: Kito Cheng <kito.cheng@gmail.com> From-SVN: r259121
Shiva Chen committed -
gcc/ * config/nds32/nds32.md: Use optimize_size in the condition for alu-shift instructions. From-SVN: r259120
Chung-Ju Wu committed -
gcc/ * config/nds32/nds32.md (divsi4, udivsi4): New patterns. From-SVN: r259119
Chung-Ju Wu committed -
gcc/ * config/nds32/nds32.md (negsi2): Refine pattern. From-SVN: r259118
Chung-Ju Wu committed -
gcc/ * config/nds32/iterators.md (shift_rotate): New code iterator. (shift): New code attribute. * config/nds32/nds32-md-auxiliary.c (nds32_expand_constant): New. * config/nds32/nds32-protos.h (nds32_expand_constant): Declare. * config/nds32/nds32.c (nds32_print_operand): Deal with more cases. * config/nds32/nds32.md (addsi3, *add_srli): Refine implementation for bit-wise operations. (andsi3, *andsi3): Ditto. (iorsi3, *iorsi3, *or_slli, *or_srli): Ditto. (xorsi3, *xorsi3, *xor_slli, *xor_srli): Ditto. (<shift>si3, *ashlsi3, *ashrsi3, *lshrsi3, *rotrsi3): Ditto. * config/nds32/predicates.md (nds32_rimm5u_operand, nds32_and_operand, nds32_ior_operand, nds32_xor_operand): New predicates. Co-Authored-By: Chung-Ju Wu <jasonwucj@gmail.com> From-SVN: r259117
Kito Cheng committed -
gcc/ * config/nds32/nds32.md (add<mode>3, sub<mode>3): Rename to ... (addsi3, subsi3): ... this. From-SVN: r259116
Chung-Ju Wu committed -
gcc/ * config/nds32/nds32.md (*sub_srli, *and_slli): Fine-tune predicator. From-SVN: r259115
Chung-Ju Wu committed -
gcc/ * config/nds32/nds32.md: Adjust indention. From-SVN: r259114
Chung-Ju Wu committed -
gcc/ * config/nds32/nds32.md (feature): New attribute. From-SVN: r259113
Kito Cheng committed
-