Issue 3244 - with -inline dmd sometime instantiates nested functions that then cannot be accessed
Summary: with -inline dmd sometime instantiates nested functions that then cannot be a...
Status: RESOLVED DUPLICATE of issue 2474
Alias: None
Product: D
Classification: Unclassified
Component: dmd (show other issues)
Version: D1 (retired)
Hardware: Other Mac OS X
: P2 normal
Assignee: No Owner
URL:
Keywords: rejects-valid
Depends on:
Blocks:
 
Reported: 2009-08-11 14:11 UTC by Fawzi Mohamed
Modified: 2014-04-18 09:12 UTC (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description Fawzi Mohamed 2009-08-11 14:11:48 UTC
when compiling blip ( git clone git://github.com/fawzi/blip.git ) on mac with

make EXTRA_LIBS="-L-ltango-user-dmd -L-framework -LAccelerate" using dmd 1.046 and latest tango trunk (svn co http://svn.dsource.org/projects/tango/trunk tango; cd tango/build; ./build.sh) and a dmd.conf that accesses tango and not phobos

I get
{{{
/Users/fawzi/Documents/d-dev/blipClean/blip/narray/BasicOps.d(361): Error: function blip.narray.BasicOps.norm2!(cdouble,2,real).norm2.reduceAllGen!(void delegate(ref real x, cdouble y)
{
x += cast(real)cast(double)y * cast(real)cast(double)y + cast(real)cast(idouble)y * cast(real)cast(idouble)y;
}
,void delegate(ref real x, real y)
{
x += y;
}
,real delegate(real x)
{
return x;
}
,cdouble,2,real).reduceAllGen is a nested function and cannot be accessed from testSvd
}}}

it seem that inline makes the function nested and inaccessible.

Unfortunately smaller examples don't seem
Comment 1 bearophile_hugs 2010-07-08 04:41:34 UTC
This bug report, unless improved significantly (creating a tiny reproducible test case), can be closed.
Comment 2 Don 2010-09-13 23:55:41 UTC
This has no test case, but has the same behaviour as bug 2474. Therefore, I'm marking it as a duplicate.

*** This issue has been marked as a duplicate of issue 2474 ***