public inbox for fortran@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH] PR fortran/70870 -- Reject data object with default initialization
@ 2018-05-09 22:32 Steve Kargl
  2018-05-10 15:24 ` Andre Vehreschild
  0 siblings, 1 reply; 2+ messages in thread
From: Steve Kargl @ 2018-05-09 22:32 UTC (permalink / raw)
  To: fortran, gcc-patches

[-- Attachment #1: Type: text/plain, Size: 363 bytes --]

I plan to commit the attach patch on Saturday unless someone objects.

2018-05-09  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/70870
	* data.c (gfc_assign_data_value): Check that a data object does
	not also have default initialization.

2018-05-09  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/70870
	* gfortran.dg/pr70870_1.f90: New test.

-- 
Steve

[-- Attachment #2: pr70870.diff --]
[-- Type: text/x-diff, Size: 1249 bytes --]

Index: gcc/fortran/data.c
===================================================================
--- gcc/fortran/data.c	(revision 260000)
+++ gcc/fortran/data.c	(working copy)
@@ -491,6 +491,15 @@ gfc_assign_data_value (gfc_expr *lvalue, gfc_expr *rva
     }
   else
     {
+      if (lvalue->ts.type == BT_DERIVED
+	  && gfc_has_default_initializer (lvalue->ts.u.derived))
+	{
+	  gfc_error ("Nonpointer object %qs with default initialization "
+		     "shall not appear in a DATA statement at %L", 
+		     symbol->name, &lvalue->where);
+	  return false;
+	}
+
       /* Overwriting an existing initializer is non-standard but usually only
 	 provokes a warning from other compilers.  */
       if (init != NULL)
Index: gcc/testsuite/gfortran.dg/pr70870_1.f90
===================================================================
--- gcc/testsuite/gfortran.dg/pr70870_1.f90	(nonexistent)
+++ gcc/testsuite/gfortran.dg/pr70870_1.f90	(working copy)
@@ -0,0 +1,9 @@
+! { dg-do compile }
+! PR fortran/70870
+! Contributed by Vittorio Zecca <zeccav at gmail dot com >
+      type t
+       integer :: g=0   ! default initialization
+      end type
+      type(t) :: v2
+      data v2/t(2)/     ! { dg-error "default initialization shall not" }
+      end

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] PR fortran/70870 -- Reject data object with default initialization
  2018-05-09 22:32 [PATCH] PR fortran/70870 -- Reject data object with default initialization Steve Kargl
@ 2018-05-10 15:24 ` Andre Vehreschild
  0 siblings, 0 replies; 2+ messages in thread
From: Andre Vehreschild @ 2018-05-10 15:24 UTC (permalink / raw)
  To: Steve Kargl; +Cc: fortran, gcc-patches

Hi Steve,

ok for trunk.

- Andre

On Wed, 9 May 2018 15:32:10 -0700
Steve Kargl <sgk@troutmask.apl.washington.edu> wrote:

> I plan to commit the attach patch on Saturday unless someone objects.
> 
> 2018-05-09  Steven G. Kargl  <kargl@gcc.gnu.org>
> 
> 	PR fortran/70870
> 	* data.c (gfc_assign_data_value): Check that a data object does
> 	not also have default initialization.
> 
> 2018-05-09  Steven G. Kargl  <kargl@gcc.gnu.org>
> 
> 	PR fortran/70870
> 	* gfortran.dg/pr70870_1.f90: New test.
> 


-- 
Andre Vehreschild * Email: vehre ad gmx dot de 

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2018-05-10 15:24 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-09 22:32 [PATCH] PR fortran/70870 -- Reject data object with default initialization Steve Kargl
2018-05-10 15:24 ` Andre Vehreschild

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).