Thread overview | |||||
---|---|---|---|---|---|
|
April 07, 2006 [Bug 90] New: local object.d overrides real object.d causing crash | ||||
---|---|---|---|---|
| ||||
http://d.puremagic.com/bugzilla/show_bug.cgi?id=90 Summary: local object.d overrides real object.d causing crash Product: D Version: 0.151 Platform: PC OS/Version: All Status: NEW Severity: minor Priority: P3 Component: DMD AssignedTo: bugzilla@digitalmars.com ReportedBy: regan@netwin.co.nz [object.d] (an empty file) [bug.d] class A {} void main() {} C:\>dmd bug.d bug.d(1): identifier 'Object' is not defined bug.d(1): Object is used as a type Assertion failure: 'b->type->ty == Tclass' on line 286 in file 'class.c' abnormal program termination The presence of an object.d file in the local directory overrides the real and required object.d in the dmd directory. This results in weird errors and a compiler crash. FYI: Removing the class declaration from bug.d avoids the issue. Suggestions (one or more of these would be nice): 1- Refuse to compile reserved file names. 2- Rename the reserved files to something less likely to collide. 3- Ignore reserved files (and .obj files for them) in any directory but the expected dmd directory. Obviously doing #2 only, will only partially solve the problem (there remains a chance it will occur in the future), but, it does make the complete solution, involving #1 or #3, less likely to be a problem when a collision does occur. -- |
April 08, 2006 Re: [Bug 90] New: local object.d overrides real object.d causing crash | ||||
---|---|---|---|---|
| ||||
Posted in reply to d-bugmail Attachments: | d-bugmail@puremagic.com schrieb am 2006-04-07: > http://d.puremagic.com/bugzilla/show_bug.cgi?id=90 > [object.d] (an empty file) > > [bug.d] > class A {} > void main() {} > > C:\>dmd bug.d > bug.d(1): identifier 'Object' is not defined > bug.d(1): Object is used as a type > Assertion failure: 'b->type->ty == Tclass' on line 286 in file 'class.c' > > abnormal program termination > > The presence of an object.d file in the local directory overrides the real and required object.d in the dmd directory. This results in weird errors and a compiler crash. Added to DStress as http://dstress.kuehne.cn/complex/object_02 Thomas |
April 11, 2006 [Bug 90] local object.d overrides real object.d causing crash | ||||
---|---|---|---|---|
| ||||
Posted in reply to d-bugmail | http://d.puremagic.com/bugzilla/show_bug.cgi?id=90 bugzilla@digitalmars.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED ------- Comment #2 from bugzilla@digitalmars.com 2006-04-11 01:33 ------- Fixed 0.153 -- |
Copyright © 1999-2021 by the D Language Foundation