public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/95980] New: ICE in get_unique_type_string, at fortran/class.c:485
@ 2020-06-29 17:53 gscfq@t-online.de
  2020-06-29 17:54 ` [Bug fortran/95980] " gscfq@t-online.de
                   ` (20 more replies)
  0 siblings, 21 replies; 22+ messages in thread
From: gscfq@t-online.de @ 2020-06-29 17:53 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95980

            Bug ID: 95980
           Summary: ICE in get_unique_type_string, at fortran/class.c:485
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: gscfq@t-online.de
  Target Milestone: ---

Affects versions down to at least r5.
With a missing attribute allocatable or pointer :


$ cat z1.f90
program p
   type t
      integer :: a
   end type
   class(t) :: x
   select type (y => x)
   end select
end


$ gfortran-11-20200628 -c z1.f90
f951: internal compiler error: Segmentation fault
0xbd215f crash_signal
        ../../gcc/toplev.c:328
0x63535a get_unique_type_string
        ../../gcc/fortran/class.c:485
0x635de1 get_unique_hashed_string
        ../../gcc/fortran/class.c:522
0x6392ce gfc_build_class_symbol(gfc_typespec*, symbol_attribute*,
gfc_array_spec**)
        ../../gcc/fortran/class.c:666
0x68f543 gfc_match_select_type()
        ../../gcc/fortran/match.c:6422
0x6ae2b4 match_word
        ../../gcc/fortran/parse.c:65
0x6ae2b4 decode_statement
        ../../gcc/fortran/parse.c:428
0x6afaea next_free
        ../../gcc/fortran/parse.c:1280
0x6afaea next_statement
        ../../gcc/fortran/parse.c:1512
0x6b113b parse_spec
        ../../gcc/fortran/parse.c:3923
0x6b3f0c parse_progunit
        ../../gcc/fortran/parse.c:5852
0x6b55e9 gfc_parse_file()
        ../../gcc/fortran/parse.c:6393
0x7016ff gfc_be_parse_file
        ../../gcc/fortran/f95-lang.c:212

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

* [Bug fortran/95980] ICE in get_unique_type_string, at fortran/class.c:485
  2020-06-29 17:53 [Bug fortran/95980] New: ICE in get_unique_type_string, at fortran/class.c:485 gscfq@t-online.de
@ 2020-06-29 17:54 ` gscfq@t-online.de
  2020-06-29 18:38 ` kargl at gcc dot gnu.org
                   ` (19 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: gscfq@t-online.de @ 2020-06-29 17:54 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95980

G. Steinmetz <gscfq@t-online.de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |ice-on-invalid-code

--- Comment #1 from G. Steinmetz <gscfq@t-online.de> ---


Related (and presumably also pr86551) :


$ cat z2.f90
program p
   type t
   end type
   class(t) :: x
   select type (y => x)
   end select
end


$ gfortran-11-20200628 -c z2.f90
f951: internal compiler error: Segmentation fault
0xbd215f crash_signal
        ../../gcc/toplev.c:328
0x686d9b copy_ts_from_selector_to_associate
        ../../gcc/fortran/match.c:6162
0x68f543 gfc_match_select_type()
        ../../gcc/fortran/match.c:6422
0x6ae2b4 match_word
        ../../gcc/fortran/parse.c:65
0x6ae2b4 decode_statement
        ../../gcc/fortran/parse.c:428
0x6afaea next_free
        ../../gcc/fortran/parse.c:1280
0x6afaea next_statement
        ../../gcc/fortran/parse.c:1512
0x6b113b parse_spec
        ../../gcc/fortran/parse.c:3923
0x6b3f0c parse_progunit
        ../../gcc/fortran/parse.c:5852
0x6b55e9 gfc_parse_file()
        ../../gcc/fortran/parse.c:6393
0x7016ff gfc_be_parse_file
        ../../gcc/fortran/f95-lang.c:212

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

* [Bug fortran/95980] ICE in get_unique_type_string, at fortran/class.c:485
  2020-06-29 17:53 [Bug fortran/95980] New: ICE in get_unique_type_string, at fortran/class.c:485 gscfq@t-online.de
  2020-06-29 17:54 ` [Bug fortran/95980] " gscfq@t-online.de
