- 04 Apr, 2018 31 commits
-
-
re PR c++/80026 ([pending testcase installation] passing unresolved function pointer to variadic function template yields "too many arguments" error) 2018-04-04 Paolo Carlini <paolo.carlini@oracle.com> PR c++/80026 * g++.dg/cpp0x/variadic174.C: New. From-SVN: r259105
Paolo Carlini committed -
re PR inline-asm/85172 (internal compiler error: unexpected expression '<statement>' of kind asm_expr) PR inline-asm/85172 * constexpr.c (cxx_eval_builtin_function_call): For calls to builtin_valid_in_constant_expr_p functions, don't call cxx_eval_constant_expression if argument is not potential_constant_expression. * g++.dg/ext/builtin13.C: New test. * g++.dg/ext/atomic-4.C: New test. From-SVN: r259104
Jakub Jelinek committed -
PR c++/85146 * cp-tree.h (calculate_bases, calculate_direct_bases): Add complain argument. * semantics.c (calculate_bases): Add complain argument. Use complete_type_or_maybe_complain instead of just complete_type and return an empty vector if it fails. Move make_tree_vector () call after early return. Formatting fixes. (calculate_direct_bases): Likewise. Call release_tree_vector at the end. (dfs_calculate_bases_post, calculate_bases_helper): Formatting fixes. * pt.c (tsubst_pack_expansion): Adjust calculate_bases and calculate_direct_bases callers, formatting fixes. * g++.dg/ext/bases2.C: Expect extra error diagnostics. * g++.dg/ext/bases3.C: New test. From-SVN: r259101
Jakub Jelinek committed -
* pt.c (tsubst_pack_expansion): Allow unsubstituted auto pack. From-SVN: r259100
Jason Merrill committed -
* tree.c (cp_walk_subtrees): Walk into DECL_EXPR in templates. From-SVN: r259099
Jason Merrill committed -
* decl2.c (is_late_template_attribute): Handle unused and used normally on non-TYPE_DECL. From-SVN: r259098
Jason Merrill committed -
__builtin_cmse_nonsecure_caller implementation returns true in almost all cases due to 2 separate bugs: * gen_addsi is used instead of gen_andsi to retrieve the lsb * the lsb boolean value is not negated but the specification says the intrinsic should return true for a nonsecure caller and a nonsecure caller is characterized with LR's lsb being 0 This was not caught due to (1) lack of runtime test and (2) the existing RTL scan not taking into account that '.' matches newline in Tcl regular expressions. This commit fixes the implementation issues and improves testing of cmse_nonsecure_caller by (1) adding a runtime test for the secure caller case and (2) looking for an SET insn of an AND expression in the right function. This leaves the nonsecure caller case only partly tested since the exact value being AND and the negation are not covered by the scan and the existing test infrastructure does not allow 2 separate compilation and link to be performed. It is enough though to catch the current incorrect behavior. The commit also reorganize the scan directives in cmse-1.c to more easily identify what function they are intended to test in the file. 2018-04-04 Thomas Preud'homme <thomas.preudhomme@arm.com> gcc/ PR target/85203 * config/arm/arm-builtins.c (arm_expand_builtin): Change expansion to perform a bitwise AND of the argument followed by a boolean negation of the result. gcc/testsuite/ PR target/85203 * gcc.target/arm/cmse/cmse-1.c: Tighten cmse_nonsecure_caller RTL scan to match a single insn of the baz function. Move scan directives at the end of the file below the functions they are trying to test for better readability. * gcc.target/arm/cmse/cmse-16.c: New testcase. From-SVN: r259097
Thomas Preud'homme committed -
PR other/85161 * elf.c (elf_zlib_fetch): Fix up predefined macro names in test for big endian, only use 32-bit loads if endianity macros are predefined and indicate big or little endian. From-SVN: r259096
Jakub Jelinek committed -
* decl.c (grokdeclarator): Catch deduced class type in trailing return type. From-SVN: r259092
Jason Merrill committed -
* decl.c (cp_finish_decl): If a concept initializer is missing, use true. From-SVN: r259091
Jason Merrill committed -
* call.c (add_template_conv_candidate): Disable if there are any call operators. From-SVN: r259090
Jason Merrill committed -
* typeck.c (cp_build_modify_expr): Call decay_conversion for RHS of compound assignment. From-SVN: r259089
Jason Merrill committed -
* tree.c (replace_placeholders_r): Use handled_component_p. From-SVN: r259088
Jason Merrill committed -
PR c++/65923 gcc/cp PR c++/65923 * decl.c (grokfndecl): Handle standard UDL diagnostics here.. * parser.c (cp_parser_unqualified_id): ..not here. testsuite/ PR c++/65923 * g++.dg/diagnostic/pr65923.C: New. From-SVN: r259087
Ville Voutilainen committed -
gcc/ PR rtl-optimization/84878 * ddg.c (add_cross_iteration_register_deps): Use DF_REF_BB to determine the basic block. Assert the use reference is not artificial and that it has an associated insn. gcc/testsuite/ PR rtl-optimization/84878 * gcc.target/powerpc/pr84878.c: New test. From-SVN: r259085
Peter Bergner committed -
we shouldn't claim string overflows for character arrays at end of structures; the code that tries to avoid these accidentally passed the address of the accessed member to array_at_struct_end_p(), but that one wants the component_ref or array_ref itself. Needs updating of one testcase that incorrectly expected warning to occur in this situation. From-SVN: r259083
Michael Matz committed -
PR testsuite/85189 * g++.dg/inherit/override-attribs.C: Use dg-message instead of dg-error for the diagnostics of overridden functions. Adjust for new wording. From-SVN: r259082
Jakub Jelinek committed -
2018-04-04 Richard Biener <rguenther@suse.de> PR lto/85176 * dwarf2out.c (dwarf2out_register_external_die): Peel namespaces from contexts for DINFO_LEVEL_TERSE and below. * g++.dg/lto/pr85176_0.C: New testcase. From-SVN: r259080
Richard Biener committed -
gcc/ * config/nds32/nds32-doubleword.md (move_<mode>): Require resiter_operand condition. * config/nds32/nds32.md (*move<mode>): Ditto. From-SVN: r259077
Kito Cheng committed -
2018-04-04 Richard Biener <rguenther@suse.de> PR testsuite/85191 * lib/target-supports.exp (check_effective_target_vect_perm_short): Fix typo. From-SVN: r259075
Richard Biener committed -
2018-04-04 Martin Liska <mliska@suse.cz> PR sanitizer/85174 * c-c++-common/asan/pointer-compare-1.c: Disable section anchors and msdata as a workaround for powerpc. From-SVN: r259074
Martin Liska committed -
gcc/ * config/nds32/nds32.md (movmisalign<mode>): New pattern. Co-Authored-By: Monk Chiang <sh.chiang04@gmail.com> From-SVN: r259073
Kito Cheng committed -
re PR libfortran/85166 ([nvptx, libgfortran] Libgomp fortran tests using stop in offloaded fns fail to compile) 2018-04-04 Thomas Koenig <tkoenig@gcc.gnu.org> PR libfortran/85166 * runtime/minimal.c (stop_numeric): Add new function in order to implement numeric stop on minimal targets. From-SVN: r259072
Thomas Koenig committed -
gcc/ * config/nds32/nds32.md (movqi, movhi): Merge into mov<mode>. From-SVN: r259071
Chung-Ju Wu committed -
gcc/ * config/nds32/nds32-md-auxiliary.c (nds32_inverse_cond_code, nds32_cond_code_str, output_cond_branch, output_cond_branch_compare_zero, nds32_expand_cbranch, nds32_expand_cstore, nds32_expand_movcc, nds32_output_cbranchsi4_equality_zero, nds32_output_cbranchsi4_equality_reg, nds32_output_cbranchsi4_equality_reg_or_const_int, nds32_output_cbranchsi4_greater_less_zero: New functions. * config/nds32/nds32-protos.h (nds32_expand_cbranch, nds32_expand_cstore, nds32_expand_movcc, nds32_output_cbranchsi4_equality_zero, nds32_output_cbranchsi4_equality_reg, nds32_output_cbranchsi4_equality_reg_or_const_int, nds32_output_cbranchsi4_greater_less_zero): Declare. * config/nds32/predicates.md (nds32_movecc_comparison_operator, nds32_rimm11s_operand): New predicates. * config/nds32/nds32.h (nds32_expand_result_type): New enum type. * config/nds32/nds32.md: Rewrite all the branch and conditional move patterns. Co-Authored-By: Kito Cheng <kito.cheng@gmail.com> From-SVN: r259070
Chung-Ju Wu committed -
gcc/ * config/nds32/nds32-doubleword.md: Refine all the instruction type. * config/nds32/nds32.md: Ditto. * config/nds32/pipelines.md: Ditto. From-SVN: r259069
Kito Cheng committed -
re PR tree-optimization/85168 (ICE in tree-ssa-coalesce.c: SSA corruption: Unable to coalesce ssa_names which are marked as MUST COALESCE when -O2 is used) 2018-04-04 Richard Biener <rguenther@suse.de> PR tree-optimization/85168 * tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address): Avoid propagating abnormals. * gcc.dg/torture/pr85168.c: New testcase. From-SVN: r259068
Richard Biener committed -
fn[0]() ICEd because we would fold the INDIRECT_REF used for the array indexing while building the address for the call, after not finding the decl hiding there at first. But the decl would be exposed by the folding, and then lower layers would complain we had the decl, after all, but it wasn't one of the artificial or special functions that could be called without being marked as used. This patch arranges for a FUNCTION_DECL to be marked as used when taking its address, just like we already did when taking the address of a static function to call it as a member function (i.e. using the obj.fn() notation). However, we shouldn't mark functions as used when just performing overload resolution, lest we might instantiate templates we shouldn't, as in g++.dg/overload/template1.C, so we adjust mark_used to return early when testing conversions. for gcc/cp/ChangeLog PR c++/84943 * typeck.c (cp_build_addr_expr_1): Mark FUNCTION_DECL as used. * decl2.c (mark_used): Return without effects if tf_conv. for gcc/testsuite/ChangeLog PR c++/84943 * g++.dg/pr84943.C: New. * g++.dg/pr84943-2.C: New. From-SVN: r259067
Alexandre Oliva committed -
gcc/ * config/nds32/nds32.md (enabled): Use yes/no for this attribute. From-SVN: r259066
Chung-Ju Wu committed -
gcc/ * config/nds32/nds32-md-auxiliary.c (nds32_long_call_p): New function. * config/nds32/nds32-protos.h (nds32_long_call_p): Declare. * config/nds32/nds32.c (nds32_function_ok_for_sibcall): New function. (TARGET_FUNCTION_OK_FOR_SIBCALL): Define. * config/nds32/nds32.md (sibcall_internal): New. (sibcall_register): Remove. (sibcall_immediate): Remove. (sibcall_value_internal): New. (sibcall_value_register): Remove. (sibcall_value_immediate): Remove. * config/nds32/predicates.md (nds32_general_register_operand): New. (nds32_call_address_operand): New. Co-Authored-By: Kito Cheng <kito.cheng@gmail.com> From-SVN: r259065
Chung-Ju Wu committed -
From-SVN: r259064
GCC Administrator committed
-
- 03 Apr, 2018 9 commits
-
-
PR libstdc++/85183 * include/std/variant (_Move_assign_base::operator=): Fix incorrect value categories. * testsuite/20_util/variant/85183.cc: New. From-SVN: r259059
Jonathan Wakely committed -
PR rtl-optimization/85167 * shrink-wrap.c (move_insn_for_shrink_wrap): Don't set bb_uses and bb_defs if *split_p, instead preinitialize it to NULL. * gcc.dg/pr85167.c: New test. From-SVN: r259058
Jakub Jelinek committed -
PR tree-optimization/85156 * builtins.c (fold_builtin_expect): Use save_expr on arg1 to avoid evaluating the argument multiple times. * c-c++-common/pr85156.c: New test. * gcc.c-torture/execute/pr85156.c: New test. From-SVN: r259057
Jakub Jelinek committed -
* call.c (conv_binds_ref_to_prvalue): Also count ck_identity from a TARGET_EXPR. From-SVN: r259052
Jason Merrill committed -
* constexpr.c (cxx_eval_builtin_function_call): Only defer __builtin_constant_p if ctx->quiet. From-SVN: r259051
Jason Merrill committed -
[gcc] 2018-04-03 Bill Schmidt <wschmidt@linux.ibm.com> * config/rs6000/emmintrin.h (_mm_cvtpd_epi32): Use __vector rather than vector. (_mm_cvtpd_ps): Likewise. (_mm_cvttpd_epi32): Likewise. * config/rs6000/mmintrin.h (_mm_unpacklo_pi8): Likewise. * config/rs6000/xmmintrin.h: For strict-ANSI C++ or C11, undefine vector, pixel, and bool following altivec.h include. [gcc/testsuite] 2018-04-03 Bill Schmidt <wschmidt@linux.ibm.com> * gcc.target/powerpc/powerpc.exp: Add .C suffix for main loop. * gcc.target/powerpc/undef-bool-1.C: New file. * gcc.target/powerpc/undef-bool-2.c: New file. From-SVN: r259050
Bill Schmidt committed -
re PR c++/84768 (ICE with failed class template argument deduction because of invalid template parameter) /cp 2018-04-03 Paolo Carlini <paolo.carlini@oracle.com> PR c++/84768 * pt.c (rewrite_template_parm): If the first argument is error_mark_node return it immediately. (build_deduction_guide): Check the return value of the latter for error_mark_node. (do_class_deduction): Check the return value of the latter. /testsuite 2018-04-03 Paolo Carlini <paolo.carlini@oracle.com> PR c++/84768 * g++.dg/cpp1z/class-deduction52.C: New. From-SVN: r259049
Paolo Carlini committed -
From-SVN: r259044
Jason Merrill committed -
* pt.c (build_extra_args, add_extra_args): Split from tsubst_pack_expansion. (tsubst_expr) [IF_STMT]: Use them. * cp-tree.h (IF_STMT_EXTRA_ARGS): New. From-SVN: r259043
Jason Merrill committed
-