[Bug fortran/26201] [4.1/4.2 regression] __convert_i4_i8 written to a module.
--- Comment #3 from eedelman at gcc dot gnu dot org 2006-02-15 21:20 --- I can't reproduce the problem with MUMPS on Linux/x86 (mainline revision 11, 4.1 revision 110989). Assuming that Steve used a 64 bit processor, it seems that for this code the bug is visible only on 64 bit systems. (The fact that problem occurs for the function __convert_i4_i8 also indicates that, since conversions from 4 byte to 8 byte integers happens more often on 64 bit systems than on 32 bit ones.) The VASP code I do not have available, so I can't test that one. (Since it is about reals rather than integers, it's not unlikely that that would be reproducable on 32 bit systems.) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26201
[Bug fortran/26201] [4.1/4.2 regression] __convert_i4_i8 written to a module.
--- Comment #4 from sgk at troutmask dot apl dot washington dot edu 2006-02-15 21:30 --- Subject: Re: [4.1/4.2 regression] __convert_i4_i8 written to a module. On Wed, Feb 15, 2006 at 09:20:15PM -, eedelman at gcc dot gnu dot org wrote: > > I can't reproduce the problem with MUMPS on Linux/x86 (mainline revision > 11, 4.1 revision 110989). Assuming that Steve used a 64 bit processor, it > seems that for this code the bug is visible only on 64 bit systems. (The fact > that problem occurs for the function __convert_i4_i8 also indicates that, > since > conversions from 4 byte to 8 byte integers happens more often on 64 bit > systems > than on 32 bit ones.) > > The VASP code I do not have available, so I can't test that one. (Since it is > about reals rather than integers, it's not unlikely that that would be > reproducable on 32 bit systems.) > I see the problem on amd64-*-freebsd. For the record, gfc4x -O2 -Wfatal-errors -v -I../libseq -Dpord -I. -I../include -c dmumps_part2.F Using built-in specs. Target: amd64-unknown-freebsd7.0 Configured with: ../gcc4x/configure --prefix=/mnt1/sgk/work/4x --enable-languages=c,fortran Thread model: posix gcc version 4.2.0 20060215 (experimental) /mnt1/sgk/work/4x/libexec/gcc/amd64-unknown-freebsd7.0/4.2.0/cc1 -E -lang-fortran -traditional-cpp -D_LANGUAGE_FORTRAN -quiet -v -I../libseq -I. -I../include -Dpord dmumps_part2.F -mtune=generic -Wfatal-errors -O2 -o /mnt1/sgk/tmp/cc6Lln73.f ignoring nonexistent directory "/mnt1/sgk/work/4x/lib/gcc/amd64-unknown-freebsd7.0/4.2.0/../../../../amd64-unknown-freebsd7.0/include" #include "..." search starts here: #include <...> search starts here: ../libseq . ../include /usr/local/include /mnt1/sgk/work/4x/include /mnt1/sgk/work/4x/lib/gcc/amd64-unknown-freebsd7.0/4.2.0/include /usr/include End of search list. /mnt1/sgk/work/4x/libexec/gcc/amd64-unknown-freebsd7.0/4.2.0/f951 /mnt1/sgk/tmp/cc6Lln73.f -ffixed-form -quiet -dumpbase dmumps_part2.F -mtune=generic -auxbase dmumps_part2 -O2 -Wfatal-errors -version -I../libseq -I. -I../include -fpreprocessed -I /mnt1/sgk/work/4x/lib/gcc/amd64-unknown-freebsd7.0/4.2.0/finclude -o /mnt1/sgk/tmp/ccSOkFPo.s GNU F95 version 4.2.0 20060215 (experimental) (amd64-unknown-freebsd7.0) compiled by GNU C version 4.2.0 20060215 (experimental). GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 In file dmumps_part2.F:962 END SUBROUTINE DMUMPS_80 1 Error: Name '__convert_i4_i8' at (1) is an ambiguous reference to '__convert_i4_i8' from module 'dmumps_ooc' In file dmumps_part2.F:962 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26201
[Bug fortran/26201] [4.1/4.2 regression] __convert_i4_i8 written to a module.
-- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2006-02-16 12:25:32 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26201
[Bug fortran/26201] [4.1/4.2 regression] __convert_i4_i8 written to a module.
--- Comment #5 from P dot Schaffnit at access dot rwth-aachen dot de 2006-02-16 14:08 --- Created an attachment (id=10862) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=10862&action=view) Sources which exhibit this behaviour (under 32-bit linux) Hi! Here's something that exhibits this behaviour... If I may say so, I find it *really* weird: removing things which do not seem to be related to that seem to make it disappear though... I hope this helps, good luck! Philippe PS: do not look for any meaning in these sources: I tried to remove as much as I could from the original sources (...) PPS: the way I do it: .../Gcc/bin/gfortran -c Sources.f90 In file Sources.f90:84 END SUBROUTINE toolModifyAnzKorn 1 Error: Name '__convert_i4_r4' at (1) is an ambiguous reference to '__convert_i4_r4' from module 'module_randbed' -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26201
[Bug fortran/26201] [4.1/4.2 regression] __convert_i4_i8 written to a module.
--- Comment #6 from eedelman at gcc dot gnu dot org 2006-02-16 14:12 --- With Philippe's testcase, I can reproduce the problem on my system now. -- eedelman at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |eedelman at gcc dot gnu dot |dot org |org Status|NEW |ASSIGNED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26201
[Bug fortran/26201] [4.1/4.2 regression] __convert_i4_i8 written to a module.
--- Comment #7 from eedelman at gcc dot gnu dot org 2006-02-18 19:52 --- Here's a small one-liner patch that I think fixes the bug. I'll post it to the mailing list later tonight if/when it passes regression testing. Index: gcc/fortran/intrinsic.c === --- gcc/fortran/intrinsic.c (revision 111236) +++ gcc/fortran/intrinsic.c (working copy) @@ -3428,6 +3428,7 @@ gfc_convert_type_warn (gfc_expr * expr, new->symtree->n.sym->attr.elemental = 1; new->symtree->n.sym->attr.pure = 1; new->symtree->n.sym->attr.referenced = 1; + gfc_intrinsic_symbol(new->symtree->n.sym); gfc_commit_symbol (new->symtree->n.sym); *expr = *new; -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26201
[Bug fortran/26201] [4.1/4.2 regression] __convert_i4_i8 written to a module.
--- Comment #8 from sgk at troutmask dot apl dot washington dot edu 2006-02-18 23:54 --- Subject: Re: [4.1/4.2 regression] __convert_i4_i8 written to a module. On Sat, Feb 18, 2006 at 07:52:27PM -, eedelman at gcc dot gnu dot org wrote: > > > Index: gcc/fortran/intrinsic.c > === > --- gcc/fortran/intrinsic.c (revision 111236) > +++ gcc/fortran/intrinsic.c (working copy) > @@ -3428,6 +3428,7 @@ gfc_convert_type_warn (gfc_expr * expr, >new->symtree->n.sym->attr.elemental = 1; >new->symtree->n.sym->attr.pure = 1; >new->symtree->n.sym->attr.referenced = 1; > + gfc_intrinsic_symbol(new->symtree->n.sym); >gfc_commit_symbol (new->symtree->n.sym); > >*expr = *new; > This fixes the problem of compiling MUMPS on amd64-*-freebsd. OK to commit to trunk. You'll need approval from markm to commit to 4.1. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26201
[Bug fortran/26201] [4.1/4.2 regression] __convert_i4_i8 written to a module.
--- Comment #9 from eedelman at gcc dot gnu dot org 2006-02-19 17:23 --- Subject: Bug 26201 Author: eedelman Date: Sun Feb 19 17:23:07 2006 New Revision: 111270 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=111270 Log: fortran/ 2006-02-19 Erik Edelmann <[EMAIL PROTECTED]> PR fortran/26201 * intrinsic.c (gfc_convert_type_warn): Call gfc_intrinsic_symbol() on the newly created symbol. testsuite/ 2006-02-19 Erik Edelmann <[EMAIL PROTECTED]> PR fortran/26201 * gfortran.dg/convert_1.f90: New. Added: trunk/gcc/testsuite/gfortran.dg/convert_1.f90 Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/intrinsic.c trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26201