re PR fortran/30410 (Host association bug w/ EXTERNAL)
2007-01-14 Paul Thomas <pault@gcc.gnu.org> PR fortran/30410 * trans-decl.c (gfc_sym_mangled_function_id): Module, external symbols must not have the module name prepended. 2007-01-14 Paul Thomas <pault@gcc.gnu.org> PR fortran/30410 * gfortran.dg/external_procedures_2.f90: New test. From-SVN: r120771
This commit is contained in:
parent
acdc40dfd2
commit
c89686a895
|
@ -1,3 +1,9 @@
|
||||||
|
2007-01-14 Paul Thomas <pault@gcc.gnu.org>
|
||||||
|
|
||||||
|
PR fortran/30410
|
||||||
|
* trans-decl.c (gfc_sym_mangled_function_id): Module, external
|
||||||
|
symbols must not have the module name prepended.
|
||||||
|
|
||||||
2007-01-11 Thomas Koenig <Thomas.Koenig@online.de>
|
2007-01-11 Thomas Koenig <Thomas.Koenig@online.de>
|
||||||
|
|
||||||
PR libfortran/30415
|
PR libfortran/30415
|
||||||
|
|
|
@ -315,7 +315,8 @@ gfc_sym_mangled_function_id (gfc_symbol * sym)
|
||||||
char name[GFC_MAX_MANGLED_SYMBOL_LEN + 1];
|
char name[GFC_MAX_MANGLED_SYMBOL_LEN + 1];
|
||||||
|
|
||||||
if (sym->module == NULL || sym->attr.proc == PROC_EXTERNAL
|
if (sym->module == NULL || sym->attr.proc == PROC_EXTERNAL
|
||||||
|| (sym->module != NULL && sym->attr.if_source == IFSRC_IFBODY))
|
|| (sym->module != NULL && (sym->attr.external
|
||||||
|
|| sym->attr.if_source == IFSRC_IFBODY)))
|
||||||
{
|
{
|
||||||
if (strcmp (sym->name, "MAIN__") == 0
|
if (strcmp (sym->name, "MAIN__") == 0
|
||||||
|| sym->attr.proc == PROC_INTRINSIC)
|
|| sym->attr.proc == PROC_INTRINSIC)
|
||||||
|
|
|
@ -1,25 +1,6 @@
|
||||||
2007-01-14 Uros Bizjak <ubizjak@gmail.com>
|
|
||||||
|
|
||||||
PR target/30413
|
|
||||||
* gcc.target/i386/pr30413.c: New test.
|
|
||||||
|
|
||||||
2007-01-14 Thomas Koenig <Thomas.Koenig@online.de>
|
|
||||||
|
|
||||||
PR fortran/30452
|
|
||||||
* gfortran.dg/string_0xfe_0xff_1.f90: New test.
|
|
||||||
|
|
||||||
2007-01-13 Zdenek Dvorak <dvorakz@suse.cz>
|
|
||||||
|
|
||||||
* gcc.dg/20070112-1.c: New test.
|
|
||||||
|
|
||||||
2007-01-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
|
||||||
|
|
||||||
PR libgfortran/30435
|
|
||||||
* gfortran.dg/list_read_6.f90: New test.
|
|
||||||
|
|
||||||
2007-01-12 Olga Golovanevsky <olga@il.ibm.com>
|
2007-01-12 Olga Golovanevsky <olga@il.ibm.com>
|
||||||
|
|
||||||
* gcc.dg/torture/pr24750-1.c: Add prototype of free.
|
* gcc.dg/torture/pr24750-1.c: Add prototype of free.
|
||||||
|
|
||||||
2007-01-12 Tom Tromey <tromey@redhat.com>
|
2007-01-12 Tom Tromey <tromey@redhat.com>
|
||||||
|
|
||||||
|
@ -69,7 +50,6 @@
|
||||||
|
|
||||||
* gcc.dg/fold-compare-2.c: New test case for fold_comparison.
|
* gcc.dg/fold-compare-2.c: New test case for fold_comparison.
|
||||||
|
|
||||||
>>>>>>> .r120737
|
|
||||||
2007-01-09 Brooks Moses <brooks.moses@codesourcery.com>
|
2007-01-09 Brooks Moses <brooks.moses@codesourcery.com>
|
||||||
|
|
||||||
* gfortran.dg/chkbits.f90: Added IBCLR tests; test calls
|
* gfortran.dg/chkbits.f90: Added IBCLR tests; test calls
|
||||||
|
@ -171,6 +151,11 @@
|
||||||
* g++.dg/template/duplicate1.C: New test
|
* g++.dg/template/duplicate1.C: New test
|
||||||
* g++.dg/template/memfriend6.C: Adjust error markers.
|
* g++.dg/template/memfriend6.C: Adjust error markers.
|
||||||
|
|
||||||
|
2007-01-14 Paul Thomas <pault@gcc.gnu.org>
|
||||||
|
|
||||||
|
PR fortran/30410
|
||||||
|
* gfortran.dg/external_procedures_2.f90: New test.
|
||||||
|
|
||||||
2007-01-05 Andrew Pinski <Andrew_Pinski@playstation.sony.com>
|
2007-01-05 Andrew Pinski <Andrew_Pinski@playstation.sony.com>
|
||||||
|
|
||||||
PR tree-opt/30385
|
PR tree-opt/30385
|
||||||
|
|
|
@ -0,0 +1,41 @@
|
||||||
|
! { dg-do compile }
|
||||||
|
! Tests the for PR30410, in which the reference to extfunc would
|
||||||
|
! be incorrectly made to the module namespace.
|
||||||
|
!
|
||||||
|
! Contributed by Harald Anlauf <anlauf@gmx.de>
|
||||||
|
!
|
||||||
|
module mod1
|
||||||
|
contains
|
||||||
|
function eval (func, x1)
|
||||||
|
real :: eval, func, x1
|
||||||
|
external :: func
|
||||||
|
eval = func (x1)
|
||||||
|
end function eval
|
||||||
|
end module mod1
|
||||||
|
!-------------------------------
|
||||||
|
module mod2
|
||||||
|
use mod1, only : eval
|
||||||
|
real, external :: extfunc ! This was referenced as __mod2__extfunc__
|
||||||
|
contains
|
||||||
|
|
||||||
|
subroutine foo (x0)
|
||||||
|
real :: x0, x1
|
||||||
|
x1 = 42
|
||||||
|
x0 = eval (extfunc, x1)
|
||||||
|
end subroutine foo
|
||||||
|
|
||||||
|
end module mod2
|
||||||
|
!-------------------------------
|
||||||
|
function extfunc (x)
|
||||||
|
real, intent(in) :: x
|
||||||
|
real :: extfunc
|
||||||
|
extfunc = x
|
||||||
|
end function extfunc
|
||||||
|
!-------------------------------
|
||||||
|
program gfcbug53
|
||||||
|
use mod2, only : foo
|
||||||
|
real :: x0 = 0
|
||||||
|
call foo (x0)
|
||||||
|
print *, x0
|
||||||
|
end program gfcbug53
|
||||||
|
! { dg-final { cleanup-modules "mod1 mod2" } }
|
Loading…
Reference in New Issue