public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/55827] New: ICE with multiple fortran modules and character lenght determined by an interfaced pure function
@ 2012-12-28 21:08 bugs at stellardeath dot org
  2012-12-28 21:12 ` [Bug fortran/55827] " bugs at stellardeath dot org
                   ` (12 more replies)
  0 siblings, 13 replies; 14+ messages in thread
From: bugs at stellardeath dot org @ 2012-12-28 21:08 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55827

             Bug #: 55827
           Summary: ICE with multiple fortran modules and character lenght
                    determined by an interfaced pure function
    Classification: Unclassified
           Product: gcc
           Version: 4.8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: bugs@stellardeath.org


Created attachment 29062
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=29062
Minimal testcase (25 lines)

I hit this when trying to find a nice way to pass strings between Fortran and
C, it is however unrelated to any C-interfacing - the minimal testcase (25
lines) that is attached did not need this to trigger the ICE.

I could not reduce the testcase further - if I merge the first two modules I
get a sucessful compilation, also if I remove the line with the unnecessary
"use" in the final subroutine in the last module.

It seems to be related to the len= argument in the

  character(len=strlen(handle))

statements, when I substitute "strlen(handle)" with a number I also get a
sucessful compilation.


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

* [Bug fortran/55827] ICE with multiple fortran modules and character lenght determined by an interfaced pure function
  2012-12-28 21:08 [Bug fortran/55827] New: ICE with multiple fortran modules and character lenght determined by an interfaced pure function bugs at stellardeath dot org
