Commit Graph

170711 Commits

Author SHA1 Message Date
Eric Botcazou 1f5c7ba858 [Ada] Fix incorrect stub generation for types in instances
This fixes a fallout of a recent change clearing the
Is_Generic_Actual_Type on the implicit full view of a private actual
type in an instance.  This flag is used to help disambiguating formal
types instantiated on the same actual type within an instance, but it
should be cleared outside the instance to let the usual disambiguation
rules apply again to these types outside the instance.

This in particular means that Exp_Dist cannot rely on it to detect
subtypes representing generic actual types, hence the need for the new
predicate.

2019-08-19  Eric Botcazou  <ebotcazou@adacore.com>

gcc/ada/

	* exp_dist.adb (Is_Generic_Actual_Subtype): New predicate.
	(Build_From_Any_Call, Build_To_Any_Call, Build_TypeCode_Call):
	Use it instead of Is_Generic_Actual_Type flag to detect subtypes
	representing generic actual types.

From-SVN: r274650
2019-08-19 08:36:21 +00:00
Ed Schonberg 4527ea2ed9 [Ada] Improve placement of warning on formals of generic subprograms
This patch modifies the handling of warnings on unused formal parameters
of generic subprograms. Previously such warnings were placed on the
formal appearing in the subprogram declaration, in contrast with
warnings on non-generic subprograms, where the warning is placed on the
corresponding entity in the body of the subprogram. This patch makes the
handling of both cases uniform. It is preferable to place the warning in
the body because this also provides a better suggestion for the
placement of an Unreferenced pragma to suppress the warning when desired.

2019-08-19  Ed Schonberg  <schonberg@adacore.com>

gcc/ada/

	* sem_warn.adb (Check_References, Generic_Body_Formal): When a
	formal parameter of a generic subprogram is not referenced in
	the body, place the corresponding warning on the corresponding
	entity in the specification of the generic body, as is done for
	non-generic subprograms.

gcc/testsuite/

	* gnat.dg/warn28.adb, gnat.dg/warn28.ads: New testcase.

From-SVN: r274649
2019-08-19 08:36:17 +00:00
Bob Duff dafa2ae46c [Ada] Factor out the "size for& too small..." error message
Use a constant for the Size_Too_Small_Message, so if it changes, it
won't change in one place but not another.  DRY. It might be better to
move this code out of errout.adb, but that's for another day.

2019-08-19  Bob Duff  <duff@adacore.com>

gcc/ada/

	* errout.ads (Size_Too_Small_Message): New constant.
	* errout.adb, freeze.adb, sem_ch13.adb: Use it.

From-SVN: r274648
2019-08-19 08:36:12 +00:00
Eric Botcazou 27b2fbc95c [Ada] Fix internal error on subprogram instantiation with -gnatzc
This fixes a fallout of the recent change keeping the
Is_Generic_Instance flag on the wrapper package built for the
instantiation of a generic subprogram.

There is no need to visit the Instance_Spec of an
N_Subprogram_Instantiation node anymore because the regular processing
for an N_Package_Declaration node now does the job for instantiations of
generic subprograms.

The following subprogram must compile again quietly with -gnatzc:

with Gen_Proc;

package RCI is
   pragma Remote_Call_Interface;

   procedure Inst_Proc is new Gen_Proc;

   procedure P (S : String);
end RCI;

generic
procedure Gen_Proc (S : String);
pragma Remote_Call_Interface (Gen_Proc);

with Ada.Text_IO; use Ada.Text_IO;
procedure Gen_Proc (S : String) is
begin
   Put_Line ("Gen_Proc called: " & S);
end Gen_Proc;

2019-08-19  Eric Botcazou  <ebotcazou@adacore.com>

gcc/ada/

	* exp_dist.adb (Build_Package_Stubs): Do not specifically visit
	the declarations of an N_Subprogram_Instantiation node.

From-SVN: r274647
2019-08-19 08:36:07 +00:00
Bob Duff d41f5c1fac [Ada] Document missing gnatmetric switches
2019-08-19  Bob Duff  <duff@adacore.com>

gcc/ada/

	* doc/gnat_ugn/gnat_utility_programs.rst: Document missing
	metrics switches.

From-SVN: r274646
2019-08-19 08:36:02 +00:00
Piotr Trojanek 086734aed9 [Ada] Minor refactorings
2019-08-19  Piotr Trojanek  <trojanek@adacore.com>

