<div dir="auto">Compilers use the same command line option to indicate different things.<div dir="auto"><br></div><div dir="auto">- A new revision learns to detect new errors and rolls this into an existing flag</div><div dir="auto">- A new revision removes a detection that proved unpopular</div><div dir="auto">- Different compiler implementations make different analyses reasonable</div><div dir="auto">- Different compiler developer motivations lead to different analyses</div><div dir="auto">- Names are hard and get reused</div><div dir="auto"><br></div><div dir="auto">I can see two paths for standardising the parameters passed to the compiler:</div><div dir="auto"><br></div><div dir="auto">- standardised name, implementation defined semantics</div><div dir="auto">- standardised name, standardised semantics</div><div dir="auto"><br></div><div dir="auto">The former appears to be worthless. I&#39;ll still need to use different flags with different compilers.</div><div dir="auto"><br></div><div dir="auto">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.</div><div dir="auto"><br></div><div dir="auto">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.</div><div dir="auto"><br></div><div dir="auto">The C++ tooling ecosystem needs improvement. I don&#39;t think this particular lack is a problem worth the committee time.</div><div dir="auto"><br></div><div dir="auto">Jon</div></div>