@ 2012-12-28 21:12 ` bugs at stellardeath dot org
  2012-12-28 22:03 ` kargl at gcc dot gnu.org
                   ` (11 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: bugs at stellardeath dot org @ 2012-12-28 21:12 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55827

--- Comment #1 from Lorenz Hüdepohl <bugs at stellardeath dot org> 2012-12-28 21:12:28 UTC ---
Forgot the actual compiler output, this is of a self-compiled gcc (checked out
2012/12/22), see below for an 4.7.1:

#> gfortran -v -fimplicit-none -Wall -pedantic --std=f2003 -c ice.f90 
Using built-in specs.
COLLECT_GCC=/home/lorenz/sys/bin/gfortran
Target: x86_64-unknown-linux-gnu
Configured with: ./configure --prefix=/home/lorenz/sys
Thread model: posix
gcc version 4.8.0 20121222 (experimental) (GCC) 
COLLECT_GCC_OPTIONS='-v' '-fimplicit-none' '-Wall' '-Wpedantic' '-std=f2003'
'-c' '-mtune=generic' '-march=x86-64'
 /home/lorenz/sys/lib/gcc/x86_64-unknown-linux-gnu/4.8.0/f951 ice.f90 -quiet
-dumpbase ice.f90 -mtune=generic -march=x86-64 -auxbase ice -Wall -Wpedantic
-std=f2003 -version -fimplicit-none -fintrinsic-modules-path
/home/lorenz/sys/lib64/gcc/x86_64-unknown-linux-gnu/4.8.0/finclude -o
/tmp/ccPNKtBE.s
GNU Fortran (GCC) version 4.8.0 20121222 (experimental)
(x86_64-unknown-linux-gnu)
        compiled by GNU C version 4.8.0 20121222 (experimental), GMP version
5.0.5, MPFR version 3.1.0-p1, MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
GNU Fortran (GCC) version 4.8.0 20121222 (experimental)
(x86_64-unknown-linux-gnu)
        compiled by GNU C version 4.8.0 20121222 (experimental), GMP version
5.0.5, MPFR version 3.1.0-p1, MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
ice.f90:11.42:

  function tostring(handle) result(string)
                                          1
Warning: Unused variable 'string' declared at (1)
ice.f90:11.42:

  function tostring(handle) result(string)
                                          1
Warning: Return value 'string' of function 'tostring' declared at (1) not set
ice.f90: In function ‘dies_here’:
ice.f90:23:0: internal compiler error: Segmentation fault
     write(*,*) tostring(handle)
 ^
0x95f94f crash_signal
        ../.././gcc/toplev.c:334
0x51a7b1 gfc_fix_class_refs(gfc_expr*)
        ../.././gcc/fortran/class.c:168
0x5ea5bb gfc_conv_expr(gfc_se*, gfc_expr*)
        ../.././gcc/fortran/trans-expr.c:6224
0x5ebe5a gfc_apply_interface_mapping(gfc_interface_mapping*, gfc_se*,
gfc_expr*)
        ../.././gcc/fortran/trans-expr.c:3390
0x5e82f9 gfc_conv_procedure_call(gfc_se*, gfc_symbol*, gfc_actual_arglist*,
gfc_expr*, vec<tree_node*, va_gc, vl_embed>*)
        ../.././gcc/fortran/trans-expr.c:4855
0x5ea12d gfc_conv_function_expr
        ../.././gcc/fortran/trans-expr.c:5543
0x5eadfc gfc_conv_function_expr
        ../.././gcc/fortran/trans-expr.c:2194
0x5eadfc gfc_conv_expr(gfc_se*, gfc_expr*)
        ../.././gcc/fortran/trans-expr.c:6233
0x5ef01c gfc_conv_expr_reference(gfc_se*, gfc_expr*)
        ../.././gcc/fortran/trans-expr.c:6327
0x608f71 gfc_trans_transfer(gfc_code*)
        ../.././gcc/fortran/trans-io.c:2307
0x5b7e17 trans_code
        ../.././gcc/fortran/trans.c:1516
0x606c4e build_dt
        ../.././gcc/fortran/trans-io.c:1831
0x5b7e37 trans_code
        ../.././gcc/fortran/trans.c:1488
0x5de70e gfc_generate_function_code(gfc_namespace*)
        ../.././gcc/fortran/trans-decl.c:5385
0x5b85e1 gfc_generate_module_code(gfc_namespace*)
        ../.././gcc/fortran/trans.c:1646
0x577d8b translate_all_program_units
        ../.././gcc/fortran/parse.c:4452
0x577d8b gfc_parse_file()
        ../.././gcc/fortran/parse.c:4679
0x5b3815 gfc_be_parse_file
        ../.././gcc/fortran/f95-lang.c:191
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.


Also tested with gfortran 4.7.1 that comes with openSUSE:

> gfortran -v -c ice.f90 
Using built-in specs.
COLLECT_GCC=gfortran
Target: x86_64-suse-linux
Configured with: ../configure --prefix=/usr --infodir=/usr/share/info
--mandir=/usr/share/man --libdir=/usr/lib64 --libexecdir=/usr/lib64
--enable-languages=c,c++,objc,fortran,obj-c++,java,ada
--enable-checking=release --with-gxx-include-dir=/usr/include/c++/4.7
--enable-ssp --disable-libssp --disable-libitm --disable-plugin
--with-bugurl=http://bugs.opensuse.org/ --with-pkgversion='SUSE Linux'
--disable-libgcj --disable-libmudflap --with-slibdir=/lib64 --with-system-zlib
--enable-__cxa_atexit --enable-libstdcxx-allocator=new --disable-libstdcxx-pch
--enable-version-specific-runtime-libs --enable-linker-build-id
--program-suffix=-4.7 --enable-linux-futex --without-system-libunwind
--with-arch-32=i586 --with-tune=generic --build=x86_64-suse-linux
Thread model: posix
gcc version 4.7.1 20120723 [gcc-4_7-branch revision 189773] (SUSE Linux) 
COLLECT_GCC_OPTIONS='-v' '-c' '-mtune=generic' '-march=x86-64'
 /usr/lib64/gcc/x86_64-suse-linux/4.7/f951 ice.f90 -quiet -dumpbase ice.f90
-mtune=generic -march=x86-64 -auxbase ice -version -fintrinsic-modules-path
/usr/lib64/gcc/x86_64-suse-linux/4.7/finclude -o /tmp/cccbHXIz.s
GNU Fortran (SUSE Linux) version 4.7.1 20120723 [gcc-4_7-branch revision
189773] (x86_64-suse-linux)
        compiled by GNU C version 4.7.1 20120723 [gcc-4_7-branch revision
189773], GMP version 5.0.5, MPFR version 3.1.0-p1, MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
GNU Fortran (SUSE Linux) version 4.7.1 20120723 [gcc-4_7-branch revision
189773] (x86_64-suse-linux)
        compiled by GNU C version 4.7.1 20120723 [gcc-4_7-branch revision
189773], GMP version 5.0.5, MPFR version 3.1.0-p1, MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ice.f90: In function ‘dies_here’:
ice.f90:23:0: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://bugs.opensuse.org/> for instructions.


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

* [Bug fortran/55827] ICE with multiple fortran modules and character lenght determined by an interfaced pure function
  2012-12-28 21:08 [Bug fortran/55827] New: ICE with multiple fortran modules and character lenght determined by an interfaced pure function bugs at stellardeath dot org
  2012-12-28 21:12 ` [Bug fortran/55827] " bugs at stellardeath dot org