gcc/ada/

	* sem_ch12.adb (Get_Unit_Instantiation_Node): Simplify Nkind_In
	membership test.
	* sem.adb (Depends_On_Main): Whitespace cleanup; only assign a
	local variable if needed.

From-SVN: r274645
2019-08-19 08:35:58 +00:00
Claire Dross ef1c6c0e54 [Ada] Allow reading a borrowed object inside a call to a pledge function
No impact on regular compilation.

2019-08-19  Claire Dross  <dross@adacore.com>

gcc/ada/

	* sem_spark.ads, sem_spark.adb (Is_Pledge_Function): New
	parameter of the generic. Function used to decide whether a
	function is a pledge function.
	(Check_Not_Borrowed): Disable check inside the second parameter
	of a pledge function for the path borrowed by the first
	parameter. Also disable checks for entities inside a Global
	contract.

From-SVN: r274644
2019-08-19 08:35:53 +00:00
Joffrey Huguet 123f021561 [Ada] Add formal function parameter equality to SPARK containers
This patch adds a formal function parameter "=" (L, R : Element_Type) to
SPARK containers. The equality that is used by default for Element_Type
after this patch is the primitive equality and not the predefined any
more. It also allows to use any function with the appropriate signature
for the equality function.

2019-08-19  Joffrey Huguet  <huguet@adacore.com>

gcc/ada/

	* libgnat/a-cfdlli.ads, libgnat/a-cfhama.ads,
	libgnat/a-cfinve.ads, libgnat/a-cforma.ads,
	libgnat/a-cofove.ads, libgnat/a-cofuma.ads,
	libgnat/a-cofuve.ads: Add formal function parameter "=" (L, R :
	Element_Type) to the generic packages.

From-SVN: r274643
2019-08-19 08:35:49 +00:00
Eric Botcazou b1d7f6fe2b [Ada] Opt: clean up left-overs of earlier implementation in comment
2019-08-19  Eric Botcazou  <ebotcazou@adacore.com>

gcc/ada/

	* opt.ads: Clean up left-overs of earlier implementation in
	comment:

From-SVN: r274642
2019-08-19 08:35:44 +00:00
Ed Schonberg d9ef7b9745 [Ada] Representation clause for derived enumeration type is mishandled
This patch fixes an old-standing problem with premature freezing. When a
derived type declaration includes a constraint, we generate a subtype
declaration of an anonymous base type, with the constraint given in the
original type declaration, Conceptually, the bounds are converted to the
new base type, and this conversion freezes (prematurely) that base type,
when the bounds are simply literals.  As a result, a representation
clause for the derived type is then rejected or ignared. This procedure
recognizes the simple case of literal bounds in derived enumeration type
declarations, which allows us to indicate that the conversions are not
freeze points, and the subsequent representation clause can be accepted.

2019-08-19  Ed Schonberg  <schonberg@adacore.com>

gcc/ada/

	* sem_ch3.adb (Derived_Enumeration_Type): Do no freeze anonymous
	base type if the bounds in the derived type declaration are
	literals of the type.

gcc/testsuite/

	* gnat.dg/rep_clause9.adb: New testcase.

From-SVN: r274641
2019-08-19 08:35:40 +00:00
Yannick Moy c811dd91e1 [Ada] Do not skip non-aliasing checking when inlining in GNATprove
When code is inlinined for proof in the special mode for GNATprove, Ada
rules about non-aliasing should still be checked. Now fixed.

There is no impact on compilation.

2019-08-19  Yannick Moy  <moy@adacore.com>

gcc/ada/

	* sem_res.adb (Resolve_Call): Check non-aliasing rules before
	GNATprove inlining.

From-SVN: r274640
2019-08-19 08:35:35 +00:00
Eric Botcazou a4bbe10deb [Ada] Further cleanup in inlining machinery
This gets rid of a small issue in the inlining machinery: under very
peculiar circumstances, it would add a pending instantiation for the
body of a generic package at the point of call to an inlined subprogram
of the instance.  That's theoritically problematic because the saved
context is that of the call and not that of the instance in this case,
although the strict conditions ensure that this doesn't make a real
difference in practice.

Now that the machinery can perform the pending instantiations on demand,
we can optimistically add more of them when the instantiations are
analyzed and thus remove the problematic handling at the point of call.

No functional changes.

2019-08-19  Eric Botcazou  <ebotcazou@adacore.com>

