3685 – Regression(D1 only): DMD silently exits on valid code

D issues are now tracked on GitHub. This Bugzilla instance remains as a read-only archive.
Issue 3685 - Regression(D1 only): DMD silently exits on valid code
Summary: Regression(D1 only): DMD silently exits on valid code
Status: RESOLVED FIXED
Alias: None
Product: D
Classification: Unclassified
Component: dmd (show other issues)
Version: D1 (retired)
Hardware: Other Linux
: P2 regression
Assignee: No Owner
URL:
Keywords: ice-on-valid-code, patch
: 3691 (view as issue list)
Depends on:
Blocks:
Reported: 2010年01月07日 07:20 UTC by nfxjfg
Modified: 2014年04月18日 09:12 UTC (History)
3 users (show)

See Also:


Attachments
Add an attachment (proposed patch, testcase, etc.)

Note You need to log in before you can comment on or make changes to this issue.
Description nfxjfg 2010年01月07日 07:20:36 UTC
There's two things wrong with this:
1. it rejects valid code
2. it doesn't output an error message, it only does exit(1)
//fails to compile with 1.055 (dmd silently exits)
//succeeds with 1.053 (successfully compiles)
void x(T)() {
 static assert(false);
}
template y(T) {
 const bool y = is(typeof( { x!(T)(); } ));
}
static assert(!y!(int));
Comment 1 Matti Niemenmaa 2010年01月08日 08:27:28 UTC
*** Issue 3691 has been marked as a duplicate of this issue. ***
Comment 2 Don 2010年01月08日 22:03:58 UTC
This is a trivial.
D1 template.c, line 3500.
	error("error instantiating");
	if (tinst)
	{ tinst->printInstantiationTrace();
+	 if (!global.gag) 
	 fatal();
	}
Comment 3 Walter Bright 2010年01月23日 02:03:34 UTC
Changeset 351
Comment 4 Walter Bright 2010年01月30日 22:43:51 UTC
fixed dmd 1.056


AltStyle によって変換されたページ (->オリジナル) /