re PR fortran/21977 (nested function returning array)
2006-01-09 Andrew Pinski <pinskia@physics.uc.edu> PR fortran/21977 * gfortran.dg/nesting_2.f90: New test. * gfortran.dg/nesting_3.f90: New test. 2006-01-09 Andrew Pinski <pinskia@physics.uc.edu> PR fortran/21977 * trans-decl.c (gfc_generate_function_code): Move the NULLing of current_fake_result_decl down to below generate_local_vars. From-SVN: r109503
This commit is contained in:
parent
487bf3e670
commit
90b2f8b640
@ -1,3 +1,9 @@
|
|||||||
|
2006-01-09 Andrew Pinski <pinskia@physics.uc.edu>
|
||||||
|
|
||||||
|
PR fortran/21977
|
||||||
|
* trans-decl.c (gfc_generate_function_code): Move the NULLing of
|
||||||
|
current_fake_result_decl down to below generate_local_vars.
|
||||||
|
|
||||||
2006-01-09 Feng Wang <fengwang@nudt.edu.cn>
|
2006-01-09 Feng Wang <fengwang@nudt.edu.cn>
|
||||||
|
|
||||||
PR fortran/12456
|
PR fortran/12456
|
||||||
|
@ -2558,9 +2558,6 @@ gfc_generate_function_code (gfc_namespace * ns)
|
|||||||
|
|
||||||
trans_function_start (sym);
|
trans_function_start (sym);
|
||||||
|
|
||||||
/* Will be created as needed. */
|
|
||||||
current_fake_result_decl = NULL_TREE;
|
|
||||||
|
|
||||||
gfc_start_block (&block);
|
gfc_start_block (&block);
|
||||||
|
|
||||||
if (ns->entries && ns->proc_name->ts.type == BT_CHARACTER)
|
if (ns->entries && ns->proc_name->ts.type == BT_CHARACTER)
|
||||||
@ -2582,7 +2579,9 @@ gfc_generate_function_code (gfc_namespace * ns)
|
|||||||
gfc_generate_contained_functions (ns);
|
gfc_generate_contained_functions (ns);
|
||||||
|
|
||||||
generate_local_vars (ns);
|
generate_local_vars (ns);
|
||||||
|
|
||||||
|
/* Will be created as needed. */
|
||||||
|
current_fake_result_decl = NULL_TREE;
|
||||||
current_function_return_label = NULL;
|
current_function_return_label = NULL;
|
||||||
|
|
||||||
/* Now generate the code for the body of this function. */
|
/* Now generate the code for the body of this function. */
|
||||||
|
@ -1,3 +1,9 @@
|
|||||||
|
2006-01-09 Andrew Pinski <pinskia@physics.uc.edu>
|
||||||
|
|
||||||
|
PR fortran/21977
|
||||||
|
* gfortran.dg/nesting_2.f90: New test.
|
||||||
|
* gfortran.dg/nesting_3.f90: New test.
|
||||||
|
|
||||||
2006-01-09 Hans-Peter Nilsson <hp@axis.com>
|
2006-01-09 Hans-Peter Nilsson <hp@axis.com>
|
||||||
|
|
||||||
* gcc.dg/Wpadded.c: Gate alignment warning on ! default_packed.
|
* gcc.dg/Wpadded.c: Gate alignment warning on ! default_packed.
|
||||||
|
15
gcc/testsuite/gfortran.dg/nesting_2.f90
Normal file
15
gcc/testsuite/gfortran.dg/nesting_2.f90
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
! check to make the nested function dawsonseries_v gets the correct
|
||||||
|
! fake return decl and that the outer (dawson_v) has an assignment of
|
||||||
|
! just the fake return decl for real and not the inner's return decl.
|
||||||
|
FUNCTION dawson_v()
|
||||||
|
IMPLICIT NONE
|
||||||
|
REAL :: dawson_v
|
||||||
|
dawson_v = 1.0
|
||||||
|
|
||||||
|
CONTAINS
|
||||||
|
FUNCTION dawsonseries_v()
|
||||||
|
IMPLICIT NONE
|
||||||
|
REAL, DIMENSION(1) :: dawsonseries_v
|
||||||
|
dawsonseries_v=1.0
|
||||||
|
END FUNCTION dawsonseries_v
|
||||||
|
END FUNCTION dawson_v
|
14
gcc/testsuite/gfortran.dg/nesting_3.f90
Normal file
14
gcc/testsuite/gfortran.dg/nesting_3.f90
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
! check to make the nested function dawsonseries_v gets the correct
|
||||||
|
! fake return decl and that the outer (dawson_v) has an assignment of
|
||||||
|
! just the fake return decl for real and not the inner's return decl.
|
||||||
|
FUNCTION dawson_v()
|
||||||
|
IMPLICIT NONE
|
||||||
|
REAL,DIMENSION(1) :: dawson_v
|
||||||
|
dawson_v = 1.0
|
||||||
|
CONTAINS
|
||||||
|
FUNCTION dawsonseries_v()
|
||||||
|
IMPLICIT NONE
|
||||||
|
REAL, DIMENSION(1) :: dawsonseries_v
|
||||||
|
dawsonseries_v=1.0
|
||||||
|
END FUNCTION dawsonseries_v
|
||||||
|
END FUNCTION dawson_v
|
Loading…
Reference in New Issue
Block a user