gcc/ada/

	* inline.adb (Add_Inlined_Body): Do not add pending
	instantiations.
	* sem_ch12.adb (Needs_Body_Instantiated): New predicate.
	(Analyze_Package_Instantiation): Use it to decide whether to add
	a pending instantiation for the body of the package.

From-SVN: r274639
2019-08-19 08:35:31 +00:00
Olivier Hainque 04d933fd48 [Ada] Fix thinko in Acc_Loop_to_gnu
This fixes a glitch introduced during the initial OpenACC work import
process, causing crashes on any Acc_Parallel + Acc_Loop combination.

2019-08-19  Olivier Hainque  <hainque@adacore.com>

gcc/ada/

	* gcc-interface/trans.c (Acc_Loop_to_gnu): Return the openacc
	BIND_EXPR node we have constructed on purpose.  Remove unused
	variable.

gcc/testsuite/

	* gnat.dg/openacc1.adb: New testcase.

From-SVN: r274638
2019-08-19 08:35:24 +00:00
Pierre-Marie de Rodat c9d57552ed [Ada] Define the -fdump-scos option in lang.opt
2019-08-19  Pierre-Marie de Rodat  <derodat@adacore.com>

gcc/ada/

	* gcc-interface/lang.opt (fdump-scos): Define.
	* gcc-interface/misc.c (gnat_handle_option): Handle
	OPT_fdump_scos.

From-SVN: r274637
2019-08-19 08:35:17 +00:00
Kito Cheng 6490e2556d PR target/91441 - Turn off -fsanitize=kernel-address if TARGET_ASAN_SHADOW_OFFSET is not implemented.
- -fsanitize=kernel-address will call targetm.asan_shadow_offset ()
   at asan_shadow_offset, so it will crash if TARGET_ASAN_SHADOW_OFFSET
   is not implemented, that's mean -fsanitize=kernel-address is not
   supported for target without TARGET_ASAN_SHADOW_OFFSET implementation.

gcc/ChangeLog:

	PR target/91441
	* toplev.c (process_options): Check TARGET_ASAN_SHADOW_OFFSET is
	implemented for -fsanitize=kernel-address, and merge check logic
	with -fsanitize=address.

testsuite/ChangeLog:

	PR target/91441
	* gcc.target/riscv/pr91441.c: New.

From-SVN: r274631
2019-08-19 03:21:44 +00:00
Steven G. Kargl 88898d1e1e re PR fortran/91485 (Erroneous conflict between variable x and operator(.x.))
2019-08-18  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/91485
	module.c (gfc_match_use): User defined operator cannot conflict with
	a rename symbol.

2019-08-18  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/91485
	* gfortran.dg/pr91485.f90: New test.

From-SVN: r274630
2019-08-19 03:00:54 +00:00
GCC Administrator e00f86581f Daily bump.
From-SVN: r274629
2019-08-19 00:16:20 +00:00
C.G. Dogan 5c439f4d67 [Darwin, fixincludes] Fix PR83531
There is no reasonable chance that the SDKs in question will be re-
issued, so the only viable solution is a fixincludes.

2019-08-18  C.G. Dogan <gcc+cgdogan.00@gmail.com>
	    Iain Sandoe  <iain@sandoe.co.uk>

	PR target/83531
	* inclhack.def (darwin_api_availability): New, strip leading
	underscores from API_XXXX defines.
	* fixincl.x: Regenerate.
	* tests/base/os/availability.h: New file.


Co-Authored-By: Iain Sandoe <iain@sandoe.co.uk>

From-SVN: r274624
2019-08-18 18:54:13 +00:00
Iain Sandoe da92beb372 [Darwin, PPC] Fix fail of cpp/assert4.c
This test needs the cpu and machine asserts to be implemented
which hadn't been done for PPC Darwin.  Fixed thus.

gcc/

2019-08-18  Iain Sandoe  <iain@sandoe.co.uk>

	* config/rs6000/darwin.h (TARGET_OS_CPP_BUILTINS): Add asserts
	for cpu and machine.  Factor 64/32b builtins.

From-SVN: r274623
2019-08-18 18:44:58 +00:00
Gerald Pfeifer 77c64c34c9 install.texi (Specific, bfin): blackfin.uclinux.org is gone, point to sourceforge.net.
* doc/install.texi (Specific, bfin): blackfin.uclinux.org is
	gone, point to sourceforge.net.