@ 2012-12-28 22:03 ` kargl at gcc dot gnu.org
  2012-12-28 22:41 ` mikael at gcc dot gnu.org
                   ` (10 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: kargl at gcc dot gnu.org @ 2012-12-28 22:03 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55827

kargl at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2012-12-28
                 CC|                            |kargl at gcc dot gnu.org
     Ever Confirmed|0                           |1
      Known to fail|                            |4.2.5, 4.3.6, 4.4.7, 4.5.4,
                   |                            |4.6.4, 4.7.2, 4.8.0

--- Comment #2 from kargl at gcc dot gnu.org 2012-12-28 22:02:43 UTC ---
Here's a possible patch against trunk.  I'm not
familiar with the internals for CLASS, so the
change to class.c may need some additional work.

Index: class.c
===================================================================
--- class.c     (revision 194745)
+++ class.c     (working copy)
@@ -162,7 +162,8 @@ gfc_fix_class_refs (gfc_expr *e)
   if ((e->expr_type != EXPR_VARIABLE
        && e->expr_type != EXPR_FUNCTION)
       || (e->expr_type == EXPR_FUNCTION
-         && e->value.function.isym != NULL))
+         && e->value.function.isym != NULL)
+      || e->symtree == NULL)
     return;

   ts = &e->symtree->n.sym->ts;
Index: trans-expr.c
===================================================================
--- trans-expr.c        (revision 194745)
+++ trans-expr.c        (working copy)
@@ -5527,7 +5527,7 @@ gfc_conv_function_expr (gfc_se * se, gfc

   /* We distinguish statement functions from general functions to improve
      runtime performance.  */
-  if (expr->symtree->n.sym->attr.proc == PROC_ST_FUNCTION)
+  if (expr->symtree && expr->symtree->n.sym->attr.proc == PROC_ST_FUNCTION)
     {
       gfc_conv_statement_function (se, expr);


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

* [Bug fortran/55827] ICE with multiple fortran modules and character lenght determined by an interfaced pure function
  2012-12-28 21:08 [Bug fortran/55827] New: ICE with multiple fortran modules and character lenght determined by an interfaced pure function bugs at stellardeath dot org
  2012-12-28 21:12 ` [Bug fortran/55827] " bugs at stellardeath dot org
  2012-12-28 22:03 ` kargl at gcc dot gnu.org
@ 2012-12-28 22:41 ` mikael at gcc dot gnu.org
  2012-12-29  0:26 ` sgk at troutmask dot apl.washington.edu
                   ` (9 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: mikael at gcc dot gnu.org @ 2012-12-28 22:41 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55827

Mikael Morin <mikael at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mikael at gcc dot gnu.org

--- Comment #3 from Mikael Morin <mikael at gcc dot gnu.org> 2012-12-28 22:41:22 UTC ---
(In reply to comment #2)
> Here's a possible patch against trunk.

Hum, it doesn't look right to allow unnamed (symtree == NULL) functions.
Here is another possible patch.  Basically untested.

diff --git a/module.c b/module.c
index cde5739..af908ac 100644
--- a/module.c
+++ b/module.c
@@ -4532,7 +4532,7 @@ read_module (void)
   char name[GFC_MAX_SYMBOL_LEN + 1];
   int i;
   int ambiguous, j, nuse, symbol;
-  pointer_info *info, *q;
+  pointer_info *info;
   gfc_use_rename *u = NULL;
   gfc_symtree *st;
   gfc_symbol *sym;
@@ -4595,8 +4595,7 @@ read_module (void)
       /* Some symbols do not have a namespace (eg. formal arguments),
      so the automatic "unique symtree" mechanism must be suppressed
      by marking them as referenced.  */
-      q = get_integer (info->u.rsym.ns);
-      if (q->u.pointer == NULL)
+      if (info->u.rsym.ns == 0)
     {
       info->u.rsym.referenced = 1;
       continue;


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

* [Bug fortran/55827] ICE with multiple fortran modules and character lenght determined by an interfaced pure function
  2012-12-28 21:08 [Bug fortran/55827] New: ICE with multiple fortran modules and character lenght determined by an interfaced pure function bugs at stellardeath dot org
                   ` (2 preceding siblings ...)
  2012-12-28 22:41 ` mikael at gcc dot gnu.org
@ 2012-12-29  0:26 ` sgk at troutmask dot apl.washington.edu
  2012-12-29 16:05 ` sgk at troutmask dot apl.washington.edu
                   ` (8 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: sgk at troutmask dot apl.washington.edu @ 2012-12-29  0:26 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55827

--- Comment #4 from Steve Kargl <sgk at troutmask dot apl.washington.edu> 2012-12-29 00:25:33 UTC ---
On Fri, Dec 28, 2012 at 10:41:22PM +0000, mikael at gcc dot gnu.org wrote:
> 
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55827
> 
> Mikael Morin <mikael at gcc dot gnu.org> changed:
> 
>            What    |Removed                     |Added
> ----------------------------------------------------------------------------
>                  CC|                            |mikael at gcc dot gnu.org
> 
> --- Comment #3 from Mikael Morin <mikael at gcc dot gnu.org> 2012-12-28 22:41:22 UTC ---
> (In reply to comment #2)
> > Here's a possible patch against trunk.
> 
> Hum, it doesn't look right to allow unnamed (symtree == NULL) functions.
> Here is another possible patch.  Basically untested.
> 

Hi Mikael,

I tested your patch.  While it fixes the issue in this PR,
it causes a regression with used_dummy_types_7.f90.  I
haven't tried to traced down the problem other than a quick
gdb session.


Program received signal SIGSEGV, Segmentation fault.
0x0000000000532112 in gfc_insert_bbt (root=0x0, new_node=0x202806cd0, 
    compare=0x5c2a70 <compare_symtree(void*, void*)>)
    at ../../gcc4x/gcc/fortran/bbt.c:138
138       *r = insert (n, *r, compare);
(gdb) bt
#0  0x0000000000532112 in gfc_insert_bbt (root=0x0, new_node=0x202806cd0, 
    compare=0x5c2a70 <compare_symtree(void*, void*)>)
    at ../../gcc4x/gcc/fortran/bbt.c:138
#1  0x00000000005c52fa in gfc_new_symtree (root=root@entry=0x0, 
    name=name@entry=0x7fffffffcd80 "@5")
    at ../../gcc4x/gcc/fortran/symbol.c:2403
#2  0x00000000005c53e1 in gfc_get_unique_symtree (ns=0x0)
    at ../../gcc4x/gcc/fortran/symbol.c:2455
#3  0x0000000000585de7 in read_cleanup (p=0x202898700)
    at ../../gcc4x/gcc/fortran/module.c:4461
#4  0x0000000000585d8e in read_cleanup (p=0x202898680)
    at ../../gcc4x/gcc/fortran/module.c:4450
#5  0x0000000000585d85 in read_cleanup (p=0x202898780)
    at ../../gcc4x/gcc/fortran/module.c:4449
#6  0x000000000058b894 in read_module ()
    at ../../gcc4x/gcc/fortran/module.c:4821
#7  0x000000000058bd15 in gfc_use_module (module=module@entry=0x202806970)
    at ../../gcc4x/gcc/fortran/module.c:6249
#8  0x000000000058ce19 in gfc_use_modules ()
    at ../../gcc4x/gcc/fortran/module.c:6372
#9  0x0000000000591bb8 in use_modules () at ../../gcc4x/gcc/fortran/parse.c:88
#10 0x0000000000592b95 in decode_statement ()
    at ../../gcc4x/gcc/fortran/parse.c:302
#11 0x0000000000593e95 in next_free () at ../../gcc4x/gcc/fortran/parse.c:779
#12 next_statement () at ../../gcc4x/gcc/fortran/parse.c:972
#13 0x0000000000594d4e in parse_spec (st=<optimized out>, st@entry=ST_NONE)
    at ../../gcc4x/gcc/fortran/parse.c:2740
#14 0x00000000005952ab in parse_interface ()
    at ../../gcc4x/gcc/fortran/parse.c:2461
#15 parse_spec (st=ST_INTERFACE, st@entry=ST_NONE)
    at ../../gcc4x/gcc/fortran/parse.c:2698
#16 0x0000000000597b6d in parse_module ()
    at ../../gcc4x/gcc/fortran/parse.c:4307
#17 gfc_parse_file () at ../../gcc4x/gcc/fortran/parse.c:4584
#18 0x00000000005d2e86 in gfc_be_parse_file ()
    at ../../gcc4x/gcc/fortran/f95-lang.c:191
#19 0x000000000097db06 in compile_file () at ../../gcc4x/gcc/toplev.c:545
#20 0x000000000097f8ad in do_compile () at ../../gcc4x/gcc/toplev.c:1878
#21 toplev_main (argc=2, argv=0x7fffffffd4f0) at ../../gcc4x/gcc/toplev.c:1954
#22 0x000000000052b60f in _start ()


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

* [Bug fortran/55827] ICE with multiple fortran modules and character lenght determined by an interfaced pure function
  2012-12-28 21:08 [Bug fortran/55827] New: ICE with multiple fortran modules and character lenght determined by an interfaced pure function bugs at stellardeath dot org
                   ` (3 preceding siblings ...)
  2012-12-29  0:26 ` sgk at troutmask dot apl.washington.edu
@ 2012-12-29 16:05 ` sgk at troutmask dot apl.washington.edu
  2012-12-29 16:40 ` mikael at gcc dot gnu.org
                   ` (7 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: sgk at troutmask dot apl.washington.edu @ 2012-12-29 16:05 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55827

--- Comment #5 from Steve Kargl <sgk at troutmask dot apl.washington.edu> 2012-12-29 16:04:45 UTC ---
On Fri, Dec 28, 2012 at 10:02:43PM +0000, kargl at gcc dot gnu.org wrote:
> 
> Index: class.c
> ===================================================================
> --- class.c     (revision 194745)
> +++ class.c     (working copy)
> @@ -162,7 +162,8 @@ gfc_fix_class_refs (gfc_expr *e)
>    if ((e->expr_type != EXPR_VARIABLE
>         && e->expr_type != EXPR_FUNCTION)
>        || (e->expr_type == EXPR_FUNCTION
> -         && e->value.function.isym != NULL))
> +         && e->value.function.isym != NULL)
> +      || e->symtree == NULL)
>      return;
> 
>    ts = &e->symtree->n.sym->ts;
> Index: trans-expr.c
> ===================================================================
> --- trans-expr.c        (revision 194745)
> +++ trans-expr.c        (working copy)
> @@ -5527,7 +5527,7 @@ gfc_conv_function_expr (gfc_se * se, gfc
> 
>    /* We distinguish statement functions from general functions to improve
>       runtime performance.  */
> -  if (expr->symtree->n.sym->attr.proc == PROC_ST_FUNCTION)
> +  if (expr->symtree && expr->symtree->n.sym->attr.proc == PROC_ST_FUNCTION)
>      {
>        gfc_conv_statement_function (se, expr);
> 

Although I agree with Mikael that gfortran should probably
not have a NULL symtree by the time we reach gfc_conv_function_expr,
the above patch regression tests cleanly.


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

* [Bug fortran/55827] ICE with multiple fortran modules and character lenght determined by an interfaced pure function
  2012-12-28 21:08 [Bug fortran/55827] New: ICE with multiple fortran modules and character lenght determined by an interfaced pure function bugs at stellardeath dot org
                   ` (4 preceding siblings ...)
  2012-12-29 16:05 ` sgk at troutmask dot apl.washington.edu
@ 2012-12-29 16:40 ` mikael at gcc dot gnu.org
  2013-01-01 19:14 ` mikael at gcc dot gnu.org
                   ` (6 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: mikael at gcc dot gnu.org @ 2012-12-29 16:40 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55827

--- Comment #6 from Mikael Morin <mikael at gcc dot gnu.org> 2012-12-29 16:40:07 UTC ---
(In reply to comment #5)

> Although I agree with Mikael that gfortran should probably
> not have a NULL symtree by the time we reach gfc_conv_function_expr,
> the above patch regression tests cleanly.

Indeed, it's probably not that bad actually, as value.function.esym is properly
set, despite symtree being NULL.

Regarding:
(In reply to comment #2)
> I'm not
> familiar with the internals for CLASS, so the
> change to class.c may need some additional work.
> 
That change is certainly OK: 
If e->symtree == NULL, it doesn't make sense to have subreferences (e->ref ==
NULL), so the function reduces to a no-op.


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

* [Bug fortran/55827] ICE with multiple fortran modules and character lenght determined by an interfaced pure function
  2012-12-28 21:08 [Bug fortran/55827] New: ICE with multiple fortran modules and character lenght determined by an interfaced pure function bugs at stellardeath dot org
                   ` (5 preceding siblings ...)
  2012-12-29 16:40 ` mikael at gcc dot gnu.org
@ 2013-01-01 19:14 ` mikael at gcc dot gnu.org
  2013-01-05 13:26 ` mikael at gcc dot gnu.org
                   ` (5 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: mikael at gcc dot gnu.org @ 2013-01-01 19:14 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55827

Mikael Morin <mikael at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot       |mikael at gcc dot gnu.org
                   |gnu.org                     |

--- Comment #7 from Mikael Morin <mikael at gcc dot gnu.org> 2013-01-01 19:14:17 UTC ---
(In reply to comment #5)
> Although I agree with Mikael that gfortran should probably
> not have a NULL symtree by the time we reach gfc_conv_function_expr,
> the above patch regression tests cleanly.

I will submit something inspired by your comment #2. It looks rock solid.


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

* [Bug fortran/55827] ICE with multiple fortran modules and character lenght determined by an interfaced pure function
  2012-12-28 21:08 [Bug fortran/55827] New: ICE with multiple fortran modules and character lenght determined by an interfaced pure function bugs at stellardeath dot org
                   ` (6 preceding siblings ...)
  2013-01-01 19:14 ` mikael at gcc dot gnu.org
@ 2013-01-05 13:26 ` mikael at gcc dot gnu.org
  2013-01-07 17:57 ` mikael at gcc dot gnu.org
                   ` (4 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: mikael at gcc dot gnu.org @ 2013-01-05 13:26 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55827

--- Comment #8 from Mikael Morin <mikael at gcc dot gnu.org> 2013-01-05 13:25:38 UTC ---
Author: mikael
Revision: 194928
Modified property: svn:log

Modified: svn:log at Sat Jan  5 13:25:32 2013
------------------------------------------------------------------------------
--- svn:log (original)
+++ svn:log Sat Jan  5 13:25:32 2013
@@ -1,6 +1,7 @@
 2013-01-05  Steven G. Kargl  <kargl@gcc.gnu.org>
         Mikael Morin  <mikael@gcc.gnu.org>

+    PR fortran/55827
     * class.c (gfc_fix_class_refs): Adapt ts initialization for the case
     e->symtree == NULL.
     * trans-expr.c (gfc_conv_function_expr): Init sym earlier. Use it.
@@ -8,5 +9,6 @@
 2013-01-05  Steven G. Kargl  <kargl@gcc.gnu.org>
         Mikael Morin  <mikael@gcc.gnu.org>

+    PR fortran/55827
     * gfortran.dg/use_22.f90: New test.


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

* [Bug fortran/55827] ICE with multiple fortran modules and character lenght determined by an interfaced pure function
  2012-12-28 21:08 [Bug fortran/55827] New: ICE with multiple fortran modules and character lenght determined by an interfaced pure function bugs at stellardeath dot org
                   ` (7 preceding siblings ...)
  2013-01-05 13:26 ` mikael at gcc dot gnu.org
@ 2013-01-07 17:57 ` mikael at gcc dot gnu.org
  2013-01-07 18:11 ` mikael at gcc dot gnu.org
                   ` (3 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: mikael at gcc dot gnu.org @ 2013-01-07 17:57 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55827

--- Comment #9 from Mikael Morin <mikael at gcc dot gnu.org> 2013-01-07 17:56:58 UTC ---
Author: mikael
Date: Mon Jan  7 17:56:53 2013
New Revision: 194985

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=194985
Log:
2013-01-07  Steven G. Kargl  <kargl@gcc.gnu.org>
        Mikael Morin  <mikael@gcc.gnu.org>

    PR fortran/55827
    * class.c (gfc_fix_class_refs): Adapt ts initialization for the case
    e->symtree == NULL.
    * trans-expr.c (gfc_conv_function_expr): Init sym earlier. Use it.

2013-01-07  Steven G. Kargl  <kargl@gcc.gnu.org>
        Mikael Morin  <mikael@gcc.gnu.org>

    PR fortran/55827
    * gfortran.dg/use_22.f90: New test.


Added:
    branches/gcc-4_7-branch/gcc/testsuite/gfortran.dg/use_22.f90
Modified:
    branches/gcc-4_7-branch/gcc/fortran/ChangeLog
    branches/gcc-4_7-branch/gcc/fortran/class.c
    branches/gcc-4_7-branch/gcc/fortran/trans-expr.c
    branches/gcc-4_7-branch/gcc/testsuite/ChangeLog


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

* [Bug fortran/55827] ICE with multiple fortran modules and character lenght determined by an interfaced pure function
  2012-12-28 21:08 [Bug fortran/55827] New: ICE with multiple fortran modules and character lenght determined by an interfaced pure function bugs at stellardeath dot org
                   ` (8 preceding siblings ...)
  2013-01-07 17:57 ` mikael at gcc dot gnu.org
@ 2013-01-07 18:11 ` mikael at gcc dot gnu.org
  2013-01-07 18:17 ` mikael at gcc dot gnu.org
                   ` (2 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: mikael at gcc dot gnu.org @ 2013-01-07 18:11 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55827

--- Comment #10 from Mikael Morin <mikael at gcc dot gnu.org> 2013-01-07 18:10:52 UTC ---
Author: mikael
Date: Mon Jan  7 18:10:46 2013
New Revision: 194987

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=194987
Log:
2013-01-07  Steven G. Kargl  <kargl@gcc.gnu.org>
        Mikael Morin  <mikael@gcc.gnu.org>

    PR fortran/55827
    * class.c (gfc_fix_class_refs): Adapt ts initialization for the case
    e->symtree == NULL.
    * trans-expr.c (gfc_conv_function_expr): Init sym earlier. Use it.

2013-01-07  Steven G. Kargl  <kargl@gcc.gnu.org>
        Mikael Morin  <mikael@gcc.gnu.org>

    PR fortran/55827
    * gfortran.dg/use_22.f90: New test.


Added:
    branches/gcc-4_6-branch/gcc/testsuite/gfortran.dg/use_22.f90
Modified:
    branches/gcc-4_6-branch/gcc/fortran/ChangeLog
    branches/gcc-4_6-branch/gcc/fortran/trans-expr.c
    branches/gcc-4_6-branch/gcc/testsuite/ChangeLog


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

* [Bug fortran/55827] ICE with multiple fortran modules and character lenght determined by an interfaced pure function
  2012-12-28 21:08 [Bug fortran/55827] New: ICE with multiple fortran modules and character lenght determined by an interfaced pure function bugs at stellardeath dot org
                   ` (9 preceding siblings ...)
  2013-01-07 18:11 ` mikael at gcc dot gnu.org
@ 2013-01-07 18:17 ` mikael at gcc dot gnu.org
  2013-01-07 18:19 ` mikael at gcc dot gnu.org
  2013-01-07 22:04 ` mikael at gcc dot gnu.org
  12 siblings, 0 replies; 14+ messages in thread
From: mikael at gcc dot gnu.org @ 2013-01-07 18:17 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55827

--- Comment #11 from Mikael Morin <mikael at gcc dot gnu.org> 2013-01-07 18:16:33 UTC ---
(In reply to comment #10)
> Author: mikael
> Date: Mon Jan  7 18:10:46 2013
> New Revision: 194987
> 
> URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=194987
> Log:
> 2013-01-07  Steven G. Kargl  <kargl@gcc.gnu.org>
>         Mikael Morin  <mikael@gcc.gnu.org>
> 
>     PR fortran/55827
>     * class.c (gfc_fix_class_refs): Adapt ts initialization for the case
>     e->symtree == NULL.
Err, that part is not in the 4.6 backport.
I will fix the Changelog.


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

* [Bug fortran/55827] ICE with multiple fortran modules and character lenght determined by an interfaced pure function
  2012-12-28 21:08 [Bug fortran/55827] New: ICE with multiple fortran modules and character lenght determined by an interfaced pure function bugs at stellardeath dot org
                   ` (10 preceding siblings ...)
  2013-01-07 18:17 ` mikael at gcc dot gnu.org
@ 2013-01-07 18:19 ` mikael at gcc dot gnu.org
  2013-01-07 22:04 ` mikael at gcc dot gnu.org
  12 siblings, 0 replies; 14+ messages in thread
From: mikael at gcc dot gnu.org @ 2013-01-07 18:19 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55827

--- Comment #12 from Mikael Morin <mikael at gcc dot gnu.org> 2013-01-07 18:18:12 UTC ---
Author: mikael
Revision: 194987
Modified property: svn:log

Modified: svn:log at Mon Jan  7 18:18:03 2013
------------------------------------------------------------------------------
--- svn:log (original)
+++ svn:log Mon Jan  7 18:18:03 2013
@@ -2,8 +2,6 @@
         Mikael Morin  <mikael@gcc.gnu.org>

     PR fortran/55827
-    * class.c (gfc_fix_class_refs): Adapt ts initialization for the case
-    e->symtree == NULL.
     * trans-expr.c (gfc_conv_function_expr): Init sym earlier. Use it.

 2013-01-07  Steven G. Kargl  <kargl@gcc.gnu.org>


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

* [Bug fortran/55827] ICE with multiple fortran modules and character lenght determined by an interfaced pure function
  2012-12-28 21:08 [Bug fortran/55827] New: ICE with multiple fortran modules and character lenght determined by an interfaced pure function bugs at stellardeath dot org
                   ` (11 preceding siblings ...)
  2013-01-07 18:19 ` mikael at gcc dot gnu.org
@ 2013-01-07 22:04 ` mikael at gcc dot gnu.org
  12 siblings, 0 replies; 14+ messages in thread
From: mikael at gcc dot gnu.org @ 2013-01-07 22:04 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55827

Mikael Morin <mikael at gcc dot gnu.org> changed:

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

--- Comment #13 from Mikael Morin <mikael at gcc dot gnu.org> 2013-01-07 22:03:43 UTC ---
Fixed.


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

end of thread, other threads:[~2013-01-07 22:04 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-12-28 21:08 [Bug fortran/55827] New: ICE with multiple fortran modules and character lenght determined by an interfaced pure function bugs at stellardeath dot org
2012-12-28 21:12 ` [Bug fortran/55827] " bugs at stellardeath dot org
2012-12-28 22:03 ` kargl at gcc dot gnu.org
2012-12-28 22:41 ` mikael at gcc dot gnu.org
2012-12-29  0:26 ` sgk at troutmask dot apl.washington.edu
2012-12-29 16:05 ` sgk at troutmask dot apl.washington.edu
2012-12-29 16:40 ` mikael at gcc dot gnu.org
2013-01-01 19:14 ` mikael at gcc dot gnu.org
2013-01-05 13:26 ` mikael at gcc dot gnu.org
2013-01-07 17:57 ` mikael at gcc dot gnu.org
2013-01-07 18:11 ` mikael at gcc dot gnu.org
2013-01-07 18:17 ` mikael at gcc dot gnu.org
2013-01-07 18:19 ` mikael at gcc dot gnu.org
2013-01-07 22:04 ` mikael 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).