- 18 Jun, 2018 3 commits
-
-
PR 84195 * tree.c (escaped_string): New class. Converts an unescaped string into its escaped equivalent. (warn_deprecated_use): Use the new class to convert the deprecation message, if present. (test_escaped_strings): New self test. (test_c_tests): Add test_escaped_strings. From-SVN: r261697
Nick Clifton committed -
* tree.c (decl_value_expr_lookup): Revert latest change. (decl_value_expr_insert): Likewise. fortran/ * trans-decl.c (gfc_get_fake_result_decl): Revert latest change. From-SVN: r261696
Eric Botcazou committed -
From-SVN: r261695
GCC Administrator committed
-
- 17 Jun, 2018 3 commits
-
-
From-SVN: r261688
Eric Botcazou committed -
* gimplify.c (nonlocal_vlas): Delete. (nonlocal_vla_vars): Likewise. (gimplify_var_or_parm_decl): Do not add debug VAR_DECLs for non-local referenced VLAs. (gimplify_body): Do not create and destroy nonlocal_vlas. * tree-nested.c: Include diagnostic.h. (use_pointer_in_frame): Tweak. (lookup_field_for_decl): Add assertion and declare the transformation. (convert_nonlocal_reference_op) <PARM_DECL>: Rework and issue an internal error when the reference is in a wrong context. Do not create a debug decl by default. (note_nonlocal_block_vlas): Delete. (convert_nonlocal_reference_stmt) <GIMPLE_BIND>: Do not call it. (convert_local_reference_op) <PARM_DECL>: Skip the frame decl. Do not create a debug decl by default. (convert_gimple_call) <GIMPLE_CALL>: Issue an internal error when the call is in a wrong context. (fixup_vla_decls): New function. (finalize_nesting_tree_1): Adjust comment. Call fixup_vla_decls if no debug variables were created. * tree.c (decl_value_expr_lookup): Add checking assertion. (decl_value_expr_insert): Likewise. fortran/ * fortran/trans-decl.c (nonlocal_dummy_decl_pset): Delete. (nonlocal_dummy_decls): Likewise. (gfc_nonlocal_dummy_array_decl): Likewise. (gfc_get_symbol_decl): Do not call gfc_nonlocal_dummy_array_decl. (gfc_get_fake_result_decl): Do not generate a new DECL if simply reusing the result of a recursive call. (gfc_generate_function_code): Do not create, insert and destroy nonlocal_dummy_decls. From-SVN: r261687
Eric Botcazou committed -
From-SVN: r261686
GCC Administrator committed
-
- 16 Jun, 2018 7 commits
-
-
gcc/ChangeLog: 2018-06-16 Kugan Vivekanandarajah <kuganv@linaro.org> PR middle-end/82479 * ipa-fnsummary.c (will_be_nonconstant_expr_predicate): Handle CALL_EXPR. * tree-scalar-evolution.c (interpret_expr): Likewise. (expression_expensive_p): Likewise. * tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Likewise. * tree-ssa-loop-niter.c (number_of_iterations_popcount): New. (number_of_iterations_exit_assumptions): Use number_of_iterations_popcount. (ssa_defined_by_minus_one_stmt_p): New. gcc/testsuite/ChangeLog: 2018-06-16 Kugan Vivekanandarajah <kuganv@linaro.org> PR middle-end/82479 * gcc.dg/tree-ssa/popcount.c: New test. * gcc.dg/tree-ssa/popcount2.c: New test. From-SVN: r261682
Kugan Vivekanandarajah committed -
re PR tree-optimization/64946 ([AArch64] gcc.target/aarch64/vect-abs-compile.c - "abs" vectorization fails for char/short types) gcc/ChangeLog: 2018-06-16 Kugan Vivekanandarajah <kuganv@linaro.org> PR middle-end/64946 * cfgexpand.c (expand_debug_expr): Hande ABSU_EXPR. * config/i386/i386.c (ix86_add_stmt_cost): Likewise. * dojump.c (do_jump): Likewise. * expr.c (expand_expr_real_2): Check operand type's sign. * fold-const.c (const_unop): Handle ABSU_EXPR. (fold_abs_const): Likewise. * gimple-pretty-print.c (dump_unary_rhs): Likewise. * gimple-ssa-backprop.c (backprop::process_assign_use): Likesie. (strip_sign_op_1): Likesise. * match.pd: Add new pattern to generate ABSU_EXPR. * optabs-tree.c (optab_for_tree_code): Handle ABSU_EXPR. * tree-cfg.c (verify_gimple_assign_unary): Likewise. * tree-eh.c (operation_could_trap_helper_p): Likewise. * tree-inline.c (estimate_operator_cost): Likewise. * tree-pretty-print.c (dump_generic_node): Likewise. * tree-vect-patterns.c (vect_recog_sad_pattern): Likewise. * tree.def (ABSU_EXPR): New. gcc/c-family/ChangeLog: 2018-06-16 Kugan Vivekanandarajah <kuganv@linaro.org> * c-common.c (c_common_truthvalue_conversion): Handle ABSU_EXPR. gcc/c/ChangeLog: 2018-06-16 Kugan Vivekanandarajah <kuganv@linaro.org> * c-typeck.c (build_unary_op): Handle ABSU_EXPR; * gimple-parser.c (c_parser_gimple_statement): Likewise. (c_parser_gimple_unary_expression): Likewise. gcc/cp/ChangeLog: 2018-06-16 Kugan Vivekanandarajah <kuganv@linaro.org> * constexpr.c (potential_constant_expression_1): Handle ABSU_EXPR. * cp-gimplify.c (cp_fold): Likewise. gcc/testsuite/ChangeLog: 2018-06-16 Kugan Vivekanandarajah <kuganv@linaro.org> PR middle-end/64946 * gcc.dg/absu.c: New test. * gcc.dg/gimplefe-29.c: New test. * gcc.target/aarch64/pr64946.c: New test. From-SVN: r261681
Kugan Vivekanandarajah committed -
re PR middle-end/86095 (documentation for -Wunsafe-loop-optimizations references options which have no effect any more) PR middle-end/86095 * common.opt (Wunsafe-loop-optimizations): Add Ignore, remove Var, documented as preserved for backward compatibility only. * doc/invoke.texi: Remove -Wunsafe-loop-optimizations documentation. From-SVN: r261679
Jakub Jelinek committed -
PR rtl-optimization/86108 * bb-reorder.c (create_forwarder_block): Renamed to ... (create_eh_forwarder_block): ... this. Split OLD_BB after labels and jump from new landing pad to the second part. (sjlj_fix_up_crossing_landing_pad, dw2_fix_up_crossing_landing_pad): Adjust callers. From-SVN: r261678
Jakub Jelinek committed -
* expr.c (mark_use): Look through NOP_EXPR. From-SVN: r261676
Jason Merrill committed -
* config.guess: Import latest version. * config.sub: Likewise. From-SVN: r261675
Ben Elliston committed -
From-SVN: r261674
GCC Administrator committed
-
- 15 Jun, 2018 24 commits
-
-
When deduction guides are supported by the compiler (i.e. for C++17 and later) replace two basic_string constructors by constrained function templates as required by LWG 3075. In order to ensure that the pre-C++17 non-template constructors are still exported from the shared library define a macro in src/c++11/string-inst.cc to force the non-template declarations (this isn't strictly needed yet, because the string instantiations are compiled with -std=gnu++11, but that is likely to change). LWG 3076 basic_string CTAD ambiguity * doc/xml/manual/intro.xml: Document LWG 3076 change. * include/bits/basic_string.h [__cpp_deduction_guides && !_GLIBCXX_DEFINING_STRING_INSTANTIATIONS] (basic_string(const _CharT*, const _Alloc&)): Turn into a function template constrained by _RequireAllocator. (basic_string(size_type, _CharT, const _Alloc&)): Likewise. * src/c++11/string-inst.cc (_GLIBCXX_DEFINING_STRING_INSTANTIATIONS): Define. * testsuite/21_strings/basic_string/cons/char/deduction.cc: Test deduction * testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc: Likewise. From-SVN: r261670
Jonathan Wakely committed -
PR c/86093 * c-typeck.c (pointer_diff): Cast both pointers to unqualified types before doing POINTER_DIFF_EXPR. * c-c++-common/pr86093.c: New test. From-SVN: r261663
Jakub Jelinek committed -
PR middle-end/85878 * expr.c (expand_assignment): Remove now redundant COMPLEX_MODE_P check from first store_expr, use to_mode instead of GET_MODE (to_rtx). Only call store_expr for halves if the mode is the same. * gfortran.fortran-torture/compile/pr85878.f90: New test. From-SVN: r261659
Jakub Jelinek committed -
* pt.c (tsubst_default_argument): Use push_to/pop_from_top_level. * name-lookup.c (do_pushtag): Don't look through complete types, but don't add to them either. Get context from current_binding_level. From-SVN: r261656
Jason Merrill committed -
From-SVN: r261655
Jason Merrill committed -
* lambda.c (record_null_lambda_scope): New. * pt.c (tsubst_lambda_expr): Use it. * name-lookup.c (do_pushtag): Don't give a lambda DECL_CONTEXT of a function that isn't open. From-SVN: r261654
Jason Merrill committed -
From-SVN: r261653
Jason Merrill committed -
PR middle-end/86123 * match.pd ((X / Y) == 0 -> X < Y): Don't transform complex divisions. Fix up comment formatting. * gcc.c-torture/compile/pr86123.c: New test. From-SVN: r261647
Jakub Jelinek committed -
2018-06-15 Bernd Edlinger <bernd.edlinger@hotmail.de> * typed-splay-tree.h (typed_splay_tree::remove): New function. (typed_splay_tree::closure, typed_splay_tree::inner_foreach_fn, typed_splay_tree::m_inner): Deleted. (typed_splay_tree::typed_splay_tree, typed_splay_tree::operator =): Declared private. (typed_splay_tree::splay_tree_key, typed_splay_tree::splay_tree_value, typed_splay_tree::splay_tree_node_s, typed_splay_tree::KDEL, typed_splay_tree::VDEL, typed_splay_tree::splay_tree_delete_helper, typed_splay_tree::rotate_left, typed_splay_tree::rotate_right, typed_splay_tree::splay_tree_splay, typed_splay_tree::splay_tree_foreach_helper, typed_splay_tree::splay_tree_insert, typed_splay_tree::splay_tree_remove, typed_splay_tree::splay_tree_lookup, typed_splay_tree::splay_tree_predecessor, typed_splay_tree::splay_tree_successor, typed_splay_tree::splay_tree_min, typed_splay_tree::splay_tree_max): Took over from splay-tree.c/.h. (typed_splay_tree::root, typed_splay_tree::comp, typed_splay_tree::delete_key, typed_splay_tree::delete_value): New data members. * typed-splay-tree.c (selftest::test_str_to_int): Add a test for typed_splay_tree::remove. From-SVN: r261645
Bernd Edlinger committed -
2018-06-15 Tom de Vries <tdevries@suse.de> * gcc.dg-selftests/dg-final.exp: Force sequential execution. From-SVN: r261643
Tom de Vries committed -
PR libstdc++/86169 * include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI] (basic_string::data()): Unshare string. * testsuite/21_strings/basic_string/operations/data/char/86169.cc: New. From-SVN: r261642
Jonathan Wakely committed -
The C++ committee has confirmed that passing a null pointer to the unary basic_string_view constructor is undefined. This removes the check from our implementation, and adds the nonnull attribute to warn when the compiler can detect undefined input. * include/std/string_view (basic_string_view(const CharT*)): Remove check for null pointer and add nonnull attribute. (compare(const CharT*), compare(size_type, size_type, const CharT*)) (find(const CharT*, size_type), rfind(const CharT*, size_type)) (find_first_of(const CharT*, size_type)) (find_last_of(const CharT*, size_type)) (find_first_not_of(const CharT*, size_type)) (find_last_not_of(const CharT*, size_type)): Add nonnull attribute. * testsuite/21_strings/basic_string_view/cons/char/nonnull.cc: New. * testsuite/21_strings/basic_string_view/operations/compare/char/ nonnull.cc: New. * testsuite/21_strings/basic_string_view/operations/find/char/ nonnull.cc: New. * testsuite/21_strings/basic_string_view/operations/rfind/char/ nonnull.cc: New. From-SVN: r261638
Jonathan Wakely committed -
PR libstdc++/86168 * include/bits/random.h (random_device(const string&)): Remove default argument. From-SVN: r261636
Jonathan Wakely committed -
gcc/ChangeLog: 2018-06-15 Matthew Fortune <matthew.fortune@mips.com> * config/mips/mips.h (ASM_SPEC): Pass through -mcrc, -mno-crc, -mginv and -mno-ginv to the assembler. * config/mips/mips.opt (-mcrc): New option. (-mginv): Likewise. * doc/invoke.text (-mcrc): Document. (-mginv): Likewise. From-SVN: r261635
Matthew Fortune committed -
* include/bits/char_traits.h (__cpp_lib_constexpr_char_traits): Only define for C++17 and above. From-SVN: r261634
Jonathan Wakely committed -
PR 84195 gcc: * tree.c (escaped_string): New class. Converts an unescaped string into its escaped equivalent. (warn_deprecated_use): Use the new class to convert the deprecation message, if present. (test_escaped_strings): New self test. (test_c_tests): Add test_escaped_strings. * doc/extend.texi (deprecated): Add a note that the deprecation message is affected by the -fmessage-length option, and that control characters will be escaped. (#pragma GCC error): Document this pragma. (#pragma GCC warning): Likewise. * doc/invoke.texi (-fmessage-length): Document this option's effect on the #warning and #error preprocessor directives and the deprecated attribute. testsuite; * gcc.c-torture/compile/pr84195.c: New test. From-SVN: r261633
Nick Clifton committed -
* doc/xml/manual/intro.xml: Document LWG 2993 change. * include/bits/refwrap.h (reference_wrapper(_Tp&)): Remove. (reference_wrapper(_Tp&&)): Remove. (reference_wrapper<_Up>(_Up&&)): Define new constructor as constrained template. (reference_wrapper): Add deduction guide. * testsuite/20_util/reference_wrapper/deduction.cc: New. * testsuite/20_util/reference_wrapper/lwg2993.cc: New. From-SVN: r261632
Jonathan Wakely committed -
2018-06-15 Richard Biener <rguenther@suse.de> * tree-vect-slp.c (vect_slp_bb): Dump MSG_OPTIMIZED_LOCATIONS here, also noting vector size used. * tree-vectorizer.c (vectorize_loops): Adjust. Note vector size used in MSG_OPTIMIZED_LOCATIONS dump. (pass_slp_vectorize::execute): Adjust. From-SVN: r261626
Richard Biener committed -
The if condition in arc_return_address_register which selects the arc return address is not correct. The issue is signalized in bugzilla 85968. gcc/ 2018-06-15 Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc.c (arc_return_address_register): Fix if-condition. From-SVN: r261623
Claudiu Zissulescu committed -
re PR tree-optimization/86159 (g++ ICE at -O1 and above on valid code: incorrect type of vector CONSTRUCTOR elements) 2018-06-15 Richard Biener <rguenther@suse.de> PR middle-end/86159 * tree-cfg.c (gimplify_build3): Do not strip sign conversions, leave useless conversion stripping to force_gimple_operand_gsi. (gimplify_build2): Likewise. (gimplify_build1): Likewise. * g++.dg/pr86159.C: New testcase. From-SVN: r261622
Richard Biener committed -
re PR tree-optimization/86076 (ICE: verify_gimple failed (error: location references block not in block tree)) 2018-06-15 Richard Biener <rguenther@suse.de> PR middle-end/86076 * tree-cfg.c (move_stmt_op): unshare invariant addresses before adjusting their block. * gcc.dg/pr86076.c: New testcase. From-SVN: r261620
Richard Biener committed -
Add multilib variants for -march=rv64imafd, e.g. to support the BOOMv2 core. Add -mcmodel=medany as a variant of the 64-bit multilibs for RTEMS. The rationale for this change is that several existing RISC-V chips map the RAM at 0x80000000. In RTEMS, we do not use virtual memory, so applications will run at this location which is outside the +-2GiB range in a 64-bit configuration. gcc/ * config.gcc (riscv*-*-elf* | riscv*-*-rtems*): Use custom multilibs for *-*-rtems*. * config/riscv/t-rtems: New file. From-SVN: r261619
Sebastian Huber committed -
* include/std/future (__constrain_pkgdtask): Replace with ... (packaged_task::__not_same): New alias template, using __remove_cvref_t instead of decay. * include/std/thread (thread::__not_same): Add comment. From-SVN: r261618
Jonathan Wakely committed -
From-SVN: r261617
GCC Administrator committed
-
- 14 Jun, 2018 3 commits
-
-
re PR c++/86063 (g++ ICE at tree check: expected tree_list, have expr_pack_expansion in cp_check_const_attributes, at cp/decl2.c:1391) PR c++/86063 * decl2.c (cp_check_const_attributes): Skip trees that are not TREE_LISTs. * g++.dg/cpp0x/gen-attrs-65.C: New test. From-SVN: r261613
Marek Polacek committed -
* testsuite/21_strings/basic_string/cons/char/deduction.cc: Test deduction from string views. * testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc: Likewise. From-SVN: r261612
Jonathan Wakely committed -
* include/bits/valarray_after.h (_DEFINE_EXPR_BINARY_FUNCTION): Change scalar parameters to be a non-deduced context. * include/std/valarray (_DEFINE_BINARY_OPERATOR): Likewise. Adjust whitespace. * testsuite/26_numerics/valarray/operators.cc: Test scalar operands. * testsuite/26_numerics/valarray/transcend.cc: New. From-SVN: r261610
Jonathan Wakely committed
-