@ 2020-06-29 18:38 ` kargl at gcc dot gnu.org
  2020-06-29 18:51 ` kargl at gcc dot gnu.org
                   ` (18 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: kargl at gcc dot gnu.org @ 2020-06-29 18:38 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95980

kargl at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |kargl at gcc dot gnu.org
           Priority|P3                          |P4

--- Comment #2 from kargl at gcc dot gnu.org ---
Patch is against svn r280156.

Index: gcc/fortran/match.c
===================================================================
--- gcc/fortran/match.c (revision 280157)
+++ gcc/fortran/match.c (working copy)
@@ -6174,7 +6174,10 @@ build_class_sym:
     {
       /* The correct class container has to be available.  */
       assoc_sym->ts.type = BT_CLASS;
-      assoc_sym->ts.u.derived = CLASS_DATA (selector)->ts.u.derived;
+      if (CLASS_DATA (selector)->ts.u.derived != NULL)
+        assoc_sym->ts.u.derived = CLASS_DATA (selector)->ts.u.derived;
+      else
+        assoc_sym->ts.u.derived = selector->ts.u.derived;
       assoc_sym->attr.pointer = 1;
       gfc_build_class_symbol (&assoc_sym->ts, &assoc_sym->attr,
&assoc_sym->as);
     }

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

* [Bug fortran/95980] ICE in get_unique_type_string, at fortran/class.c:485
  2020-06-29 17:53 [Bug fortran/95980] New: ICE in get_unique_type_string, at fortran/class.c:485 gscfq@t-online.de
  2020-06-29 17:54 ` [Bug fortran/95980] " gscfq@t-online.de
  2020-06-29 18:38 ` kargl at gcc dot gnu.org
@ 2020-06-29 18:51 ` kargl at gcc dot gnu.org
  2020-06-29 20:59 ` anlauf at gcc dot gnu.org
                   ` (17 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: kargl at gcc dot gnu.org @ 2020-06-29 18:51 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95980

kargl at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2020-06-29

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

* [Bug fortran/95980] ICE in get_unique_type_string, at fortran/class.c:485
  2020-06-29 17:53 [Bug fortran/95980] New: ICE in get_unique_type_string, at fortran/class.c:485 gscfq@t-online.de
                   ` (2 preceding siblings ...)
  2020-06-29 18:51 ` kargl at gcc dot gnu.org
@ 2020-06-29 20:59 ` anlauf at gcc dot gnu.org
  2020-07-06 17:01 ` cvs-commit at gcc dot gnu.org
                   ` (16 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: anlauf at gcc dot gnu.org @ 2020-06-29 20:59 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95980

anlauf at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
           Assignee|unassigned at gcc dot gnu.org      |anlauf at gcc dot gnu.org
                 CC|                            |anlauf at gcc dot gnu.org

--- Comment #3 from anlauf at gcc dot gnu.org ---
Patch: https://gcc.gnu.org/pipermail/fortran/2020-June/054648.html

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

* [Bug fortran/95980] ICE in get_unique_type_string, at fortran/class.c:485
  2020-06-29 17:53 [Bug fortran/95980] New: ICE in get_unique_type_string, at fortran/class.c:485 gscfq@t-online.de
                   ` (3 preceding siblings ...)
  2020-06-29 20:59 ` anlauf at gcc dot gnu.org
@ 2020-07-06 17:01 ` cvs-commit at gcc dot gnu.org
  2020-07-06 18:01 ` dominiq at lps dot ens.fr
                   ` (15 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-07-06 17:01 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95980

--- Comment #4 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Harald Anlauf <anlauf@gcc.gnu.org>:

https://gcc.gnu.org/g:f2151227dfe90a5fe73297c370786be98b0b090f

commit r11-1855-gf2151227dfe90a5fe73297c370786be98b0b090f
Author: Harald Anlauf <anlauf@gmx.de>
Date:   Mon Jul 6 18:58:23 2020 +0200

    PR fortran/95980 - ICE on using sync images with -fcheck=bounds

    In SELECT TYPE, the argument may be an incorrectly specified unlimited
    polymorphic variable.  Avoid a NULL pointer dereference for clean error
    recovery.

    gcc/fortran/
            PR fortran/95980
            * match.c (copy_ts_from_selector_to_associate, build_class_sym):
            Distinguish between unlimited polymorphic and ordinary variables
            to avoid NULL pointer dereference.
            * resolve.c (resolve_select_type):
            Distinguish between unlimited polymorphic and ordinary variables
            to avoid NULL pointer dereference.

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

* [Bug fortran/95980] ICE in get_unique_type_string, at fortran/class.c:485
  2020-06-29 17:53 [Bug fortran/95980] New: ICE in get_unique_type_string, at fortran/class.c:485 gscfq@t-online.de
                   ` (4 preceding siblings ...)
  2020-07-06 17:01 ` cvs-commit at gcc dot gnu.org
@ 2020-07-06 18:01 ` dominiq at lps dot ens.fr
  2020-07-06 20:25 ` anlauf at gcc dot gnu.org
                   ` (14 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: dominiq at lps dot ens.fr @ 2020-07-06 18:01 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95980

--- Comment #5 from Dominique d'Humieres <dominiq at lps dot ens.fr> ---
> The master branch has been updated by Harald Anlauf <anlauf@gcc.gnu.org>:

AFAICT the patch fixes the ICE for z2.f90, but not for z1.f90.

> Related (and presumably also pr86551) :

The patch seems to also fix the ICEs for pr86551.

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

* [Bug fortran/95980] ICE in get_unique_type_string, at fortran/class.c:485
  2020-06-29 17:53 [Bug fortran/95980] New: ICE in get_unique_type_string, at fortran/class.c:485 gscfq@t-online.de
                   ` (5 preceding siblings ...)
  2020-07-06 18:01 ` dominiq at lps dot ens.fr
@ 2020-07-06 20:25 ` anlauf at gcc dot gnu.org
  2020-07-06 20:29 ` anlauf at gcc dot gnu.org
                   ` (13 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: anlauf at gcc dot gnu.org @ 2020-07-06 20:25 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95980

--- Comment #6 from anlauf at gcc dot gnu.org ---
Created attachment 48839
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48839&action=edit
Patch, part 2

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

* [Bug fortran/95980] ICE in get_unique_type_string, at fortran/class.c:485
  2020-06-29 17:53 [Bug fortran/95980] New: ICE in get_unique_type_string, at fortran/class.c:485 gscfq@t-online.de
                   ` (6 preceding siblings ...)
  2020-07-06 20:25 ` anlauf at gcc dot gnu.org
@ 2020-07-06 20:29 ` anlauf at gcc dot gnu.org
  2020-07-06 21:24 ` dominiq at lps dot ens.fr
                   ` (12 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: anlauf at gcc dot gnu.org @ 2020-07-06 20:29 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95980

--- Comment #7 from anlauf at gcc dot gnu.org ---
(In reply to Dominique d'Humieres from comment #5)
> AFAICT the patch fixes the ICE for z2.f90, but not for z1.f90.

You're right.  I got lost in trying to work on too many PRs.

I attached a brute-force patch that makes gfortran reject z1.f90
without ICEing.

Can you confirm this, or is there possibly something left to handle?
I have the impression that there's a lot of bad things happening with
invalid input that is not always caught on x86_64.

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

* [Bug fortran/95980] ICE in get_unique_type_string, at fortran/class.c:485
  2020-06-29 17:53 [Bug fortran/95980] New: ICE in get_unique_type_string, at fortran/class.c:485 gscfq@t-online.de
                   ` (7 preceding siblings ...)
  2020-07-06 20:29 ` anlauf at gcc dot gnu.org
@ 2020-07-06 21:24 ` dominiq at lps dot ens.fr
  2020-07-06 21:57 ` sgk at troutmask dot apl.washington.edu
                   ` (11 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: dominiq at lps dot ens.fr @ 2020-07-06 21:24 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95980

--- Comment #8 from Dominique d'Humieres <dominiq at lps dot ens.fr> ---
> I attached a brute-force patch that makes gfortran reject z1.f90
> without ICEing.
>
> Can you confirm this, or is there possibly something left to handle?

Confirmed on preliminary tests (pr86551), full tests in progress: results
tomorrow).

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

* [Bug fortran/95980] ICE in get_unique_type_string, at fortran/class.c:485
  2020-06-29 17:53 [Bug fortran/95980] New: ICE in get_unique_type_string, at fortran/class.c:485 gscfq@t-online.de
                   ` (8 preceding siblings ...)
  2020-07-06 21:24 ` dominiq at lps dot ens.fr
@ 2020-07-06 21:57 ` sgk at troutmask dot apl.washington.edu
  2020-07-06 22:38 ` dominiq at lps dot ens.fr
                   ` (10 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: sgk at troutmask dot apl.washington.edu @ 2020-07-06 21:57 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95980

--- Comment #9 from Steve Kargl <sgk at troutmask dot apl.washington.edu> ---
On Mon, Jul 06, 2020 at 08:29:24PM +0000, anlauf at gcc dot gnu.org wrote:
> I have the impression that there's a lot of bad things happening with
> invalid input that is not always caught on x86_64.

This has been true since I started working on gfortran some
15+ years ago.  Much of the code is written assuming a correctly
written Fortran program.  Invalid input, particularly corner
cases and with newer features, tend to blow up.

Gerhard seems to delight in finding these issues. :-)

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

* [Bug fortran/95980] ICE in get_unique_type_string, at fortran/class.c:485
  2020-06-29 17:53 [Bug fortran/95980] New: ICE in get_unique_type_string, at fortran/class.c:485 gscfq@t-online.de
                   ` (9 preceding siblings ...)
  2020-07-06 21:57 ` sgk at troutmask dot apl.washington.edu
@ 2020-07-06 22:38 ` dominiq at lps dot ens.fr
  2020-07-07  6:29 ` anlauf at gcc dot gnu.org
                   ` (9 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: dominiq at lps dot ens.fr @ 2020-07-06 22:38 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95980

--- Comment #10 from Dominique d'Humieres <dominiq at lps dot ens.fr> ---
> Confirmed on preliminary tests (pr86551), full tests in progress: results tomorrow).

Regtested without regression.

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

* [Bug fortran/95980] ICE in get_unique_type_string, at fortran/class.c:485
  2020-06-29 17:53 [Bug fortran/95980] New: ICE in get_unique_type_string, at fortran/class.c:485 gscfq@t-online.de
                   ` (10 preceding siblings ...)
  2020-07-06 22:38 ` dominiq at lps dot ens.fr
@ 2020-07-07  6:29 ` anlauf at gcc dot gnu.org
  2020-07-07  6:32 ` anlauf at gcc dot gnu.org
                   ` (8 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: anlauf at gcc dot gnu.org @ 2020-07-07  6:29 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95980

--- Comment #11 from anlauf at gcc dot gnu.org ---
(In reply to Dominique d'Humieres from comment #10)
> > Confirmed on preliminary tests (pr86551), full tests in progress: results tomorrow).
> 
> Regtested without regression.

Thanks for confirming.

That was on Darwin, right?

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

* [Bug fortran/95980] ICE in get_unique_type_string, at fortran/class.c:485
  2020-06-29 17:53 [Bug fortran/95980] New: ICE in get_unique_type_string, at fortran/class.c:485 gscfq@t-online.de
                   ` (11 preceding siblings ...)
  2020-07-07  6:29 ` anlauf at gcc dot gnu.org
@ 2020-07-07  6:32 ` anlauf at gcc dot gnu.org
  2020-07-07  7:35 ` dominiq at lps dot ens.fr
                   ` (7 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: anlauf at gcc dot gnu.org @ 2020-07-07  6:32 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95980

--- Comment #12 from anlauf at gcc dot gnu.org ---
(In reply to Steve Kargl from comment #9)
> This has been true since I started working on gfortran some
> 15+ years ago.  Much of the code is written assuming a correctly
> written Fortran program.  Invalid input, particularly corner
> cases and with newer features, tend to blow up.
> 
> Gerhard seems to delight in finding these issues. :-)

You know what happened with the internet?

In the beginning it was full of friendly people, and real programmers
wrote fine Fortran programs.

Then the internet changed.  And Gerhard has become the Fortran equivalent... 
;-)

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

* [Bug fortran/95980] ICE in get_unique_type_string, at fortran/class.c:485
  2020-06-29 17:53 [Bug fortran/95980] New: ICE in get_unique_type_string, at fortran/class.c:485 gscfq@t-online.de
                   ` (12 preceding siblings ...)
  2020-07-07  6:32 ` anlauf at gcc dot gnu.org
@ 2020-07-07  7:35 ` dominiq at lps dot ens.fr
  2020-07-07 17:26 ` gscfq@t-online.de
                   ` (6 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: dominiq at lps dot ens.fr @ 2020-07-07  7:35 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95980

--- Comment #13 from Dominique d'Humieres <dominiq at lps dot ens.fr> ---
Tests finished, the patch fixes both pr86551 and pr95980, but not more AFAICT.

> That was on Darwin, right?

Yes

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

* [Bug fortran/95980] ICE in get_unique_type_string, at fortran/class.c:485
  2020-06-29 17:53 [Bug fortran/95980] New: ICE in get_unique_type_string, at fortran/class.c:485 gscfq@t-online.de
                   ` (13 preceding siblings ...)
  2020-07-07  7:35 ` dominiq at lps dot ens.fr
@ 2020-07-07 17:26 ` gscfq@t-online.de
  2020-07-07 21:03 ` anlauf at gcc dot gnu.org
                   ` (5 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: gscfq@t-online.de @ 2020-07-07 17:26 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95980

--- Comment #14 from G. Steinmetz <gscfq@t-online.de> ---

> ... and real programmers wrote fine Fortran programs.
Yeah, optimal world. That's probably the reason why some 
"real" programs don't need test cases - or at most three, 
because they cover everything ;-)

Nobody likes "stupid" bugs. Aren't "smart" bugs from 
"smart" codes of "smart" people the better ones ?-)

Some may proclaim 80% as the new standard threshold.
But is 80% of 20% enough, and is there a VAT ?-)

Most people underestimate the effort for thorough testing - 
not by a factor of 2, but by a factor of X or L or more.

But enough with irony and sarcasm.

---

Even the standards changed, too.
F2018 has the audacity to demand chapter 4.2, item 2.

I would like to see gfortran at a level where an average or 
casual programmer will not encounter an ICE with things like 
a forgotten/wrong keyword, attribute or syntactical element.
It's easy enough to think logically wrong, to be in a hurry 
and mess things up. A compiler could be a helper and guide.

No one said it wouldn't be hard and it won't take long.

Thanks to all bold and brave people that work hard on it.

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

* [Bug fortran/95980] ICE in get_unique_type_string, at fortran/class.c:485
  2020-06-29 17:53 [Bug fortran/95980] New: ICE in get_unique_type_string, at fortran/class.c:485 gscfq@t-online.de
                   ` (14 preceding siblings ...)
  2020-07-07 17:26 ` gscfq@t-online.de
@ 2020-07-07 21:03 ` anlauf at gcc dot gnu.org
  2020-07-08  5:49 ` gscfq@t-online.de
                   ` (4 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: anlauf at gcc dot gnu.org @ 2020-07-07 21:03 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95980

--- Comment #15 from anlauf at gcc dot gnu.org ---
(In reply to G. Steinmetz from comment #14)
> Even the standards changed, too.
> F2018 has the audacity to demand chapter 4.2, item 2.

"(2) it contains the capability to detect and report the use within a submitted
program unit of a form designated herein as obsolescent, insofar as such use
can be detected by reference to the numbered syntax rules and constraints;"

Wow!

I'm amazed that there was agreement on that one.  Who put that there?

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

* [Bug fortran/95980] ICE in get_unique_type_string, at fortran/class.c:485
  2020-06-29 17:53 [Bug fortran/95980] New: ICE in get_unique_type_string, at fortran/class.c:485 gscfq@t-online.de
                   ` (15 preceding siblings ...)
  2020-07-07 21:03 ` anlauf at gcc dot gnu.org
@ 2020-07-08  5:49 ` gscfq@t-online.de
  2020-07-10 19:36 ` cvs-commit at gcc dot gnu.org
                   ` (3 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: gscfq@t-online.de @ 2020-07-08  5:49 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95980

--- Comment #16 from G. Steinmetz <gscfq@t-online.de> ---
Yeah, and other parts are sort of amazing too.
Let me allow to cite the complete 4.2, item 2, points (1)-(10) :


2 A processor conforms to this document if:

 (1) it executes any standard-conforming program in a manner that
     fulfills the interpretations herein, subject to any limits that
     the processor may impose on the size and complexity of the program;

 (2) it contains the capability to detect and report the use within a
     submitted program unit of a form designated herein as obsolescent,
     insofar as such use can be detected by reference to the numbered
     syntax rules and constraints;

 (3) it contains the capability to detect and report the use within a
     submitted program unit of a form or relationship that is not permitted
     by the numbered syntax rules or constraints, including the deleted
     features described in Annex B;

 (4) it contains the capability to detect and report the use within a
     submitted program unit of an intrinsic type with a kind type parameter
     value not supported by the processor (7.4);

 (5) it contains the capability to detect and report the use within a
     submitted program unit of source form or characters not permitted
     by Clause 6;

 (6) it contains the capability to detect and report the use within a
     submitted program of name usage not consistent with the scope rules
     for names, labels, operators, and assignment symbols in Clause 19;

 (7) it contains the capability to detect and report the use within a
     submitted program unit of a non-standard intrinsic procedure
     (including one with the same name as a standard intrinsic procedure
     but with different requirements);

 (8) it contains the capability to detect and report the use within a
     submitted program unit of a non-standard intrinsic module;

 (9) it contains the capability to detect and report the use within a
     submitted program unit of a procedure from a standard intrinsic module,
     if the procedure is not defined by this document or the procedure
     has different requirements from those specified by this document; and

(10) it contains the capability to detect and report the reason for
     rejecting a submitted program.


Thanks !

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

* [Bug fortran/95980] ICE in get_unique_type_string, at fortran/class.c:485
  2020-06-29 17:53 [Bug fortran/95980] New: ICE in get_unique_type_string, at fortran/class.c:485 gscfq@t-online.de
                   ` (16 preceding siblings ...)
  2020-07-08  5:49 ` gscfq@t-online.de
@ 2020-07-10 19:36 ` cvs-commit at gcc dot gnu.org
  2020-07-23 20:07 ` cvs-commit at gcc dot gnu.org
                   ` (2 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-07-10 19:36 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95980

--- Comment #17 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Harald Anlauf <anlauf@gcc.gnu.org>:

https://gcc.gnu.org/g:70c884a4b82733027ac0e2620d09169b177080d7

commit r11-2026-g70c884a4b82733027ac0e2620d09169b177080d7
Author: Harald Anlauf <anlauf@gmx.de>
Date:   Fri Jul 10 21:35:35 2020 +0200

    PR fortran/95980 - ICE in get_unique_type_string, at fortran/class.c:485

    In SELECT TYPE, the argument may be an incorrectly specified unlimited
    CLASS variable.  Avoid NULL pointer dereferences for clean error
    recovery.

    gcc/fortran/
            PR fortran/95980
            * class.c (gfc_add_component_ref, gfc_build_class_symbol):
            Add checks for NULL pointer dereference.
            * primary.c (gfc_variable_attr): Likewise.
            * resolve.c (resolve_variable, resolve_assoc_var)
            (resolve_fl_var_and_proc, resolve_fl_variable_derived)
            (resolve_symbol): Likewise.

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

* [Bug fortran/95980] ICE in get_unique_type_string, at fortran/class.c:485
  2020-06-29 17:53 [Bug fortran/95980] New: ICE in get_unique_type_string, at fortran/class.c:485 gscfq@t-online.de
                   ` (17 preceding siblings ...)
  2020-07-10 19:36 ` cvs-commit at gcc dot gnu.org
@ 2020-07-23 20:07 ` cvs-commit at gcc dot gnu.org
  2020-07-23 20:07 ` cvs-commit at gcc dot gnu.org
  2020-07-24 20:56 ` anlauf at gcc dot gnu.org
  20 siblings, 0 replies; 22+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-07-23 20:07 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95980

--- Comment #18 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-10 branch has been updated by Harald Anlauf
<anlauf@gcc.gnu.org>:

https://gcc.gnu.org/g:a3980ada1bd99cf8df22284862693088e5d1ca7c

commit r10-8525-ga3980ada1bd99cf8df22284862693088e5d1ca7c
Author: Harald Anlauf <anlauf@gmx.de>
Date:   Mon Jul 6 18:58:23 2020 +0200

    PR fortran/95980 - ICE on using sync images with -fcheck=bounds

    In SELECT TYPE, the argument may be an incorrectly specified unlimited
    polymorphic variable.  Avoid a NULL pointer dereference for clean error
    recovery.

    gcc/fortran/
            PR fortran/95980
            * match.c (copy_ts_from_selector_to_associate, build_class_sym):
            Distinguish between unlimited polymorphic and ordinary variables
            to avoid NULL pointer dereference.
            * resolve.c (resolve_select_type):
            Distinguish between unlimited polymorphic and ordinary variables
            to avoid NULL pointer dereference.

    (cherry picked from commit f2151227dfe90a5fe73297c370786be98b0b090f)

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

* [Bug fortran/95980] ICE in get_unique_type_string, at fortran/class.c:485
  2020-06-29 17:53 [Bug fortran/95980] New: ICE in get_unique_type_string, at fortran/class.c:485 gscfq@t-online.de
                   ` (18 preceding siblings ...)
  2020-07-23 20:07 ` cvs-commit at gcc dot gnu.org
@ 2020-07-23 20:07 ` cvs-commit at gcc dot gnu.org
  2020-07-24 20:56 ` anlauf at gcc dot gnu.org
  20 siblings, 0 replies; 22+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-07-23 20:07 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95980

--- Comment #19 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-10 branch has been updated by Harald Anlauf
<anlauf@gcc.gnu.org>:

https://gcc.gnu.org/g:76a8ff3948ad5a36ccae7305a2e9a7c2499418e5

commit r10-8526-g76a8ff3948ad5a36ccae7305a2e9a7c2499418e5
Author: Harald Anlauf <anlauf@gmx.de>
Date:   Fri Jul 10 21:35:35 2020 +0200

    PR fortran/95980 - ICE in get_unique_type_string, at fortran/class.c:485

    In SELECT TYPE, the argument may be an incorrectly specified unlimited
    CLASS variable.  Avoid NULL pointer dereferences for clean error
    recovery.

    gcc/fortran/
            PR fortran/95980
            * class.c (gfc_add_component_ref, gfc_build_class_symbol):
            Add checks for NULL pointer dereference.
            * primary.c (gfc_variable_attr): Likewise.
            * resolve.c (resolve_variable, resolve_assoc_var)
            (resolve_fl_var_and_proc, resolve_fl_variable_derived)
            (resolve_symbol): Likewise.

    (cherry picked from commit 70c884a4b82733027ac0e2620d09169b177080d7)

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

* [Bug fortran/95980] ICE in get_unique_type_string, at fortran/class.c:485
  2020-06-29 17:53 [Bug fortran/95980] New: ICE in get_unique_type_string, at fortran/class.c:485 gscfq@t-online.de
                   ` (19 preceding siblings ...)
  2020-07-23 20:07 ` cvs-commit at gcc dot gnu.org
@ 2020-07-24 20:56 ` anlauf at gcc dot gnu.org
  20 siblings, 0 replies; 22+ messages in thread
From: anlauf at gcc dot gnu.org @ 2020-07-24 20:56 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95980

anlauf at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
             Status|ASSIGNED                    |RESOLVED

--- Comment #20 from anlauf at gcc dot gnu.org ---
Fixed on master for gcc-11 and on 10-branch.

Thanks for the report!

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

end of thread, other threads:[~2020-07-24 20:56 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-29 17:53 [Bug fortran/95980] New: ICE in get_unique_type_string, at fortran/class.c:485 gscfq@t-online.de
2020-06-29 17:54 ` [Bug fortran/95980] " gscfq@t-online.de
2020-06-29 18:38 ` kargl at gcc dot gnu.org
2020-06-29 18:51 ` kargl at gcc dot gnu.org
2020-06-29 20:59 ` anlauf at gcc dot gnu.org
2020-07-06 17:01 ` cvs-commit at gcc dot gnu.org
2020-07-06 18:01 ` dominiq at lps dot ens.fr
2020-07-06 20:25 ` anlauf at gcc dot gnu.org
2020-07-06 20:29 ` anlauf at gcc dot gnu.org
2020-07-06 21:24 ` dominiq at lps dot ens.fr
2020-07-06 21:57 ` sgk at troutmask dot apl.washington.edu
2020-07-06 22:38 ` dominiq at lps dot ens.fr
2020-07-07  6:29 ` anlauf at gcc dot gnu.org
2020-07-07  6:32 ` anlauf at gcc dot gnu.org
2020-07-07  7:35 ` dominiq at lps dot ens.fr
2020-07-07 17:26 ` gscfq@t-online.de
2020-07-07 21:03 ` anlauf at gcc dot gnu.org
2020-07-08  5:49 ` gscfq@t-online.de
2020-07-10 19:36 ` cvs-commit at gcc dot gnu.org
2020-07-23 20:07 ` cvs-commit at gcc dot gnu.org
2020-07-23 20:07 ` cvs-commit at gcc dot gnu.org
2020-07-24 20:56 ` anlauf at gcc dot gnu.org

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).