How to Fix Weird Build Failure with "-release" but OK with "-debug"?
Steven Schveighoffer
schveiguy at gmail.com
Fri Jul 23 18:44:47 UTC 2021
On 7/22/21 7:43 PM, apz28 wrote:
> FbConnection is a class, FbXdrReader is a struct and for this call,
> response.data is not null & its' length will be greater than zero and
> FbConnection is not being used. So why DMD try to evaluate at compiled
> time hence error
> 1. Should not evaluate at compile time for this function call/construct
> 2. The error message is missing proper line # or nothing related to the
> module displayed in error message
>
> https://github.com/apz28/dlang/blob/main/source/pham/db/db_fbbuffer.d#L527
>
I have a feeling that line is backwards.
It says: if the buffer has length, ignore it and use the connection,
otherwise use the (empty) buffer data.
So perhaps this is actually a real error that is being flagged (because
it's inlined)?
In any case, it's possible that fbConnection being null does not mean a
null dereference, but I'd have to see the class itself. I'm surprised if
you don't get a null dereference in non-release mode, unless this code
is never actually called.
-Steve
More information about the Digitalmars-d-learn
mailing list