Bug 74 – compiler error using if auto condition and -inline

Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P2
Component
dmd
Product
D
Version
D1 (retired)
Platform
All
OS
All
Creation time
2006-03-25T23:38:00Z
Last change time
2014-02-15T02:09:16Z
Keywords
rejects-valid
Assigned to
bugzilla
Creator
godaves

Comments

Comment #0 by godaves — 2006-03-25T23:38:26Z
/* compile with dmd -inline -version=BUG compiler error: (13): function bug.foo is a nested function and cannot be accessed from main (18): function bug.foo is a nested function and cannot be accessed from main */ import std.stdio; void main() { writefln(foo(5)); } int foo(int i) { version(BUG) { if (auto j = i * i) return j; else return 10; } else { version(OK1) { if (auto j = i * i) // NOTE: w/ {}'s it compiles fine { return j; } else { return 10; } } else { auto j = i * i; // Works Ok as well if(j) return j; else return 10; } } }
Comment #1 by thomas-dloop — 2006-03-26T05:35:18Z
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 [email protected] schrieb am 2006-03-26: > http://d.puremagic.com/bugzilla/show_bug.cgi?id=74 > /* > compile with dmd -inline -version=BUG > compiler error: > (13): function bug.foo is a nested function and cannot be accessed from > main > (18): function bug.foo is a nested function and cannot be accessed from > main > */ > import std.stdio; > void main() > { > writefln(foo(5)); > } > > int foo(int i) > { > version(BUG) > { > if (auto j = i * i) > return j; > else > return 10; > } > else > { > version(OK1) > { > if (auto j = i * i) // NOTE: w/ {}'s it compiles fine > { > return j; > } > else > { > return 10; > } > } > else > { > auto j = i * i; // Works Ok as well > if(j) > return j; > else > return 10; > } > } > } Added to DStress as http://dstress.kuehne.cn/run/i/if_14_A.d http://dstress.kuehne.cn/run/i/if_14_B.d http://dstress.kuehne.cn/run/i/if_14_C.d http://dstress.kuehne.cn/run/i/if_14_D.d http://dstress.kuehne.cn/run/i/if_14_E.d http://dstress.kuehne.cn/run/i/if_14_F.d http://dstress.kuehne.cn/run/i/if_14_G.d http://dstress.kuehne.cn/run/i/if_14_H.d Thomas -----BEGIN PGP SIGNATURE----- iD8DBQFEJnVm3w+/yD4P9tIRAsooAJ0cu/Wwa4GfDTqH3eBoVs3eRpagzgCfZMcK o+t7OQZLH6TiA+sqjAqLl9g= =x149 -----END PGP SIGNATURE-----
Comment #2 by bugzilla — 2006-06-20T02:06:37Z
Fixed 0.161