- 05 Apr, 2019 4 commits
-
-
* constexpr.c (cxx_eval_statement_list): Jumping out of a statement-expr is non-constant. From-SVN: r270161
Jason Merrill committed -
My patch for PR 86932 broke this testcase by passing tf_partial to coerce_template_template_parms, which prevented do_auto_deduction from actually replacing the auto. * pt.c (do_auto_deduction): Clear tf_partial. From-SVN: r270160
Jason Merrill committed -
Three separate issues were breaking this testcase. One, we were trying to look at the type of a template template parameter to see if it's a valid non-type template parameter. Two, we were treating a parameter pack named in the type of a template parameter pack of a TTP pack as being one of the packs expanded by the outer pack. Three, we weren't supplying all the necessary levels of template arguments when TTP matching. * pt.c (coerce_template_parameter_pack): Only look at the type of a non-type parameter pack. (fixed_parameter_pack_p_1): Don't recurse into the type of a non-type parameter pack. (coerce_template_template_parms): Call add_outermost_template_args. From-SVN: r270159
Jason Merrill committed -
From-SVN: r270158
GCC Administrator committed
-
- 04 Apr, 2019 11 commits
-
-
PR c++/89974 - ICE on a definition of a non-type specialization on a struct object with pointer to member function PR c++/89974 - ICE on a definition of a non-type specialization on a struct object with pointer to member function PR c++/89878 - same specializations on a zero-initialized struct object as a non-type parameter treated as distinct PR c++/89833 - sorry, unimplemented: string literal in function template signature PR c++/47488 - sorry, unimplemented: string literal in function template signature gcc/cp/ChangeLog: PR c++/89974 PR c++/89878 PR c++/89833 PR c++/47488 * decl.c (reshape_init_array_1): Strip trailing zero-initializers from arrays of trivial type and known size. * mangle.c (write_expression): Convert braced initializer lists to STRING_CSTs. (write_expression): Trim trailing zero-initializers from arrays of trivial type. (write_template_arg_literal): Mangle strings the same as braced initializer lists. gcc/testsuite/ChangeLog: PR c++/89974 PR c++/89878 PR c++/89833 PR c++/47488 * gcc/testsuite/g++.dg/abi/mangle69.C: New test. * gcc/testsuite/g++.dg/abi/mangle70.C: New test. * gcc/testsuite/g++.dg/abi/mangle71.C: New test. * gcc/testsuite/g++.dg/abi/mangle72.C: New test. * gcc/testsuite/g++.dg/cpp0x/constexpr-array19.C: New test. * gcc/testsuite/g++.dg/cpp2a/nontype-class15.C: New test. * gcc/testsuite/g++.dg/cpp2a/nontype-class16.C: New test. * gcc/testsuite/g++.dg/init/array51.C: New test. From-SVN: r270155
Martin Sebor committed -
PR middle-end/89957 - ICE calling strnlen with an int128_t bound in a known range PR middle-end/89911 - [9 Regression] ICE in get_attr_nonstring_decl gcc/ChangeLog: PR middle-end/89957 PR middle-end/89911 * builtins.c (expand_builtin_strnlen): Make sure wi::ltu_p operands have the same precision since the function crashes otherwise. * calls.c (maybe_warn_nonstring_arg): Avoid assuming strnlen() call has non-zero arguments. gcc/testsuite/ChangeLog: PR middle-end/89957 PR middle-end/89911 * gcc.dg/Wstringop-overflow-13.c: New test. From-SVN: r270154
Martin Sebor committed -
gcc/ChangeLog: PR middle-end/89934 * gimple-ssa-warn-restrict.c (builtin_access::builtin_access): Bail out if the number of arguments is less than expected. gcc/testsuite/ChangeLog: PR middle-end/89934 * gcc.dg/Wrestrict-19.c: New test. * gcc.dg/Wrestrict-5.c: Add comment. Remove unused code. From-SVN: r270152
Martin Sebor committed -
re PR target/89399 (ICE: RTL check: expected code 'set', 'clobber' or 'clobber_high', have 'parallel' in combine_reaching_defs, at ree.c:783) PR rtl-optimization/89399 * ree.c (combine_set_extension): Use single_set rather than digging into PATTERN for items on the candidate list. (combine_reaching_defs): Likewise. PR rtl-optimization/89399 * gcc.c-torture/compile/pr89399.c: New test. From-SVN: r270151
Jeff Law committed -
2019-04-04 Harald Anlauf <anlauf@gmx.de> PR fortran/89004 * check.c (gfc_check_transfer): Reject procedures as actual arguments for SOURCE and MOLD of TRANSFER intrinsic. PR fortran/89004 * gfortran.dg/pr85797.f90: Adjust testcase. From-SVN: r270150
Harald Anlauf committed -
2019-04-04 Paolo Carlini <paolo.carlini@oracle.com> PR c++/65619 * g++.dg/template/friend67.C: New. From-SVN: r270146
Paolo Carlini committed -
2019-04-04 Paolo Carlini <paolo.carlini@oracle.com> PR c++/61327 * g++.dg/cpp0x/friend4.C: New. * g++.dg/cpp0x/friend5.C: Likewise. From-SVN: r270145
Paolo Carlini committed -
2019-04-04 Paolo Carlini <paolo.carlini@oracle.com> PR c++/56643 * g++.dg/cpp0x/noexcept40.C: New. From-SVN: r270144
Paolo Carlini committed -
From-SVN: r270143
Christophe Lyon committed -
- df_live is already present at -O2, so we only need to add it and mark all blocks dirty for -O - df_process_deferred_rescans should be enough to force a rescan of blocks affected by moving invariants, but calling it in find_defs means that we don't do any rescans for the final loop 2019-04-04 Richard Sandiford <richard.sandiford@arm.com> gcc/ PR rtl-optimization/46590 * loop-invariant.c (find_defs): Move df_remove_problem and df_process_deferred_rescans to move_invariants. Move df_live_add_problem and df_live_set_all_dirty calls to move_invariants. (move_invariants): Likewise. (move_loop_invariants): Likewise, making the df_live calls conditional on -O. Remove the problem again if we added it locally. From-SVN: r270142
Richard Sandiford committed -
From-SVN: r270141
GCC Administrator committed
-
- 03 Apr, 2019 21 commits
-
-
This testcase manages to find a way to look up the partial instantiation of B for the default argument of C before we've created the partial instantiation of B as part of the normal instantiation of the members of A. Which we can deal with, but we were getting confused because the partial instantiation was stored with a RECORD_TYPE specialization rather than TEMPLATE_DECL. * pt.c (tsubst_template_decl): Handle getting a type from retrieve_specialization. From-SVN: r270138
Jason Merrill committed -
2019-04-03 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/68567 * expr.c (gfc_reduce_init_expr): Add extra check to avoid dereferencing a null pointer. 2019-04-03 Dominique d'Humieres <dominiq@gcc.gnu.org> PR fortran/68567 * gfortran.dg/parameter_array_error_1.f90: New test. From-SVN: r270137
Dominique d'Humieres committed -
This patch limits constexpr folding for -Wsign-compare to only cases that we would warn for without considering constant values, avoiding the folding in the testcase in question. gcc/c-family/ * c-warn.c (warn_for_sign_compare): Call fold_for_warn. gcc/cp/ * typeck.c (cp_build_binary_op): Don't fold for -Wsign-compare. From-SVN: r270136
Jason Merrill committed -
We were aborting when build_base_path returned an error because of the derived class not being complete yet, which wasn't considered by the assert. Fixed by checking for complete type first. The semantics.c change avoids a duplicate error message. * semantics.c (finish_offsetof): Handle error_mark_node. * typeck.c (build_class_member_access_expr): Call complete_type_or_maybe_complain before converting to base. From-SVN: r270135
Jason Merrill committed -
re PR tree-optimization/89730 (-flive-patching=inline-only-static should grant always_inline attribute for extern function) 2019-04-03 qing zhao <qing.zhao@oracle.com> PR tree-optimization/89730 * ipa-inline.c (can_inline_edge_p): Delete the checking for -flive-patching=inline-only-static. (can_inline_edge_by_limits_p): Add the checking for -flive-patching=inline-only-static and grant always_inline even when -flive-patching=inline-only-static is specified. * gcc.dg/live-patching-4.c: New test. From-SVN: r270134
Qing Zhao committed -
* lib/go-torture.exp: Only add lto to TORTURE_OPTIONS if it is supported. From-SVN: r270133
Clément Chigot committed -
* files.c (search_path_exhausted): Fix typo in comment. From-SVN: r270132
Jonathan Wakely committed -
PR rtl-optimization/81025 * reorg.c (skip_consecutive_labels): Do not skip past a BARRIER. From-SVN: r270129
Jeff Law committed -
2019-04-13 Christophe Lyon <christophe.lyon@linaro.org> PR c/71598 * gcc.dg/torture/pr71598-1.c: Skip if short_enums target. * gcc.dg/torture/pr71598-2.c: Skip if not short_enums target. From-SVN: r270126
Christophe Lyon committed -
re PR rtl-optimization/84101 (-O3 and -ftree-vectorize trying too hard for function returning trivial pair-of-uint64_t-structure) 2019-04-03 Richard Biener <rguenther@suse.de> PR tree-optimization/84101 * tree-vect-stmts.c: Include explow.h for hard_function_value, regs.h for hard_regno_nregs. (cfun_returns): New helper. (vect_model_store_cost): When vectorizing a store to a decl we return and the function ABI returns in a multi-reg location account for the possible spilling that will happen. * gcc.target/i386/pr84101.c: New testcase. From-SVN: r270123
Richard Biener committed -
The vector memory instructions only support short displacements. Reject invalid displacements early to prevent plenty of lay instructions to be generated later which then cannot be merged properly. gcc/ChangeLog: 2019-04-03 Andreas Krebbel <krebbel@linux.ibm.com> * config/s390/s390.c (s390_legitimate_address_p): Reject long displacement addresses for vector mode operands. From-SVN: r270122
Andreas Krebbel committed -
From-SVN: r270121
Jonathan Wakely committed -
When not optimizing for size, we can restore first blink, hence the return instruction will be executed faster. gcc/ xxxx-xx-xx Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc.c (GMASK_LEN): Define. (arc_restore_callee_saves): Restore first blink when !optimize_size. From-SVN: r270120
Claudiu Zissulescu committed -
This patch add the missing documentation bits for -mbranch-protection in both extend.texi and invoke.texi. *** gcc/ChangeLog *** 2019-04-03 Sudakshina Das <sudi.das@arm.com> * doc/extend.texi: Add deprecated comment on sign-return-address function attribute and add mbranch-protection. * doc/invoke.texi: Add bti to the options for mbranch-protection. From-SVN: r270119
Sudakshina Das committed -
simple test such as below was failing. | void main(int argc, char *argv[]) | { | size_t total_time = 115424; // expected 115.424 | double secs = (double)total_time/(double)1000; | printf("%s %d %lf\n", "secs", total_time, secs); // prints 113.504 | printf("%d\n", (size_t)secs); | } The printf eventually called into glibc stdlib/divrem.c:__mpn_divrem() which uses the __arc__ specific inline asm macros from longlong.h which were causing miscompilation. include/ 2019-03-28 Vineet Gupta <vgupta@synopsys.com> PR 89877 * longlong.h [__arc__] (add_ssaaaa): Add cc clobber (sub_ddmmss): Likewise. Signed-off-by: Claudiu Zissulescu <claziss@gmail.com> From-SVN: r270118
Vineet Gupta committed -
The __glibcxx_assert macro should be used to check preconditions that users must meet, not to check postconditions that the implementation must meet. We have tests to verify std::variant meets its postconditions, users shouldn't pay for those checks at runtime. PR libstdc++/85184 * include/std/variant (_Copy_assign_base, _Move_assign_base, variant): Remove assertions. (variant::emplace<_Tp>): Remove result of emplace<N> directly. From-SVN: r270117
Jonathan Wakely committed -
These hash specializations should have been added when the pmr::string and related typedefs were added. * include/std/string (__hash_string_base): New class template defining operator() for hashing strings. (hash<pmr::string>, hash<pmr::u8string>, hash<pmr::u16string>) (hash<pmr::u32string>, hash<pmr::wstring>): Define for C++17. * testsuite/21_strings/basic_string/hash/hash.cc: New test. * testsuite/21_strings/basic_string/hash/hash_char8_t.cc: New test. From-SVN: r270116
Jonathan Wakely committed -
re PR fortran/89375 (fortran/expr.c:4723:5: warning: logical ‘or’ of equal expressions [-Wlogical-op]) 2019-04-03 Dominique d'Humieres <dominiq@gcc.gnu.org> PR fortran/89375 * expr.c (comp_pointer): Remove redundant condition. From-SVN: r270115
Dominique d'Humieres committed -
2019-04-03 Richard Biener <rguenther@suse.de> PR lto/89896 * lto-wrapper.c (run_gcc): Avoid implicit rules making the all target phony. From-SVN: r270112
Richard Biener committed -
A mem-initializer is not a type, and we don't want to turn autos within it into packs. * pt.c (make_pack_expansion): Change type_pack_expansion_p to false. From-SVN: r270111
Jason Merrill committed -
From-SVN: r270110
GCC Administrator committed
-
- 02 Apr, 2019 4 commits
-
-
From-SVN: r270105
Jeff Law committed -
PR target/89902 PR target/89903 * config/i386/i386.c (dimode_scalar_to_vector_candidate_p): Return false for variable DImode shifts. (dimode_scalar_chain::compute_convert_gain): Do not handle register count operand in variable DImode shifts. (dimode_scalar_chain::make_vector_copies): Remove support to copy count argument of a variable shift instruction to a vector register. (dimode_scalar_chain::convert_reg): Remove support to convert count argument of a variable shift instruction. testsuite/ChangeLog: PR target/89902 PR target/89903 * gcc.target/i386/pr70799-4.c: Remove. * gcc.target/i386/pr70799-5.c: Remove. * gcc.target/i386/pr89902.c: New test. * gcc.target/i386/pr89903.c: Ditto. From-SVN: r270102
Uros Bizjak committed -
2019-04-02 Andrey Belevantsev <abel@ispras.ru> PR rtl-optimization/84206 * sel-sched-ir.h (get_all_loop_exits): Avoid the outer loop when iterating over loop headers. * gcc.dg/pr84206.c: New test. From-SVN: r270096
Andrey Belevantsev committed -
2019-04-02 Andrey Belevantsev <abel@ispras.ru> PR rtl-optimization/85876 * sel-sched.c (code_motion_path_driver): Avoid unwinding first_insn beyond the original fence. * gcc.dg/pr85876.c: New test. From-SVN: r270095
Andrey Belevantsev committed
-