Thread overview | |||||||
---|---|---|---|---|---|---|---|
|
March 11, 2014 Getting a compiler with '-inline'. Is this valid? | ||||
---|---|---|---|---|
| ||||
Hello, Consider this simple file 'byLineError.d': import std.stdio; void main() { auto f = File("test"); f.byLine.popFront(); } When I compile: dmd byLineError.d --- succeeds dmd -inline byLineError.d --- fails with 'Internal error: backend/cod2.c 2200' Using dmd version "DMD64 D Compiler v2.065" on Linux. Am I doing something wrong, or is this a compiler bug? (Maybe f.byLine cannot be used in this manner?) Thanks, Saurabh PS: How I came across this: I was trying to scan a file but skip the first line, so I wrote: auto f = File("test"); f.byLine.popFront(); foreach(line; f.byLine) { writeln(line); } which gave the error. PPS: This one uses an intermediate variable and succeeds: void main() { auto f = File("test"); auto x = f.byLine; x.popFront(); } |
March 11, 2014 Re: Getting a compiler with '-inline'. Is this valid? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Saurabh Das | The title should have read "Getting a compiler _error_ with '-inline'. Is this valid?" :(( |
March 11, 2014 Re: Getting a compiler with '-inline'. Is this valid? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Saurabh Das | On Tuesday, 11 March 2014 at 08:43:11 UTC, Saurabh Das wrote: > Hello, > > Consider this simple file 'byLineError.d': > > import std.stdio; > > void main() > { > auto f = File("test"); > f.byLine.popFront(); > } > > When I compile: > > dmd byLineError.d --- succeeds > > dmd -inline byLineError.d --- fails with 'Internal error: backend/cod2.c 2200' > > Using dmd version "DMD64 D Compiler v2.065" on Linux. > > Am I doing something wrong, or is this a compiler bug? (Maybe f.byLine cannot be used in this manner?) > > Thanks, > Saurabh > > PS: How I came across this: I was trying to scan a file but skip the first line, so I wrote: > > auto f = File("test"); > f.byLine.popFront(); > foreach(line; f.byLine) > { > writeln(line); > } > > which gave the error. > > PPS: This one uses an intermediate variable and succeeds: > > void main() > { > auto f = File("test"); > auto x = f.byLine; > x.popFront(); > } Internal compiler errors are always bugs. Please report it here: https://d.puremagic.com/issues/enter_bug.cgi?product=D |
March 11, 2014 Re: Getting a compiler with '-inline'. Is this valid? | ||||
---|---|---|---|---|
| ||||
Posted in reply to John Colvin | On Tuesday, 11 March 2014 at 09:10:56 UTC, John Colvin wrote:
<snip>
>
> Internal compiler errors are always bugs. Please report it here: https://d.puremagic.com/issues/enter_bug.cgi?product=D
Oh okay. Will surely do that.
(Yay my first bug report ever!)
|
March 11, 2014 Re: Getting a compiler with '-inline'. Is this valid? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Saurabh Das | On Tue, 11 Mar 2014 05:15:45 -0400, Saurabh Das <saurabh.das@gmail.com> wrote:
> On Tuesday, 11 March 2014 at 09:10:56 UTC, John Colvin wrote:
> <snip>
>>
>> Internal compiler errors are always bugs. Please report it here: https://d.puremagic.com/issues/enter_bug.cgi?product=D
>
> Oh okay. Will surely do that.
>
> (Yay my first bug report ever!)
>
Make sure you add the tag "ice", which indicates it's a compiler crash. These get higher priority.
-Steve
|
Copyright © 1999-2021 by the D Language Foundation