www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 9193] New: Wrong code with mixing -inline/non-inline modules, nested functions and templates

reply d-bugmail puremagic.com writes:
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: -------
Dec 22 2012
next sibling parent d-bugmail puremagic.com writes:
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: -------
Dec 22 2012
prev sibling next sibling parent d-bugmail puremagic.com writes:
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: -------
Jan 31 2013
prev sibling next sibling parent d-bugmail puremagic.com writes:
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: -------
Feb 01 2013
prev sibling parent d-bugmail puremagic.com writes:
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: -------
Jun 10 2013