Thread overview
[Issue 9193] New: Wrong code with mixing -inline/non-inline modules, nested functions and templates
Dec 22, 2012
Vladimir Panteleev
Dec 22, 2012
Vladimir Panteleev
Jan 31, 2013
Kenji Hara
Feb 01, 2013
Don
Jun 10, 2013
Denis Shelomovskij
December 22, 2012
http://d.puremagic.com/issues/show_bug.cgi?id=9193

           Summary: Wrong code with mixing -inline/non-inline modules,
                    nested functions and templates
           Product: D
           Version: D2
          Platform: All
        OS/Version: All
            Status: NEW
          Keywords: wrong-code
          Severity: critical
          Priority: P2
         Component: DMD
        AssignedTo: nobody@puremagic.com
        ReportedBy: thecybershadow@gmail.com


--- Comment #0 from Vladimir Panteleev <thecybershadow@gmail.com> 2012-12-22 00:03:08 PST ---
=== a.d ===

import b;
void main() { f(); }

=== b.d ===

auto T(alias pred)() { return pred; }

auto f()
{
    string var="cheese";
    void test() { assert(var=="cheese"); }
    T!test();
}

=== compilation instructions ===

dmd -c b.d
dmd -inline a.d b.obj

=== result ===

The assert fails. If -inline is removed from the compilation command, the assert passes.

This bug causes dirEntries with a wildcard to fail when programs are compiled with -inline.

Marking as critical since wrong-code bugs appearing only in release builds are hard to track (Heisenbugs).

Tested on Windows/32 and Linux/64.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
December 22, 2012
http://d.puremagic.com/issues/show_bug.cgi?id=9193


Vladimir Panteleev <thecybershadow@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |callumenator@gmail.com


--- Comment #1 from Vladimir Panteleev <thecybershadow@gmail.com> 2012-12-22 00:04:15 PST ---
*** Issue 8250 has been marked as a duplicate of this issue. ***

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
January 31, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9193



--- Comment #2 from Kenji Hara <k.hara.pg@gmail.com> 2013-01-31 01:23:56 PST ---
Probably, this is a dup of issue 9399.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
February 01, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9193



--- Comment #3 from Don <clugdbug@yahoo.com.au> 2013-02-01 01:55:15 PST ---
(In reply to comment #2)
> Probably, this is a dup of issue 9399.

I thought it was, but unfortunately this one is different.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
June 10, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9193


Denis Shelomovskij <verylonglogin.reg@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |verylonglogin.reg@gmail.com


--- Comment #4 from Denis Shelomovskij <verylonglogin.reg@gmail.com> 2013-06-10 16:52:50 MSD ---
Does this trigger only "forward" i.e. when "-inline" compilation takes non-inline objects?

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------