C++ Logo


Advanced search

Re: [Tooling] std::compile

From: Jon Chesterfield <jonathanchesterfield_at_[hidden]>
Date: Wed, 19 Sep 2018 22:45:36 +0200
Compilers use the same command line option to indicate different things.

- A new revision learns to detect new errors and rolls this into an
existing flag
- A new revision removes a detection that proved unpopular
- Different compiler implementations make different analyses reasonable
- Different compiler developer motivations lead to different analyses
- Names are hard and get reused

I can see two paths for standardising the parameters passed to the compiler:

- standardised name, implementation defined semantics
- standardised name, standardised semantics

The former appears to be worthless. I'll still need to use different flags
with different compilers.

The latter would need to convince roughly n-1 compilers to implement the
same semantics as the 1, or for all to change their semantics. Regardless
of how reasonable the change is given their architecture or how motivated
the developers are to change from the version they already have.

The conditional logic in build scripts to change flags based on the
compiler is already trivial. Working out which flags to use is project
dependent and comprises all of the work involved in specifying parameters.

The C++ tooling ecosystem needs improvement. I don't think this particular
lack is a problem worth the committee time.


Received on 2018-09-19 22:45:49