This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Patch, Fortran] PR52916 - fix TREE_PUBLIC() = 0 for module procedures


* PING *

It is a rather serious rejects-valid regression. It also affects SPEC CPU 2006 and the patch has been confirmed (cf. PR) to fix the regression.

Tobias

Tobias Burnus wrote:
Dear all,

my recent patch for setting PRIVATE module variables and procedures to TREE_PUBLIC()=0 had a flaw: I completely forgot about generic interfaces. Even if the specific name is PRIVATE, the specific function is still callable through the a (public) generic name.

Thanks to HJ for the report. (The bug causes a failures of SPEC CPU 2006.)

I think the handling of type-bound procedures is correct. However, I wouldn't mind if someone could confirm it. I only check for the specific entries as GENERIC, OPERATOR and ASSIGNMENT use a type-bound-proc name, which is already handled. I also didn't try to optimize for private DT, private generics etc. First, I think it is not needed. And secondly, through inheritance, it can get extremely complicated.

Build and regtested on x86-64-linux.
OK for the trunk?

Tobias


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]