|
From: | Paul Eggert |
Subject: | Re: Suspicious warning in W64 build |
Date: | Sun, 17 Sep 2017 13:45:34 -0700 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 |
Fabrice Popineau wrote:
But clearly there is a problem with GCC 7, because it doesn't understand the implications of this eassert() :
No, GCC 7 is correct here, because eassert (X) does not guarantee that X is true after eassert returns. There's a longstanding tradition for this in C, as assert (X) behaves similarly.
As you discovered later, you need eassume (X) to have a guarantee that GCC trusts.
[Prev in Thread] | Current Thread | [Next in Thread] |