From-SVN: r274619
2019-08-18 11:34:49 +00:00
GCC Administrator d5f7ae9f8c Daily bump.
From-SVN: r274618
2019-08-18 00:16:35 +00:00
Ian Lance Taylor f781e7e5af compiler: support new numeric literal syntax
Support 0b, 0o, and hex floats.
    
    Tested against test/literal2.go in the gc repo.
    
    Updates golang/go#12711
    Updates golang/go#19308
    Updates golang/go#28493
    Updates golang/go#29008
    
    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/189718

From-SVN: r274614
2019-08-17 23:47:58 +00:00
Ian Lance Taylor e68035acfd compiler, runtime: allocate defer records on the stack
When a defer is executed at most once in a function body,
    we can allocate the defer record for it on the stack instead
    of on the heap.
    
    This should make defers like this (which are very common) faster.
    
    This is a port of CL 171758 from the gc repo.
    
    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/190410

From-SVN: r274613
2019-08-17 23:43:08 +00:00
Steven G. Kargl b9a21efdea re PR fortran/82992 (ICE in create_int_parameter_array, at fortran/module.c:6586)
2019-08-17  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/82992
	* module.c (gfc_match_use):  When renaming a module entity, search
	current namespace for conflicting symbol.

2019-08-17  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/82992
	* gfortran.dg/pr71649.f90: Adjust error messages.
	* gfortran.dg/use_15.f90: Ditto.
	* gfortran.dg/use_rename_8.f90: Ditto.

From-SVN: r274608
2019-08-17 17:15:42 +00:00
Steven G. Kargl 716ac0fc6c re PR fortran/78739 (ICE in gfc_get_symbol_decl, at fortran/trans-decl.c:1477)
2019-08-17  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/78739
	* match.c (gfc_match_st_function):  When matching a statement function,
	need to check if the statement function name shadows the function
	name.

2019-08-17  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/78739
	* fortran.dg/pr78739.f90: New test.

From-SVN: r274605
2019-08-17 14:39:51 +00:00
Steven G. Kargl 1c3925e32a re PR fortran/78719 ([F03] ICE in gfc_get_symbol_decl, at fortran/trans-decl.c:1438)
2019-08-17  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/78719
	* decl.c (get_proc_name): Check for a CLASS entity when trying to
	add attributes to an entity that already has an explicit interface.

2019-08-17  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/78719
	* gfortran.dg/pr78719_1.f90: New test.
	* gfortran.dg/pr78719_2.f90: Ditto.
	* gfortran.dg/pr78719_3.f90: Ditto.

From-SVN: r274604
2019-08-17 14:27:07 +00:00
Steven G. Kargl 4f81c2a3c5 re PR fortran/91471 (f951: internal compiler error: gfc_variable_attr(): Bad array reference)
2019-08-17  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/91471
	* primary.c (gfc_variable_attr): Remove a gfc_internal_error(),
	which cannot be reached by conforming Fortran code, but seems to
	be reachable from nonconforming Fortran code.  Treat the AR_UNKNOWN
	case as a no-op.

2019-08-17  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/91471
	* gfortran.dg/pr91471.f90: New test.

From-SVN: r274603
2019-08-17 14:23:10 +00:00
Thomas Koenig 1e67491a0d re PR libgomp/91473 (Test case libgomp.fortran/appendix-a/a.28.5.f90 is invalid)
2019-08-17  Thomas Koenig  <tkoenig@gcc.gnu.org>

    PR fortran/91473
    * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
    -std=legacy so invalid code in the test case is accepted.

From-SVN: r274602
2019-08-17 11:57:25 +00:00
Gerald Pfeifer d782af8f59 * doc/ux.texi (User Experience Guidelines): Update reference.
From-SVN: r274601
2019-08-17 10:10:54 +00:00
Gerald Pfeifer 7174942f4a gpl_v3.texi (Copying): Adjust the link to "Why not LGPL".
* doc/include/gpl_v3.texi (Copying): Adjust the link to "Why
	not LGPL".

From-SVN: r274600
2019-08-17 10:07:13 +00:00
Janne Blomqvist d74a8b0579 PR fortran/68401 Improve allocation error message
Improve the error message that is printed when a memory allocation
fails, by including the location, and the size of the allocation that
failed.

Regtested on x86_64-pc-linux-gnu.

gcc/fortran/ChangeLog:

