Skip to content
Snippets Groups Projects
  1. Aug 06, 2019
  2. Aug 05, 2019
    • Michael Meissner's avatar
      Add missing ChangeLog entry. · 05989533
      Michael Meissner authored
      2019-08-02  Michael Meissner  <meissner@linux.ibm.com>
      
      	* config/rs6000/future.md: New file.
      	* config/rs6000/rs6000.md: Include future.md.
      	* config/rs6000/t-rs6000 (MD_INCLUDES): Add future.md.
      
      From-SVN: r274129
      05989533
    • Martin Sebor's avatar
      extend.texi (Common Variable Attributes): Document alias attribute. · 75720b3e
      Martin Sebor authored
      gcc/ChangeLog:
      
      	* doc/extend.texi (Common Variable Attributes): Document alias
      	attribute.
      
      From-SVN: r274127
      75720b3e
    • Paolo Carlini's avatar
      cp-tree.h (cp_expr_loc_or_input_loc): New. · f9d0ca40
      Paolo Carlini authored
      2019-08-05  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* cp-tree.h (cp_expr_loc_or_input_loc): New.
      	(cxx_incomplete_type_diagnostic): Use it.
      	* call.c (build_converted_constant_expr_internal, convert_like_real,
      	convert_arg_to_ellipsis, convert_for_arg_passing, build_over_call,
      	build_cxx_call, perform_implicit_conversion_flags,
      	initialize_reference): Likewise.
      	* constexpr.c (cxx_eval_internal_function, cxx_eval_call_expression,
      	eval_and_check_array_index, cxx_eval_store_expression,
      	cxx_eval_statement_list, cxx_eval_loop_expr,
      	cxx_eval_constant_expression, potential_constant_expression_1):
      	Likewise.
      	* constraint.cc (check_for_logical_overloads,
      	satisfy_predicate_constraint): Likewise.
      	* cp-gimplify.c (cp_gimplify_expr): Likewise.
      	* cvt.c (cp_convert_to_pointer, convert_to_reference,
      	cp_convert_and_check, ocp_convert, maybe_warn_nodiscard): Likewise.
      	* decl.c (pop_switch): Likewise.
      	* decl2.c (delete_sanity): Likewise.
      	* error.c (location_of): Likewise.
      	* init.c (maybe_warn_list_ctor, build_aggr_init,
      	warn_placement_new_too_small, build_new_1, build_vec_init): Likewise.
      	* lex.c (unqualified_name_lookup_error): Likewise.
      	* parser.c (cp_parser_initializer_list, cp_parser_omp_for_cond):
      	Likewise.
      	* pt.c (check_for_bare_parameter_packs, check_valid_ptrmem_cst_expr,
      	unify_arg_conversion, convert_nontype_argument,
      	tsubst_copy_and_build, resolve_typename_type): Likewise.
      	* semantics.c (maybe_convert_cond, finish_call_expr,
      	cp_build_vec_convert): Likewise.
      	* typeck.c (decay_conversion, rationalize_conditional_expr,
      	cp_build_unary_op, build_x_compound_expr_from_list,
      	maybe_warn_about_returning_address_of_local,
      	maybe_warn_pessimizing_move): Likewise.
      	* typeck2.c (check_narrowing, digest_init_r,
      	process_init_constructor_array): Likewise.
      
      From-SVN: r274124
      f9d0ca40
    • Tom Honermann's avatar
      PR c++/88095, CTAD for literal operator templates per P0732 · 8744c37d
      Tom Honermann authored
      This patch fixes PR c++/88095: class nontype template parameter UDL string
      literals doesn't accepts deduction placeholder
      
      It also addresses a latent issue; literal operator templates with template
      parameter packs of literal class type were previously accepted.  The patch
      corrects this and adds a test (udlit-class-nttp-neg.C).
      
      This fix is needed for one of the char8_t remediation approaches documented
      in P1423, and may be helpful for existing code bases impacted by the char8_t
      changes adopted via P0482 for C++20.
      
      gcc/cp/ChangeLog:
      
      2019-08-02  Tom Honermann  <tom@honermann.net>
      
              * parser.c (cp_parser_template_declaration_after_parameters): Enable
              class template argument deduction for non-type template parameters
              in literal operator templates.
      
      gcc/testsuite/ChangeLog:
      
      2019-08-02  Tom Honermann  <tom@honermann.net>
      
              PR c++/88095
              * g++.dg/cpp2a/udlit-class-nttp-ctad.C: New test.
              * g++.dg/cpp2a/udlit-class-nttp-ctad-neg.C: New test.
              * g++.dg/cpp2a/udlit-class-nttp-ctad-neg2.C: New test.
              * g++.dg/cpp2a/udlit-class-nttp.C: New test.
              * g++.dg/cpp2a/udlit-class-nttp-neg.C: New test.
              * g++.dg/cpp2a/udlit-class-nttp-neg2.C: New test.
      
      From-SVN: r274123
      8744c37d
    • Steven G. Kargl's avatar
      re PR fortran/91372 (Error: Unclassifiable statement) · 719f5a10
      Steven G. Kargl authored
      2019-08-05  Steven g. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/91372
      	* decl.c (gfc_match_data): Allow an implied do-loop to nestle against
      	DATA.
      
      2019-08-05  Steven g. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/91372
      	* gfortran.dg/pr91372.f90: New test.
      
      From-SVN: r274122
      719f5a10
    • Marek Polacek's avatar
      PR c++/91338 - Implement P1161R3: Deprecate a[b,c]. · ab574db6
      Marek Polacek authored
      	* c-opts.c (c_common_post_options): Enable -Wcomma-subscript by
      	default for C++2a, unless -Wno-deprecated.
      	* c.opt (Wcomma-subscript): New warning.
      
      	* parser.c (cp_parser_postfix_open_square_expression): Warn about uses
      	of a comma operator within a subscripting expression.
      	(cp_parser_skip_to_closing_square_bracket_1): New function, made out
      	of...
      	(cp_parser_skip_to_closing_square_bracket): ...this.
      
      	* doc/invoke.texi: Document -Wcomma-subscript.
      
      	* g++.dg/cpp2a/comma1.C: New test.
      	* g++.dg/cpp2a/comma2.C: New test.
      	* g++.dg/cpp2a/comma3.C: New test.
      	* g++.dg/cpp2a/comma4.C: New test.
      
      From-SVN: r274121
      ab574db6
    • Jason Merrill's avatar
      * semantics.c (force_paren_expr): Preserve location. · ea55c915
      Jason Merrill authored
      From-SVN: r274120
      ea55c915
    • Richard Sandiford's avatar
      Make function_code a 32-bit field · 55f863c4
      Richard Sandiford authored
      Adding SVE intrinsics on top of the existing AArch64 intrinsics blows
      the 12-bit function_code in tree_function_decl.  That bitfield has no
      spare bits, but it comes at the end of the structure and is preceded
      by a pointer, so on LP64 hosts there's currently a 32-bit hole at end.
      
      This patch therefore makes function_code an independent field and
      moves the bitfield to the 32-bit hole.
      
      I wondered about instead making function_code 16 bits, so that the
      patch leaves 28 spare bits instead of just 12.  That seemed a bit
      short-term though; I can't guarantee that we won't blow 16 bits once
      the SVE2 functions are added...
      
      If we run out of bits again, we can start chomping from the top
      of the enum.  E.g. 24 bits should surely be enough, but there's
      no point paying the overhead of the masking until we need it.
      
      2019-08-05  Richard Sandiford  <richard.sandiford@arm.com>
      
      gcc/
      	* tree-core.h (tree_function_decl): Make function_code an
      	independent field.  Group the remaining bitfields into bytes
      	and move decl_type so that it contines to be at a byte boundary.
      	Leave 12 bits for future expansion.
      
      From-SVN: r274119
      55f863c4
    • Richard Sandiford's avatar
      Fold MASK_LOAD/STORE with an all-true mask · 868363d4
      Richard Sandiford authored
      This patch folds IFN_MASK_LOAD and IFN_MASK_STOREs to normal accesses
      if the mask is all-true.  This can happen for fully-masked loops that
      didn't actually need to be (which could be handled by the vectoriser
      instead), or for unrolled fully-masked loops whose first iteration is
      guaranteed to operate on a full vector.  It's also useful when the
      accesses are generated directly by intrinsics (to follow for SVE).
      
      2019-08-05  Richard Sandiford  <richard.sandiford@arm.com>
      
      gcc/
      	* gimple-fold.c (gimple_fold_mask_load_store_mem_ref)
      	(gimple_fold_mask_load, gimple_fold_mask_store): New functions.
      	(gimple_fold_call): Use them to fold IFN_MASK_LOAD and
      	IFN_MASK_STORE.
      
      gcc/testsuite/
      	* gcc.target/aarch64/sve/mask_load_1.c: New test.
      
      From-SVN: r274118
      868363d4
    • Richard Sandiford's avatar
      Add a gimple_move_vops helper function · 779724a5
      Richard Sandiford authored
      I needed to add another instance of this idiom, so thought it'd
      be worth having a helper function.
      
      2019-08-05  Richard Sandiford  <richard.sandiford@arm.com>
      
      gcc/
      	* gimple.h (gimple_move_vops): Declare.
      	* gimple.c (gimple_move_vops): New function
      	* gimple-fold.c (replace_call_with_call_and_fold)
      	(gimple_fold_builtin_memory_op, gimple_fold_builtin_memset)
      	(gimple_fold_builtin_stpcpy, fold_builtin_atomic_compare_exchange)
      	(gimple_fold_call): Use it.
      	* ipa-param-manipulation.c (ipa_modify_call_arguments): Likewise.
      	* tree-call-cdce.c (use_internal_fn): Likewise.
      	* tree-if-conv.c (predicate_load_or_store): Likewise.
      	* tree-ssa-ccp.c (optimize_atomic_bit_test_and): Likewise.
      	* tree-ssa-math-opts.c (pass_cse_reciprocals::execute): Likewise.
      	* tree-ssa-propagate.c (finish_update_gimple_call): Likewise.
      	(update_call_from_tree): Likewise.
      	* tree-vect-stmts.c (vectorizable_load): Likewise.
      	* tree-vectorizer.c (adjust_simduid_builtins): Likewise.
      
      From-SVN: r274117
      779724a5
    • Jozef Lawrynowicz's avatar
      pr80993.c: Add cleanup-saved-temps to final actions. · 09eff11a
      Jozef Lawrynowicz authored
      2019-08-05  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
      
      	* gcc.target/msp430/pr80993.c: Add cleanup-saved-temps to final
      	actions.
      
      From-SVN: r274116
      09eff11a
    • Martin Liska's avatar
      Handle new operators with no arguments in DCE. · efe5143f
      Martin Liska authored
      2019-08-05  Martin Liska  <mliska@suse.cz>
      
      	PR c++/91334
      	* tree-ssa-dce.c (propagate_necessity): Handle new operators
      	with not arguments.
      	(eliminate_unnecessary_stmts): Likewise.
      2019-08-05  Martin Liska  <mliska@suse.cz>
      
      	PR c++/91334
      	* g++.dg/torture/pr91334.C: New test.
      
      From-SVN: r274115
      efe5143f
    • Richard Biener's avatar
      re PR tree-optimization/91169 (cd2a31a FAILs) · a2001d44
      Richard Biener authored
      2019-08-05  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/91169
      	* fold-const.c (get_array_ctor_element_at_index): Create
      	offset_ints according to the sign of the index type and treat
      	that as signed if it is obviously so.
      
      	* gnat.dg/array37.adb: New testcase.
      
      From-SVN: r274114
      a2001d44
    • Jakub Jelinek's avatar
      re PR target/91341 (Missing AVX Intrinsics: load/store u2) · 96d5c6dc
      Jakub Jelinek authored
      	PR target/91341
      	* config/i386/avxintrin.h (_mm256_loadu2_m128, _mm256_storeu2_m128,
      	_mm256_loadu2_m128d, _mm256_storeu2_m128d, _mm256_loadu2_m128i,
      	_mm256_storeu2_m128i): New function.
      
      	* gcc.target/i386/avx-loadu2-m128-1.c: New test.
      	* gcc.target/i386/avx-loadu2-m128-2.c: New test.
      	* gcc.target/i386/avx-loadu2-m128d-1.c: New test.
      	* gcc.target/i386/avx-loadu2-m128d-2.c: New test.
      	* gcc.target/i386/avx-loadu2-m128i-1.c: New test.
      	* gcc.target/i386/avx-loadu2-m128i-2.c: New test.
      	* gcc.target/i386/avx-storeu2-m128-1.c: New test.
      	* gcc.target/i386/avx-storeu2-m128-2.c: New test.
      	* gcc.target/i386/avx-storeu2-m128d-1.c: New test.
      	* gcc.target/i386/avx-storeu2-m128d-2.c: New test.
      	* gcc.target/i386/avx-storeu2-m128i-1.c: New test.
      	* gcc.target/i386/avx-storeu2-m128i-2.c: New test.
      
      From-SVN: r274109
      96d5c6dc
    • Kito Cheng's avatar
      RISC-V: Promote type correctly for libcalls · 860edc46
      Kito Cheng authored
       - argument and return value for libcall won't promote at
         default_promote_function_mode_always_promote, however we expect it
         should sign-extend as normal function.
      
       - Witout this patch, this test case will fail at -march=rv64i -mabi=lp64.
      
       - The implementation of riscv_promote_function_mode is borrowed from MIPS.
      
      gcc/ChangeLog
      
      	* config/riscv/riscv.c (riscv_promote_function_mode): New.
      	(TARGET_PROMOTE_FUNCTION_MODE): Use riscv_promote_function_mode.
      
      gcc/testsuite/ChangeLog
      
      	* gcc.target/riscv/promote-type-for-libcall.c: New.
      
      From-SVN: r274107
      860edc46
    • Alan Modra's avatar
      PR91349, powerpc64*-*-freebsd* defines _GNU_SOURCE · 89c78fb2
      Alan Modra authored
      rev 266496 (git ab6b1bb456) undefined some macros in rs6000/freebsd.h
      but missed doing the same in rs6000/freebsd64.h.
      
      	PR target/91349
      	* config/rs6000/freebsd64.h (CPLUSPLUS_CPP_SPEC),
      	(LINK_GCC_C_SEQUENCE_SPEC): Undef.
      
      From-SVN: r274105
      89c78fb2
    • GCC Administrator's avatar
      Daily bump. · b4d2d2a8
      GCC Administrator authored
      From-SVN: r274103
      b4d2d2a8
  3. Aug 04, 2019
  4. Aug 03, 2019
  5. Aug 02, 2019
    • Steven G. Kargl's avatar
      re PR fortran/90985 (Wrong error message with variables named "DATA*") · 623c32bc
      Steven G. Kargl authored
      2019-08-02  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/90985
      	* decl.c (gfc_match_data): In free-form code, DATA be followed by
      	whitespace.
      
      2019-08-02  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/90985
      	* gfortran.dg/pr90985.f90: New test.
      
      From-SVN: r274033
      623c32bc
    • Steven G. Kargl's avatar
      Correct the PR number for 90297 to 90986. · 5cd3301b
      Steven G. Kargl authored
      From-SVN: r274032
      5cd3301b
    • Steven G. Kargl's avatar
      re PR fortran/90297 (gcc/fortran/resolve.c: 2 * possibly redundant code ?) · e6938b98
      Steven G. Kargl authored
      2019-08-02  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/90297
      	* match.c (gfc_match_equivalence): Check that EQUIVALENCE is followed
      	by '('.
      
      2019-08-02  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/90297
      	* gfortran.dg/equiv_10.f90: New test.
      
      From-SVN: r274031
      e6938b98
    • Michael Meissner's avatar
      Add future.md. · 5440f245
      Michael Meissner authored
      2019-08-02  Michael Meissner  <meissner@linux.ibm.com>
      
      	* config/rs6000/future.md: New file.
      	* config/rs6000/rs6000.md: Include future.md.
      	* config/rs6000/t-rs6000 (MD_INCLUDES): Add future.md.
      
      From-SVN: r274030
      5440f245
    • Alexandre Oliva's avatar
      rework Ada EH Machine_Occurrence deallocation · 5d733372
      Alexandre Oliva authored
      Introduce exception handler ABI #1 to ensure single release, no access
      after release of reraised Machine_Occurrences, and no failure to
      re-reraise a Machine_Occurrence.
      
      Unlike Ada exceptions, foreign exceptions do not get a new
      Machine_Occurrence upon reraise, but each handler would delete the
      exception upon completion, normal or exceptional, save for the case of
      a 'raise;' statement within the handler, that avoided the delete by
      clearing the exception pointer that the cleanup would use to release
      it.  The cleared exception pointer might then be used by a subsequent
      reraise within the same handler.  Get_Current_Excep.all would also
      expose the Machine_Occurrence to reuse by Reraise_Occurrence, even for
      native exceptions.
      
      Under ABI #1, Begin_Handler_v1 claims responsibility for releasing an
      exception by saving its cleanup and setting it to Claimed_Cleanup.
      End_Handler_v1 restores the cleanup and runs it, as long as it isn't
      still Claimed_Cleanup (which indicates an enclosing handler has
      already claimed responsibility for releasing it), and as long as the
      same exception is not being propagated up (the next handler of the
      propagating exception will then claim responsibility for releasing
      it), so reraise no longer needs to clear the exception pointer, and it
      can just propagate the exception, just like Reraise_Occurrence.
      
      ABI #1 is fully interoperable with ABI #0, i.e., exception handlers
      that call the #0 primitives can be linked together with ones that call
      the #1 primitives, and they will not misbehave.  When a #1 handler
      claims responsibility for releasing an exception, even #0 reraises
      dynamically nested within it will refrain from releasing it.  However,
      when a #0 handler is a handler of a foreign exception that would have
      been responsible for releasing it with #1, a Reraise_Occurrence of
      that foreign or other Machine_Occurrence-carrying exception may still
      cause the exception to be released multiple times, and to be used
      after it is first released, even if other handlers of the foreign
      exception use #1.
      
      
      for  gcc/ada/ChangeLog
      
      	* libgnat/a-exexpr.adb (Begin_Handler_v1, End_Handler_v1): New.
      	(Claimed_Cleanup): New.
      	(Begin_Handler, End_Handler): Document.
      	* gcc-interface/trans.c (gigi): Switch to exception handler
      	ABI #1.
      	(Exception_Handler_to_gnu_gcc): Save the original cleanup
      	returned by begin handler, pass it to end handler, and use
      	EH_ELSE_EXPR to pass a propagating exception to end handler.
      	(gnat_to_gnu): Leave the exception pointer alone for reraise.
      	(add_cleanup): Handle EH_ELSE_EXPR, require it by itself.
      
      From-SVN: r274029
      5d733372
    • Marek Polacek's avatar
      re PR c++/56428 ([C++11] "is not a constant expression" when comparing... · 59e01f36
      Marek Polacek authored
      re PR c++/56428 ([C++11] "is not a constant expression" when comparing non-type template argument to nullptr)
      
      	PR c++/56428
      	* g++.dg/cpp0x/nontype4.C: New test.
      
      From-SVN: r274028
      59e01f36
    • Marek Polacek's avatar
      re PR c++/53009 (pointer to static member function of template class is... · 8a2e0013
      Marek Polacek authored
      re PR c++/53009 (pointer to static member function of template class is “invalid” as a template argument of another template class)
      
      	PR c++/53009
      	* g++.dg/cpp0x/nontype3.C: New test.
      
      From-SVN: r274027
      8a2e0013
    • Bernd Edlinger's avatar
      function.c (assign_parm_adjust_stack_rtl): Revise STRICT_ALIGNMENT check to... · 8707c01d
      Bernd Edlinger authored
      function.c (assign_parm_adjust_stack_rtl): Revise STRICT_ALIGNMENT check to use targetm.slow_unaligned_access instead.
      
      2019-08-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              * function.c (assign_parm_adjust_stack_rtl): Revise STRICT_ALIGNMENT
              check to use targetm.slow_unaligned_access instead.
      
      From-SVN: r274025
      8707c01d
    • Marek Polacek's avatar
      re PR c++/77575 (Bogus error when alias template yielding a reference type... · 25a60571
      Marek Polacek authored
      re PR c++/77575 (Bogus error when alias template yielding a reference type used as template template argument)
      
      	PR c++/77575
      	* g++.dg/cpp0x/nontype2.C: New test.
      
      From-SVN: r274024
      25a60571
    • Bernd Edlinger's avatar
      function.c (assign_param_data_one): Remove unused data members. · d99397c2
      Bernd Edlinger authored
      2019-08-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              * function.c (assign_param_data_one): Remove unused data members.
      
      From-SVN: r274023
      d99397c2
    • Steve Ellcey's avatar
      simd_pcs_attribute.c: New test. · 89eed801
      Steve Ellcey authored
      2019-08-02  Steve Ellcey  <sellcey@marvell.com>
      
      	* gcc.target/aarch64/simd_pcs_attribute.c: New test.
      	* gcc.target/aarch64/simd_pcs_attribute-2.c: Ditto.
      	* gcc.target/aarch64/simd_pcs_attribute-3.c: Ditto.
      
      From-SVN: r274020
      89eed801
    • Steve Ellcey's avatar
      omp-simd-clone.c (simd_clone_adjust_return_type): Remove call to build_distinct_type_copy. · e8a70c17
      Steve Ellcey authored
      2019-08-02  Steve Ellcey  <sellcey@marvell.com>
      
      	* omp-simd-clone.c (simd_clone_adjust_return_type): Remove call to
      	build_distinct_type_copy.
      	(simd_clone_adjust_argument_types): Ditto.
      	(simd_clone_adjust): Call build_distinct_type_copy here.
      	(expand_simd_clones): Ditto.
      
      From-SVN: r274019
      e8a70c17
Loading