digitalmars.D.bugs - [Issue 3469] New: ICE in func.c
- d-bugmail puremagic.com (38/38) Nov 02 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3469
- d-bugmail puremagic.com (29/29) Nov 03 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3469
- d-bugmail puremagic.com (31/31) Nov 03 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3469
- d-bugmail puremagic.com (12/12) Dec 06 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3469
http://d.puremagic.com/issues/show_bug.cgi?id=3469
Summary: ICE in func.c
Product: D
Version: 2.035
Platform: Other
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: DMD
AssignedTo: nobody puremagic.com
ReportedBy: ellery-newcomer utulsa.edu
18:35:20 PST ---
// tok.d
import tok2;
class B{
A a;
void b(){
a.call!(MOTHER)("HI MUM");
}
}
// tok2.d
class A{
void call(string s){
}
}
//__EOF__
okay, compile like so:
$ dmd tok tok2
Error: identifier 'MOTHER' is not defined
$ dmd tok2 tok
Error: identifier 'MOTHER' is not defined
dmd: func.c:135: virtual void FuncDeclaration::semantic(Scope*): Assertion
`semanticRun <= 1' failed.
Aborted
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Nov 02 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3469
Don <clugdbug yahoo.com.au> changed:
What |Removed |Added
----------------------------------------------------------------------------
Version|2.035 |1.050
Summary|ICE in func.c |ICE(func.c): Regression.
| |Calling non-template
| |function as a template,
| |from another module
OS/Version|Linux |All
Severity|normal |regression
Reduced test case.
--- test.d ----------------
import test2;
void b(){
test2.call!();
}
--- test2.d ---------------
void call(){ }
---------------------------
assert func.c(133) semanticRun <= 1
This is a regression: it worked on DMD 2.026, but failed on 2.030 and later.
Fails on the current D1, as well.
When doing a DotIdExpTemplate call, it doesn't check that thing it's calling is
actually a template.
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Nov 03 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3469
Don <clugdbug yahoo.com.au> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |patch
PATCH against DMD2.036. Passes the DMD test suite + phobos unittests.
Expression.c, DotTemplateInstanceExp::semantic(). Ensure it's a template BEFORE
running the semantic pass.
Index: expression.c
===================================================================
--- expression.c (revision 234)
+++ expression.c (working copy)
-6082,6 +6082,14
goto Lerr;
}
s = s2;
+
+ td = s->toAlias()->isTemplateDeclaration();
+ if (!td)
+ {
+ error("%s is not a template", id->toChars());
+ goto Lerr;
+ }
+
s->semantic(sc);
s = s->toAlias();
td = s->isTemplateDeclaration();
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Nov 03 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3469
Walter Bright <bugzilla digitalmars.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
CC| |bugzilla digitalmars.com
Resolution| |FIXED
00:46:48 PST ---
Fixed dmd 1.053 and 2.037
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Dec 06 2009









d-bugmail puremagic.com 