[cfe-dev] What's the rationale to continue declare compatibility with GCC 4.2.1?
Reid Kleckner via cfe-dev
cfe-dev at lists.llvm.org
Fri Jul 19 11:46:55 PDT 2019
On Fri, Jul 19, 2019 at 11:09 AM JF Bastien via cfe-dev <
cfe-dev at lists.llvm.org> wrote:
> On Jul 19, 2019, at 8:04 PM, James Y Knight <jyknight at google.com> wrote:
> I think it was not a good idea to remove __VERSION__, but only because it
> actually breaks software (and not just Python). I don't think it's terribly
> important to preserve theoretically-pure compatibility at this point, but
> it is rather useful to keep practical compatibility.
> All I’m saying is that the motivation didn’t contain a section on “we
> checked and nobody seems to use it”.
I think between the folks involved (Duncan, myself, and Sylvestre) the idea
was more like, "Can we do this? I don't know, let's try it and see if
people complain." Sylvestre did searches on github that suggested that it
would, in fact, break code. And, people complained, so it looks like we
have to define __VERSION__.
On some level, users can always solve their own build issues with
-D__VERSION__=whatever, so I'm kind of inclined to try again some day.
I note a couple other changes in this area which might also be problematic.
> - "4.2.1 Compatible" was removed from the beginning of __VERSION__.
> - clang -dumpversion reports clang's version (e.g. "9.0.0", rather than
> always saying "4.2.1")
> My inclination is that the former is very unlikely to break something (why
> would anyone use that string for anything other than human readable output,
> for which the new value is better?).
> It has broken non-humans in the past.
> The latter, though, seems more risky, and I'm not sure there's much value
> to that change. Possibly it should be put back.
No actual user has reported problems with the new -dumpversion behavior
yet, but users have complained about it reporting a GCC version in the past.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the cfe-dev