diff options
author | Tobias Burnus <burnus@net-b.de> | 2012-04-15 07:52:51 +0200 |
---|---|---|
committer | Tobias Burnus <burnus@gcc.gnu.org> | 2012-04-15 07:52:51 +0200 |
commit | cdd244b8325261c691418991eaf78018e4be1d36 (patch) | |
tree | ebf6b57b3ef8ce310ea30d7ae5deff2e09d2a3e2 /gcc/fortran/gfortran.h | |
parent | 9aad845a63596fb36cee7d359592bf53e1c6f416 (diff) | |
download | gcc-cdd244b8325261c691418991eaf78018e4be1d36.zip gcc-cdd244b8325261c691418991eaf78018e4be1d36.tar.gz gcc-cdd244b8325261c691418991eaf78018e4be1d36.tar.bz2 |
re PR fortran/52916 (481.wrf in SPEC CPU 2006 failed to build)
2012-04-14 Tobias Burnus <burnus@net-b.de>
PR fortran/52916
PR fortran/40973
* gfortran.h (symbol_attribute): Add public_used.
* interface.c (check_sym_interfaces, check_uop_interfaces,
gfc_check_interfaces): Set it.
* resolve.c (resolve_typebound_procedure): Ditto.
* trans-decl.c (build_function_decl): Use it.
2012-04-14 Tobias Burnus <burnus@net-b.de>
PR fortran/52916
PR fortran/40973
* gfortran.dg/public_private_module_3.f90: New.
* gfortran.dg/public_private_module_4.f90: New.
From-SVN: r186464
Diffstat (limited to 'gcc/fortran/gfortran.h')
-rw-r--r-- | gcc/fortran/gfortran.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/fortran/gfortran.h b/gcc/fortran/gfortran.h index 8e83cb4..25bdfa5 100644 --- a/gcc/fortran/gfortran.h +++ b/gcc/fortran/gfortran.h @@ -726,6 +726,10 @@ typedef struct unsigned sequence:1, elemental:1, pure:1, recursive:1; unsigned unmaskable:1, masked:1, contained:1, mod_proc:1, abstract:1; + /* Set if a (public) symbol [e.g. generic name] exposes this symbol, + which is relevant for private module procedures. */ + unsigned public_used:1; + /* This is set if a contained procedure could be declared pure. This is used for certain optimizations that require the result or arguments cannot alias. Note that this is zero for PURE procedures. */ |