[Patch, Fortran] PR 41177: Some corrections on base-object checks with type-bound procedures.

Daniel Kraft d@domob.eu
Mon Nov 30 14:05:00 GMT 2009


Daniel Kraft wrote:
> Hi all,
> 
> this patch is some take in the direction of PR 41177.  It adds checks 
> that the passed-object dummy argument of a type-bound procedure must be 
> scalar, non-POINTER and non-ALLOCATABLE which is at the moment simply 
> overlooked (thus there's some accepts-invalid here which gets fixed).
> 
> On the other hand, the actual base-objects in calls were checked to be 
> scalar which is wrong.  This is only required when calling NOPASS 
> procedures; I did correct this.  However, there turned unfortunatly an 
> ICE up when translating such calls for non-scalar base object, thus PR 
> 41177 is not fully fixed and I added an additional check with a "not 
> implemented" message to catch up in that case until the ICE gets fixed, 
> too.
> 
> Still I would like to commit this patch as it is right now and think 
> this will be already some step in the right direction.
> 
> Unfortunatly, the POINTER attribute on CLASS dummies gets always set in 
> decl.c:encapsulate_class_symbol; I thus had to introduce a new flag 
> storing the original value in this case for my check -- this is what 
> Janus also suggested.  But if someone else can come up with a nicer 
> solution, I'd be happy to implement it.
> 
> I'm still building the patch after a SVN update and will then regression 
> test on GNU/Linux-x86-32.  Ok for trunk if no failures?

Build and regtest was successful.


-- 
Done:  Arc-Bar-Cav-Ran-Rog-Sam-Tou-Val-Wiz
To go: Hea-Kni-Mon-Pri



More information about the Gcc-patches mailing list