Date: Tue, 18 Jun 2019 12:13:59 -0400
On 18/06/2019 02.52, Corentin wrote:
> Is there anything as "slightly different compilation options" ? Given that
> almost everything can be observed from the source code, a compiler should
> be conservative with what it considers "reusable".
> Let's not sacrifice correctness and reliability for the sake of compilation
> times (even if that appears to be often the case regardless of modules)
Just because something is *observable* doesn't mean that it *is*
observed (or that it produces a change in the BMI even if it is). I
would guess that >90% of the time there are very few compile options
that actually affect the BMI.
In fact, I would question if e.g. debugging information and optimization
levels affect the BMI. They affect the *object code*, sure enough, but
it seems like they *shouldn't* affect the BMI...
Likewise, there are nearly infinite numbers of PP symbols I can define
which have no effect on the BMI because they don't appear in the source
file.
It doesn't seem implausible that compilers should be able to record
every PP symbol that was evaluated and its value, and ignore any symbols
outside that set for the purposes of determining if a BMI is "compatible".
> Is there anything as "slightly different compilation options" ? Given that
> almost everything can be observed from the source code, a compiler should
> be conservative with what it considers "reusable".
> Let's not sacrifice correctness and reliability for the sake of compilation
> times (even if that appears to be often the case regardless of modules)
Just because something is *observable* doesn't mean that it *is*
observed (or that it produces a change in the BMI even if it is). I
would guess that >90% of the time there are very few compile options
that actually affect the BMI.
In fact, I would question if e.g. debugging information and optimization
levels affect the BMI. They affect the *object code*, sure enough, but
it seems like they *shouldn't* affect the BMI...
Likewise, there are nearly infinite numbers of PP symbols I can define
which have no effect on the BMI because they don't appear in the source
file.
It doesn't seem implausible that compilers should be able to record
every PP symbol that was evaluated and its value, and ignore any symbols
outside that set for the purposes of determining if a BMI is "compatible".
-- Matthew
Received on 2019-06-18 11:15:51