2019-08-17  Janne Blomqvist  <jb@gcc.gnu.org>

	PR fortran/68401
	* trans-decl.c (gfc_build_builtin_function_decls): Replace
	os_error with os_error_at decl.
	* trans.c (trans_runtime_error_vararg): Modify so the error
	function decl is passed directly.
	(gfc_trans_runtime_error): Pass correct error function decl.
	(gfc_trans_runtime_check): Likewise.
	(trans_os_error_at): New function.
	(gfc_call_malloc): Use trans_os_error_at.
	(gfc_allocate_using_malloc): Likewise.
	(gfc_call_realloc): Likewise.
	* trans.h (gfor_fndecl_os_error): Replace with gfor_fndecl_os_error_at.

libgfortran/ChangeLog:

2019-08-17  Janne Blomqvist  <jb@gcc.gnu.org>

	PR fortran/68401
	* gfortran.map: Add GFORTRAN_10 node, add _gfortran_os_error_at
	symbol.
	* libgfortran.h (os_error_at): New prototype.
	* runtime/error.c (os_error_at): New function.

From-SVN: r274599
2019-08-17 08:45:37 +03:00
Ian Lance Taylor 777c028252 runtime: scan write barrier buffer conservatively
In gccgo, we insert the write barriers in the frontend, and so we
    cannot completely prevent write barriers on stack writes. So it
    is possible for a bad pointer appearing in the write barrier
    buffer. When flushing the write barrier, treat it the same as
    sacnning the stack. In particular, don't mark a pointer if it
    does not point to an allocated object. We already have similar
    logic in greyobject. With this, hopefully, we can prevent an
    unallocated object from being marked completely.
    
    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/190599

From-SVN: r274598
2019-08-17 04:35:37 +00:00
Marek Polacek 7aad42b918 Put the CL into the right dir.
From-SVN: r274596
2019-08-17 01:22:18 +00:00
GCC Administrator 801c725fcc Daily bump.
From-SVN: r274595
2019-08-17 00:16:17 +00:00
Ian Lance Taylor 29ca15bb29 compiler: print runtime.hex in hex
The gc compiler recognizes the type runtime.hex and prints values
    in this type as hex. Do the same here. This makes debugging
    runtime crashes slightly better.
    
    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/190597

From-SVN: r274591
2019-08-16 22:49:23 +00:00
Jeff Law 1ccd703591 * gcc.target/sh/pr54236-6.c: Use -fno-tree-forwprop.
From-SVN: r274590
2019-08-16 15:51:13 -06:00
Marek Polacek a98b732181 re PR c++/85827 (false positive for -Wunused-but-set-variable because of constexpr-if)
PR c++/85827
g++.dg/cpp1z/constexpr-if29.C: New test.

From-SVN: r274587
2019-08-16 20:40:36 +00:00
Iain Sandoe 639f51ba26 libsanitizer, record a local patch.
2019-08-16  Iain Sandoe  <iain@sandoe.co.uk>

	* LOCAL_PATCHES: Add r274585.

From-SVN: r274586
2019-08-16 19:49:07 +00:00
Iain Sandoe dea853e840 libsanitize, asan - reapply r272406
The entry in LOCAL_PATCHES was accidentally omitted.

2019-08-16  Iain Sandoe  <iain@sandoe.co.uk>

	* asan/asan_interceptors.h: Reapply r272406.

From-SVN: r274585
2019-08-16 19:46:09 +00:00
Martin Sebor 1f2a3ac346 As discussed below:
https://gcc.gnu.org/ml/gcc-patches/2019-08/msg00517.html

gcc/testsuite/ChangeLog:
	* gcc.dg/struct-ret-1.c: Enable on all targets.

From-SVN: r274579
2019-08-16 11:06:25 -06:00
Eric Botcazou d83a4cf15d tree-sra.c (build_reconstructed_reference): Return NULL_TREE instead of NULL.
* tree-sra.c (build_reconstructed_reference): Return NULL_TREE instead
	of NULL.  Add guard for broken VIEW_CONVERT_EXPRs.

From-SVN: r274576
2019-08-16 16:00:25 +00:00
Martin Sebor dc139eb184 tree.def (TYPE_SIZE): Clarify.
gcc/ChangeLog:

	* tree.def (TYPE_SIZE): Clarify.
	* tree.h (TYPE_SIZE, TYPE_SIZE_UNIT, DECL_SIZE): Add comments.

