public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/52729] New: Symbol has no implicit type in SELECT TYPE block
@ 2012-03-26 18:20 abenson at caltech dot edu
2012-04-02 9:54 ` [Bug fortran/52729] " burnus at gcc dot gnu.org
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: abenson at caltech dot edu @ 2012-03-26 18:20 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52729
Bug #: 52729
Summary: Symbol has no implicit type in SELECT TYPE block
Classification: Unclassified
Product: gcc
Version: 4.8.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: abenson@caltech.edu
The following fails to compile with the latest gfortran 4.8 (r185768):
module testMod
type testType
end type testType
contains
subroutine testSub()
implicit none
procedure(double precision ), pointer :: r
class (testType ), pointer :: testObject
double precision :: testVal
select type (testObject)
class is (testType)
testVal=testFunc()
r => testFunc
end select
return
end subroutine testSub
double precision function testFunc()
implicit none
return
end function testFunc
end module testMod
$ gfortran -v
Using built-in specs.
COLLECT_GCC=gfortran
COLLECT_LTO_WRAPPER=/home/abenson/libexec/gcc/x86_64-unknown-linux-
gnu/4.8.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-4.7/configure --prefix=/home/abenson --enable-
languages=c,c++,fortran --disable-multilib --with-gmp=/home/abenson --with-
mpc=/home/abenson --with-mpfr=/home/abenson
Thread model: posix
gcc version 4.8.0 20120324 (experimental) (GCC)
$ gfortran -c test.F90 -o test.o
test.F90:16.23:
testVal=testFunc()
1
Error: Symbol 'testfunc' at (1) has no IMPLICIT type
Removing the "r => ...." line, removing the "select type", "class is" and "end
select" lines or moving testFunc before testSub in the file all allow the code
to compile successfully.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug fortran/52729] Symbol has no implicit type in SELECT TYPE block
2012-03-26 18:20 [Bug fortran/52729] New: Symbol has no implicit type in SELECT TYPE block abenson at caltech dot edu
@ 2012-04-02 9:54 ` burnus at gcc dot gnu.org
2012-04-11 13:09 ` burnus at gcc dot gnu.org
2012-04-11 13:10 ` burnus at gcc dot gnu.org
2 siblings, 0 replies; 4+ messages in thread
From: burnus at gcc dot gnu.org @ 2012-04-02 9:54 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52729
Tobias Burnus <burnus at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |rejects-valid
Status|UNCONFIRMED |NEW
Last reconfirmed| |2012-04-02
CC| |burnus at gcc dot gnu.org
Ever Confirmed|0 |1
--- Comment #1 from Tobias Burnus <burnus at gcc dot gnu.org> 2012-04-02 09:54:32 UTC ---
That's an odd issue.
The problem only occurs if one has a BLOCK (or the SELECT TYPE or ASSOCIATE
constructs which use it internally).
At the same time, one needs to have the function on the LHS of both a procedure
call and a proc-pointer assignment.
I think that one somewhere only looks as the namespace and its parent
("ns->parent") instead of walking higher up.
Reduced example:
module testMod
implicit none
contains
subroutine testSub()
procedure(double precision ), pointer :: r
double precision :: testVal
block
testVal=testFunc()
r => testFunc
end block
end subroutine testSub
double precision function testFunc()
end function testFunc
end module testMod
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug fortran/52729] Symbol has no implicit type in SELECT TYPE block
2012-03-26 18:20 [Bug fortran/52729] New: Symbol has no implicit type in SELECT TYPE block abenson at caltech dot edu
2012-04-02 9:54 ` [Bug fortran/52729] " burnus at gcc dot gnu.org
@ 2012-04-11 13:09 ` burnus at gcc dot gnu.org
2012-04-11 13:10 ` burnus at gcc dot gnu.org
2 siblings, 0 replies; 4+ messages in thread
From: burnus at gcc dot gnu.org @ 2012-04-11 13:09 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52729
--- Comment #2 from Tobias Burnus <burnus at gcc dot gnu.org> 2012-04-11 13:08:38 UTC ---
Author: burnus
Date: Wed Apr 11 13:08:32 2012
New Revision: 186318
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=186318
Log:
2012-04-11 Tobias Burnus <burnus@net-b.de>
PR fortran/52729
* resolve.c (resolve_symbol): Fix searching for parent NS decl.
2012-04-11 Tobias Burnus <burnus@net-b.de>
PR fortran/52729
* gfortran.dg/block_11.f90: New.
Added:
trunk/gcc/testsuite/gfortran.dg/block_11.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/resolve.c
trunk/gcc/testsuite/ChangeLog
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug fortran/52729] Symbol has no implicit type in SELECT TYPE block
2012-03-26 18:20 [Bug fortran/52729] New: Symbol has no implicit type in SELECT TYPE block abenson at caltech dot edu
2012-04-02 9:54 ` [Bug fortran/52729] " burnus at gcc dot gnu.org
2012-04-11 13:09 ` burnus at gcc dot gnu.org
@ 2012-04-11 13:10 ` burnus at gcc dot gnu.org
2 siblings, 0 replies; 4+ messages in thread
From: burnus at gcc dot gnu.org @ 2012-04-11 13:10 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52729
Tobias Burnus <burnus at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
--- Comment #3 from Tobias Burnus <burnus at gcc dot gnu.org> 2012-04-11 13:09:42 UTC ---
FIXED on the 4.8 trunk.
Thanks for the report!
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2012-04-11 13:10 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-03-26 18:20 [Bug fortran/52729] New: Symbol has no implicit type in SELECT TYPE block abenson at caltech dot edu
2012-04-02 9:54 ` [Bug fortran/52729] " burnus at gcc dot gnu.org
2012-04-11 13:09 ` burnus at gcc dot gnu.org
2012-04-11 13:10 ` burnus 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).