Re: gdb 8.x - g++ 7.x compatibility

Roman Popov
2018-02-03T06:43:30Z

2018-02-02 20:54 GMT-08:00 Simon Marchi <simon.marchi@polymtl.ca>:

>
> GCC changed how it outputs unsigned template parameters in the debug info
> (from 2u to just 2), and it doesn't look like it's going to change it
> back. So I suppose we'll have to find a way to make GDB deal with it.
> Simon
>

I'm not so sure about it. In my opinion it is a gcc bug. 2u and 2 are
literals of different types. But I'm not a C++ expert.

It looks like g++ and clang treat C++ language differently in this case.
I've asked on stackoverflow:
https://stackoverflow.com/questions/48594693/auto-template-parameters-g-7-3-vs-clang-6-0-which-compiler-is-correct

If Clang is correct here, than foo<1u> and foo<1> are two different types.
And so gcc should emit correct postfixes to debuginfo.

-Roman