D issues are now tracked on GitHub. This Bugzilla instance remains as a read-only archive.
Issue 3097 - Error at contract block + wierd error at struct template declaration
Summary: Error at contract block + wierd error at struct template declaration
Status: RESOLVED WORKSFORME
Alias: None
Product: D
Classification: Unclassified
Component: dmd (show other issues)
Version: D2
Hardware: x86 Windows
: P2 normal
Assignee: No Owner
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-06-26 22:36 UTC by The Anh Tran
Modified: 2015-06-09 01:27 UTC (History)
1 user (show)

See Also:


Attachments
Test case source code. (1.12 KB, application/octet-stream)
2009-06-26 22:38 UTC, The Anh Tran
Details

Note You need to log in before you can comment on or make changes to this issue.
Description The Anh Tran 2009-06-26 22:36:15 UTC
DMD v2.030 on WinXP 32bit. Intel Pentium M.

dmd FLAGS contr.d -ofcontr.o
dmd FLAGS expr.d -ofexpr.o
dmd FLAGS hello.d -ofhello.o

In debug mode: FLAGS = -c -w -g -debug => dmd -c -w -g -debug ...
    DMD shows error messages at the in{} contract block. Line 116 file expr.d.
    If i comment out the contract block. It compiles OK.

In release mode: FLAGS = -c -w -O -inline -release => dmd -c -w -O -inline -release ...
    DMD shows error messages at the in{} contract block.
    If i comment out the contract block. It shows some weird error messages.
    If i remove '-release' (still comment out contract block), It compiles OK.

3 files attached are test case.
The contr.d is the trigger for weird error message. If you omit it, the bug disappear.
Comment 1 The Anh Tran 2009-06-26 22:38:03 UTC
Created attachment 405 [details]
Test case source code.
Comment 2 The Anh Tran 2009-10-05 07:53:12 UTC
I've re-tested with dmd v2.033: the bug disappeared.