From-SVN: r274575
2019-08-16 09:53:29 -06:00
Martin Sebor edf2da1e8d re PR testsuite/91458 (FAIL: g++.dg/tree-ssa/pr19807.C -std=gnu++98 scan-tree-dump-times optimized "&MEM\\\\[\\\\(void .\\\\)&a \\\\+ 8B\\\\]" 3)
PR testsuite/91458

gcc/testsuite/ChangeLog:

	* g++.dg/tree-ssa/pr19807.C: Use the same search pattern
	unconditionally (correcting r272199, PR middle-end/90676).

From-SVN: r274574
2019-08-16 09:47:25 -06:00
Bernd Edlinger 23e0f4c339 re PR tree-optimization/91109 ([arm] gcc.c-torture/execute/20040709-1.c fails since r273135)
2019-08-16  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR tree-optimization/91109
        * lra-int.h (lra_need_for_scratch_reg_p): Declare.
        * lra.c (lra): Use lra_need_for_scratch_reg_p.
        * lra-spills.c (lra_need_for_scratch_reg_p): New function.

From-SVN: r274573
2019-08-16 15:34:47 +00:00
Uros Bizjak 94538b6545 mmx.md (mmxdoublemode): New mode attribute.
* config/i386/mmx.md (mmxdoublemode): New mode attribute.
	(mmx_uavg<mode>3): Macroize expaner from mmx_uavgv8qi3 and
	mmx_uavgv4hi3 using MMXMODE12 mode iterator.
	(uavg<mode>3_ceil): New expander.
	* config/i386/sse.md (uavg<mode>3_ceil): Use ssedoublemode
	mode iterator when creating CONST1_RTX.
	(<sse2_avx2>_uavg<mode>3<mask_name>): Ditto.
	(*<sse2_avx2>_uavg<mode>3<mask_name>): Use ssedoublemode
	mode iterator for const1_operand predicate.

From-SVN: r274572
2019-08-16 16:28:12 +02:00
Richard Biener 9ac1403ca2 tree-scalar-evolution.c (follow_ssa_edge_expr): Declare.
2019-08-16  Richard Biener  <rguenther@suse.de>

	* tree-scalar-evolution.c (follow_ssa_edge_expr): Declare.
	(follow_ssa_edge_binary): Call follow_ssa_edge_expr instead of
	follow_ssa_edge.
	(follow_ssa_edge_in_condition_phi_branch): Likewise.
	(analyze_evolution_in_loop): Likewise.
	(follow_ssa_edge, follow_ssa_edge_in_rhs): Inline into ...
	(follow_ssa_edge_expr): ... here.  Refactor code.

From-SVN: r274571
2019-08-16 13:23:01 +00:00
Richard Biener 772a1b15d5 re PR target/91469 (ICE in extract_insn, at recog.c:2310 since r274481)
2019-08-16  Richard Biener  <rguenther@suse.de>

	PR target/91469
	* config/i386/i386-features.c
	(general_scalar_chain::replace_with_subreg): Stop at memory operands.

	* gcc.target/i386/pr91469-1.c: New testcase.
	* gcc.target/i386/pr91469-2.c: Likewise.

From-SVN: r274570
2019-08-16 13:17:04 +00:00
Uros Bizjak 4305b26e1d baseline_symbols.txt: Update.
* config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.

From-SVN: r274569
2019-08-16 14:30:40 +02:00
Mark Eggleston b323be611b Allow automatics in equivalences
If a variable with an automatic attribute appears in an
equivalence statement the storage should be allocated on the
stack.

Note: most of this patch was provided by Jeff Law  <law@redhat.com>.

From-SVN: r274565
2019-08-16 10:09:57 +00:00
Kyrylo Tkachov 12f78d8bed [gensupport] PR 91255: Do not error out immediately on set_attr_alternative with define_subst
I'm trying to add a define_subst use in the arm backend but am getting many build errors complaining about:
`set_attr_alternative' is unsupported by `define_subst'

Looking at the gensupport.c code it iterates over all define_insns and errors if any of them have set_attr_alternative.

The usecase I'm targetting doesn't involve patterns with set_attr_alternative, so I would like to make the define_subst handling
more robust to only error out if the define_subst is actually attempted on a set_attr_alternative.

This patch produces the error only if the set_attr_alternative attr matches the subst name.
This allows a build of the arm backend with a define_subst usage to succeed.

	PR other/91255
	* gensupport.c (has_subst_attribute): Error out on set_attr_alternative
	only if subst_name matches curr_attr string.

From-SVN: r274564
2019-08-16 09:32:36 +00:00