"Previous Definition different" when -inline switch is set
Baz
burg.basile at yahoo.com
Wed Jul 17 07:01:23 PDT 2013
Hello, is there any particular reason why dmd would tell me that
the "Previous Definition different" when compiling a program with
-inline while not when compiling it without the switch ?
more information:
- the message appears two times and it's about two methods used
in a lib.
- the message doesn't appear when I compile the lib but when I
compile a program using this lib.
- the two methods involved are private, used in another public
method,
- the two methods involved are used recursively (but..., see
above)
- the two methods involved are used via a single delegate (itself
set according to the context.)
So the problem is clearly caused by the compiler optimizations
performed when using the -inline switch. Unfortunately I cannot
reproduce the issue in a simple example.
Would there be a method to avoid these two methods to be inlined
? (so far I've tried to put their parameters as ref, but without
success).
Is the bug described a "well known" issue with a "well known"
workaround ?
(so far, I haven't found anything which is related, even with
some serious forum/newsgroup investigation...)
Any idea ?
More information about the Digitalmars-d-learn
mailing list