On Fri, 22 Dec 2023, 22:04 Andrew Pinski via Gcc, wrote:
> On Fri, Dec 22, 2023 at 1:54 PM Olavi Esker via Gcc
> wrote:
> >
> > Hello,
> >
> > #include
> > #include
> >
> > int main()
> > {
> > std::int8_t myInt{65};
> > myInt += 1;
> > std::cout << myInt;
> > }
> >
> > Guess what this returns?
> > Character "B".
> >
> > int main()
> > {
> > std::int8_t myInt{};
> > std::cin >> myInt;
> > std::cout << myInt;
> > }
> > This will also read a character, and
> > print the characters ascii value.
> > So if I give it 3, it read it as '3', and prints out 51.
> >
> >
> > The compiler gives no warning of this whatsoever with the flags:
> > "-std=c++20",
> > "-pedantic-errors",
> > "-Wall",
> > "-Wpedantic",
> > "-Wshadow",
> > "-Wcast-align",
> > "-Wlogical-op",
> > "-Wno-unused-parameter",
> > "-Weffc++",
> > "-Wextra",
> > "-Wconversion",
> > "-Wsign-conversion".
> >
> >
> > t does seem like a mistake to have `signed char` and `unsigned char`
> > display as characters rather than numbers, since `char` is a distinct
> type.
> > And so `char` could display as a character and the other two as integers.
> >
> > Wish you can change this.
>
> First this is the wrong email list, it should be sent to gcc-help@.
> Second, your subject line can be read as being offensive to some folks
> due to the use of the phrase "lives matter".
>
(The thread has moved to gcc-help now)
Third, this is what the C++ standard says it should be. And it might
> be better to be brought up to a C++ forum rather than one about the
> GCC implementation of the C++ standard.
>
> Thanks,
> Andrew Pinski
>
> >
> > Thanks.
> > OE
>