public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/97798] New: FTB msp430-elf error: the value of '__gnu_cxx::__numeric_traits_integer<__int20>::__max' is not usable in a constant expression
@ 2020-11-11 13:55 jozefl at gcc dot gnu.org
  2020-11-11 14:38 ` [Bug c++/97798] " mpolacek at gcc dot gnu.org
                   ` (23 more replies)
  0 siblings, 24 replies; 25+ messages in thread
From: jozefl at gcc dot gnu.org @ 2020-11-11 13:55 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97798

            Bug ID: 97798
           Summary: FTB msp430-elf error: the value of
                    '__gnu_cxx::__numeric_traits_integer<__int20>::__max'
                    is not usable in a constant expression
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: jozefl at gcc dot gnu.org
  Target Milestone: ---

GCC fails to build for msp430-elf since:

commit c2856ceec2e7542fe9b0bf104afeeeeb57d6996d
Author: Marek Polacek <polacek@redhat.com>
Date:   Thu Oct 29 15:19:51 2020 -0400

    c++: Tweaks for value_dependent_expression_p.

There is an error building libstdc++ for the -mlarge multilib, which uses
__int20 pointers:

> In file included from /home/jozef/msp430/gcc/build-msp430/msp430-elf/large/libstdc++-v3/include/sstream:38,
>                  from ../../../../../../libstdc++-v3/src/c++20/sstream-inst.cc:30:
> /home/jozef/msp430/gcc/build-msp430/msp430-elf/large/libstdc++-v3/include/istream: In function 'std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, _CharT (&)[_Num])':
> /home/jozef/msp430/gcc/build-msp430/msp430-elf/large/libstdc++-v3/include/istream:840:26: error: non-constant condition for static assertion
>   840 |       static_assert(_Num <= __gnu_cxx::__numeric_traits<streamsize>::__max);
>       |                     ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /home/jozef/msp430/gcc/build-msp430/msp430-elf/large/libstdc++-v3/include/istream:840:26: error: the value of '__gnu_cxx::__numeric_traits_integer<__int20>::__max' is not usable in a constant expression
> In file included from /home/jozef/msp430/gcc/build-msp430/msp430-elf/large/libstdc++-v3/include/bits/stl_algobase.h:63,
>                  from /home/jozef/msp430/gcc/build-msp430/msp430-elf/large/libstdc++-v3/include/bits/char_traits.h:39,
>                  from /home/jozef/msp430/gcc/build-msp430/msp430-elf/large/libstdc++-v3/include/ios:40,
>                  from /home/jozef/msp430/gcc/build-msp430/msp430-elf/large/libstdc++-v3/include/istream:38,
>                  from /home/jozef/msp430/gcc/build-msp430/msp430-elf/large/libstdc++-v3/include/sstream:38,
>                  from ../../../../../../libstdc++-v3/src/c++20/sstream-inst.cc:30:
> /home/jozef/msp430/gcc/build-msp430/msp430-elf/large/libstdc++-v3/include/ext/numeric_traits.h:78:27: note: '__gnu_cxx::__numeric_traits_integer<__int20>::__max' was not initialized with a constant expression
>    78 |       static const _Value __max = __glibcxx_max(_Value);
>       |                           ^~~~~
> make[9]: *** [Makefile:550: sstream-inst.lo] Error 1

Configured with:
> ../configure --target=msp430-elf --enable-languages=c,c++ --disable-nls --disable-no-exceptions --disable-full-memory-range

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug c++/97798] FTB msp430-elf error: the value of '__gnu_cxx::__numeric_traits_integer<__int20>::__max' is not usable in a constant expression
  2020-11-11 13:55 [Bug c++/97798] New: FTB msp430-elf error: the value of '__gnu_cxx::__numeric_traits_integer<__int20>::__max' is not usable in a constant expression jozefl at gcc dot gnu.org
@ 2020-11-11 14:38 ` mpolacek at gcc dot gnu.org
  2020-11-11 14:56 ` jozefl at gcc dot gnu.org
                   ` (22 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2020-11-11 14:38 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97798

--- Comment #1 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Would it be possible to provide a preprocessed source file?

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug c++/97798] FTB msp430-elf error: the value of '__gnu_cxx::__numeric_traits_integer<__int20>::__max' is not usable in a constant expression
  2020-11-11 13:55 [Bug c++/97798] New: FTB msp430-elf error: the value of '__gnu_cxx::__numeric_traits_integer<__int20>::__max' is not usable in a constant expression jozefl at gcc dot gnu.org
  2020-11-11 14:38 ` [Bug c++/97798] " mpolacek at gcc dot gnu.org
@ 2020-11-11 14:56 ` jozefl at gcc dot gnu.org
  2020-11-11 15:26 ` mpolacek at gcc dot gnu.org
                   ` (21 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: jozefl at gcc dot gnu.org @ 2020-11-11 14:56 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97798

--- Comment #2 from jozefl at gcc dot gnu.org ---
Created attachment 49547
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=49547&action=edit
tester.ii

(In reply to Marek Polacek from comment #1)
> Would it be possible to provide a preprocessed source file?

(Large) testcase attached. I can run it through a reducer and re-upload if
required.

Reproduces with:

> $ msp430-elf-gcc -mlarge -std=gnu++20 tester.ii -S -w

Thanks,
Jozef

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug c++/97798] FTB msp430-elf error: the value of '__gnu_cxx::__numeric_traits_integer<__int20>::__max' is not usable in a constant expression
  2020-11-11 13:55 [Bug c++/97798] New: FTB msp430-elf error: the value of '__gnu_cxx::__numeric_traits_integer<__int20>::__max' is not usable in a constant expression jozefl at gcc dot gnu.org
  2020-11-11 14:38 ` [Bug c++/97798] " mpolacek at gcc dot gnu.org
  2020-11-11 14:56 ` jozefl at gcc dot gnu.org
@ 2020-11-11 15:26 ` mpolacek at gcc dot gnu.org
  2020-11-11 15:51 ` mpolacek at gcc dot gnu.org
                   ` (20 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2020-11-11 15:26 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97798

Marek Polacek <mpolacek at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |ASSIGNED
   Last reconfirmed|                            |2020-11-11
     Ever confirmed|0                           |1
           Assignee|unassigned at gcc dot gnu.org      |mpolacek at gcc dot gnu.org
   Target Milestone|---                         |11.0

--- Comment #3 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Thanks!  I've reproduced it now, and I'm reducing it.

tester.ii: In function ‘std::basic_istream<_CharT, _Traits>&
std::operator>>(std::basic_istream<_CharT, _Traits>&, _CharT (&)[_Num])’:
tester.ii:33343:26: error: non-constant condition for static assertion
33343 |       static_assert(_Num <=
__gnu_cxx::__numeric_traits<streamsize>::__max);
      |                    
~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tester.ii:33343:26: error: the value of
‘__gnu_cxx::__numeric_traits_integer<__int20>::__max’ is not usable in a
constant expression
tester.ii:5079:27: note: ‘__gnu_cxx::__numeric_traits_integer<__int20>::__max’
was not initialized with a constant expression
 5079 |       static const _Value __max = (((_Value)(-1) < 0) ? (((((_Value)1
<< ((sizeof(_Value) * 8 - ((_Value)(-1) < 0)) - 1)) - 1) << 1) + 1) :
~(_Value)0);
      |                           ^~~~~

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug c++/97798] FTB msp430-elf error: the value of '__gnu_cxx::__numeric_traits_integer<__int20>::__max' is not usable in a constant expression
  2020-11-11 13:55 [Bug c++/97798] New: FTB msp430-elf error: the value of '__gnu_cxx::__numeric_traits_integer<__int20>::__max' is not usable in a constant expression jozefl at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2020-11-11 15:26 ` mpolacek at gcc dot gnu.org
@ 2020-11-11 15:51 ` mpolacek at gcc dot gnu.org
  2020-11-11 18:37 ` mpolacek at gcc dot gnu.org
                   ` (19 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2020-11-11 15:51 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97798

--- Comment #4 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Reduced.  Nothing MSP430-specific here.

template <typename> struct A;
struct B {
  typedef A<int> type;
};
template <typename T> struct A { static const T max = 1 ? 1 << (T) -1 : 0; };
template <typename T> const T A<T>::max;
class F {};
template <int N> void operator>(F, int) { static_assert(N <= B::type::max); }

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug c++/97798] FTB msp430-elf error: the value of '__gnu_cxx::__numeric_traits_integer<__int20>::__max' is not usable in a constant expression
  2020-11-11 13:55 [Bug c++/97798] New: FTB msp430-elf error: the value of '__gnu_cxx::__numeric_traits_integer<__int20>::__max' is not usable in a constant expression jozefl at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2020-11-11 15:51 ` mpolacek at gcc dot gnu.org
@ 2020-11-11 18:37 ` mpolacek at gcc dot gnu.org
  2020-11-12  0:03 ` redi at gcc dot gnu.org
                   ` (18 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2020-11-11 18:37 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97798

Marek Polacek <mpolacek at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Target|msp430-elf                  |

--- Comment #5 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Even simpler:

const int var = 1 << -1;

template<int N>
void
fn ()
{
  static_assert(N != var);
}

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug c++/97798] FTB msp430-elf error: the value of '__gnu_cxx::__numeric_traits_integer<__int20>::__max' is not usable in a constant expression
  2020-11-11 13:55 [Bug c++/97798] New: FTB msp430-elf error: the value of '__gnu_cxx::__numeric_traits_integer<__int20>::__max' is not usable in a constant expression jozefl at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2020-11-11 18:37 ` mpolacek at gcc dot gnu.org
@ 2020-11-12  0:03 ` redi at gcc dot gnu.org
  2020-11-12  0:36 ` [Bug libstdc++/97798] " redi at gcc dot gnu.org
                   ` (17 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: redi at gcc dot gnu.org @ 2020-11-12  0:03 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97798

--- Comment #6 from Jonathan Wakely <redi at gcc dot gnu.org> ---
I think the reduction is not a fair representation of the original code.
Obviously shifting by -1 is not OK, but the code doesn't do that ... at least
not for most targets.

The problem is specific to msp430 because of it's 20-bit type:


  template<typename _Value>
    struct __numeric_traits_integer
    {
      static const int is_signed = ((_Value)-1 < 0);
      static const int digits = sizeof(_Value) * __CHAR_BIT__ - is_signed;

      static const _Value __max = (is_signed ? (((((_Value)1 << (digits - 1)) -
1) << 1) + 1) : ~(_Value)0);
    };

static_assert( sizeof(__int20) == 4 ); // uhoh
static_assert( __numeric_traits_integer<__int20>::digits == 31 ); // uhoh

static_assert( __numeric_traits_integer<__int20>::__max < __INT_MAX__ );


The expression initializing __max works fine on 32-bit and 64-bit targets, but
for __int20 it's wrong. sizeof(__int20) is 4 (as shown by the static assert
that passes) and so we determine digits as 31, but it should be 19 for this
type.

The code assumes that all bits in the object representation are part of the
value representation, which is wrong for __int20.

The code above produced this warning with GCC 10.0 (the last time I built
msp430):

num.C: In instantiation of ‘const __int20
__numeric_traits_integer<__int20>::__max’:
num.C:13:51:   required from here
num.C:7:62: warning: left shift count >= width of type [-Wshift-count-overflow]
    7 |       static const _Value __max = (is_signed ? (((((_Value)1 << (digits
- 1)) - 1) << 1) + 1) : ~(_Value)0);
      |                                                  
~~~~~~~~~~~^~~~~~~~~~~~~~~~
num.C:7:62: error: right operand of shift expression ‘(1 << 30)’ is greater
than or equal to the precision 20 of the left operand [-fpermissive]
num.C:13:57: error: non-constant condition for static assertion
   13 | static_assert( __numeric_traits_integer<__int20>::__max < __INT_MAX__
);
      |                                                         ^


Presumably the shift is now an error rather than a warning, because it occurs
in a constant expression.

Maybe the right solution is for the library to specialize the trait for
__int20.

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug libstdc++/97798] FTB msp430-elf error: the value of '__gnu_cxx::__numeric_traits_integer<__int20>::__max' is not usable in a constant expression
  2020-11-11 13:55 [Bug c++/97798] New: FTB msp430-elf error: the value of '__gnu_cxx::__numeric_traits_integer<__int20>::__max' is not usable in a constant expression jozefl at gcc dot gnu.org
                   ` (5 preceding siblings ...)
  2020-11-12  0:03 ` redi at gcc dot gnu.org
@ 2020-11-12  0:36 ` redi at gcc dot gnu.org
  2020-11-12  0:38 ` redi at gcc dot gnu.org
                   ` (16 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: redi at gcc dot gnu.org @ 2020-11-12  0:36 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97798

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|mpolacek at gcc dot gnu.org        |redi at gcc dot gnu.org
          Component|c++                         |libstdc++

--- Comment #7 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Reassigning to the library as the compiler is right to reject this code.

I think we can specialize std::__numeric_traits and std::numeric_limits by
using the __GLIBCXX_BITSIZE_INT_N_0 for the width.

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug libstdc++/97798] FTB msp430-elf error: the value of '__gnu_cxx::__numeric_traits_integer<__int20>::__max' is not usable in a constant expression
  2020-11-11 13:55 [Bug c++/97798] New: FTB msp430-elf error: the value of '__gnu_cxx::__numeric_traits_integer<__int20>::__max' is not usable in a constant expression jozefl at gcc dot gnu.org
                   ` (6 preceding siblings ...)
  2020-11-12  0:36 ` [Bug libstdc++/97798] " redi at gcc dot gnu.org
@ 2020-11-12  0:38 ` redi at gcc dot gnu.org
  2020-11-12 10:00 ` jozefl at gcc dot gnu.org
                   ` (15 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: redi at gcc dot gnu.org @ 2020-11-12  0:38 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97798

--- Comment #8 from Jonathan Wakely <redi at gcc dot gnu.org> ---
My attempt to build msp430 fails with:

In file included from
/home/jwakely/gcc/msp430-elf/msp430-elf/include/stdint.h:13,
                 from /home/jwakely/src/gcc/build-16bit/gcc/include/stdint.h:9,
                 from
/home/jwakely/src/gcc/build-16bit/msp430-elf/large/libstdc++-v3/include/bits/align.h:36,
                 from
/home/jwakely/src/gcc/build-16bit/msp430-elf/large/libstdc++-v3/include/memory:72,
                 from
/home/jwakely/src/gcc/gcc/libstdc++-v3/include/precompiled/stdc++.h:82:
/home/jwakely/gcc/msp430-elf/msp430-elf/include/sys/_intsup.h:68:2: error:
#error "Unable to determine type definition of intptr_t"
   68 | #error "Unable to determine type definition of intptr_t"
      |  ^~~~~


Is that related?

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug libstdc++/97798] FTB msp430-elf error: the value of '__gnu_cxx::__numeric_traits_integer<__int20>::__max' is not usable in a constant expression
  2020-11-11 13:55 [Bug c++/97798] New: FTB msp430-elf error: the value of '__gnu_cxx::__numeric_traits_integer<__int20>::__max' is not usable in a constant expression jozefl at gcc dot gnu.org
                   ` (7 preceding siblings ...)
  2020-11-12  0:38 ` redi at gcc dot gnu.org
@ 2020-11-12 10:00 ` jozefl at gcc dot gnu.org
  2020-11-12 12:11 ` cvs-commit at gcc dot gnu.org
                   ` (14 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: jozefl at gcc dot gnu.org @ 2020-11-12 10:00 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97798

--- Comment #9 from jozefl at gcc dot gnu.org ---
(In reply to Jonathan Wakely from comment #8)
> My attempt to build msp430 fails with:
> 
> In file included from
> /home/jwakely/gcc/msp430-elf/msp430-elf/include/stdint.h:13,
>                  from
> /home/jwakely/src/gcc/build-16bit/gcc/include/stdint.h:9,
>                  from
> /home/jwakely/src/gcc/build-16bit/msp430-elf/large/libstdc++-v3/include/bits/
> align.h:36,
>                  from
> /home/jwakely/src/gcc/build-16bit/msp430-elf/large/libstdc++-v3/include/
> memory:72,
>                  from
> /home/jwakely/src/gcc/gcc/libstdc++-v3/include/precompiled/stdc++.h:82:
> /home/jwakely/gcc/msp430-elf/msp430-elf/include/sys/_intsup.h:68:2: error:
> #error "Unable to determine type definition of intptr_t"
>    68 | #error "Unable to determine type definition of intptr_t"
>       |  ^~~~~
> 
> 
> Is that related?

Newlib is required for MSP430. Symlink the newlib/ and libgloss/ subdirs into
the GCC tree root.

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug libstdc++/97798] FTB msp430-elf error: the value of '__gnu_cxx::__numeric_traits_integer<__int20>::__max' is not usable in a constant expression
  2020-11-11 13:55 [Bug c++/97798] New: FTB msp430-elf error: the value of '__gnu_cxx::__numeric_traits_integer<__int20>::__max' is not usable in a constant expression jozefl at gcc dot gnu.org
                   ` (8 preceding siblings ...)
  2020-11-12 10:00 ` jozefl at gcc dot gnu.org
@ 2020-11-12 12:11 ` cvs-commit at gcc dot gnu.org
  2020-11-12 12:13 ` redi at gcc dot gnu.org
                   ` (13 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-11-12 12:11 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97798

--- Comment #10 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jonathan Wakely <redi@gcc.gnu.org>:

https://gcc.gnu.org/g:7f851c33411fc39982c62a91fa93ec02981fd956

commit r11-4941-g7f851c33411fc39982c62a91fa93ec02981fd956
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Thu Nov 12 10:29:21 2020 +0000

    libstdc++: Fix __numeric_traits_integer<__int20> [PR 97798]

    The expression used to calculate the maximum value for an integer type
    assumes that the number of bits in the value representation is always
    sizeof(T) * CHAR_BIT. This is not true for the __int20 type on msp430,
    which has only 20 bits in the value representation but 32 bits in the
    object representation. This causes an integer overflow in a constant
    expression, which is ill-formed.

    This problem was already solved by DJ for std::numeric_limits<__int20>
    by generalizing the helper macros to use a specified number of bits
    instead of assuming sizeof(T) * CHAR_BIT. Then the INT_N_n types can
    specify the number of bits using the __GLIBCXX_BITSIZE_INT_N_n macros
    that the compiler defines.

    I'm using a slightly different approach here. I've replaced the helper
    macros entirely, and just expanded the calculations in the initializers
    for the static data members. By reordering the data members we can reuse
    __is_signed and __digits in the other initializers. This removes the
    repetition of expanding __glibcxx_signed(T) and __glibcxx_digits(T)
    multiple times in each initializer.

    The __is_integer_nonstrict trait now defines a new constant, __width,
    which is sizeof(T) * CHAR_BIT by default (defined as an enumerator so
    that no storage is needed for a static data member). By specializing
    __is_integer_nonstrict for the INT_N types that have padding bits, we
    can provide the correct width via the __GLIBCXX_BITSIZE_INT_N_n macros.

    libstdc++-v3/ChangeLog:

            PR libstdc++/97798
            * include/ext/numeric_traits.h (__glibcxx_signed)
            (__glibcxx_digits, __glibcxx_min, __glibcxx_max): Remove
            macros.
            (__is_integer_nonstrict::__width): Define new constant.
            (__numeric_traits_integer): Define constants in terms of each
            other and __is_integer_nonstrict::__width, rather than the
            removed macros.
            (_GLIBCXX_INT_N_TRAITS): Macro to define explicit
            specializations for non-standard integer types.

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug libstdc++/97798] FTB msp430-elf error: the value of '__gnu_cxx::__numeric_traits_integer<__int20>::__max' is not usable in a constant expression
  2020-11-11 13:55 [Bug c++/97798] New: FTB msp430-elf error: the value of '__gnu_cxx::__numeric_traits_integer<__int20>::__max' is not usable in a constant expression jozefl at gcc dot gnu.org
                   ` (9 preceding siblings ...)
  2020-11-12 12:11 ` cvs-commit at gcc dot gnu.org
@ 2020-11-12 12:13 ` redi at gcc dot gnu.org
  2020-11-12 12:30 ` jozefl at gcc dot gnu.org
                   ` (12 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: redi at gcc dot gnu.org @ 2020-11-12 12:13 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97798

--- Comment #11 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Fixed for gcc-11 but it should be backported too. Even if the compiler doesn't
reject the overflow in the constant expressions, the values of the trait are
still wrong for __int20.

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug libstdc++/97798] FTB msp430-elf error: the value of '__gnu_cxx::__numeric_traits_integer<__int20>::__max' is not usable in a constant expression
  2020-11-11 13:55 [Bug c++/97798] New: FTB msp430-elf error: the value of '__gnu_cxx::__numeric_traits_integer<__int20>::__max' is not usable in a constant expression jozefl at gcc dot gnu.org
                   ` (10 preceding siblings ...)
  2020-11-12 12:13 ` redi at gcc dot gnu.org
@ 2020-11-12 12:30 ` jozefl at gcc dot gnu.org
  2020-11-12 14:27 ` redi at gcc dot gnu.org
                   ` (11 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: jozefl at gcc dot gnu.org @ 2020-11-12 12:30 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97798

--- Comment #12 from jozefl at gcc dot gnu.org ---
Thanks!

I've set off a full msp430-elf build and regtest.

I'll look at backporting it to GCC8/9/10 branches after testing.

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug libstdc++/97798] FTB msp430-elf error: the value of '__gnu_cxx::__numeric_traits_integer<__int20>::__max' is not usable in a constant expression
  2020-11-11 13:55 [Bug c++/97798] New: FTB msp430-elf error: the value of '__gnu_cxx::__numeric_traits_integer<__int20>::__max' is not usable in a constant expression jozefl at gcc dot gnu.org
                   ` (11 preceding siblings ...)
  2020-11-12 12:30 ` jozefl at gcc dot gnu.org
@ 2020-11-12 14:27 ` redi at gcc dot gnu.org
  2020-11-12 16:06 ` jozefl at gcc dot gnu.org
                   ` (10 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: redi at gcc dot gnu.org @ 2020-11-12 14:27 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97798

--- Comment #13 from Jonathan Wakely <redi at gcc dot gnu.org> ---
I tried a bootstrap of gcc-10 and I get this error during libgcc/configure

conftest.s: Assembler messages:
conftest.s:168: Error: unknown pseudo-op: `.mspabi_attribute'
conftest.s:169: Error: unknown pseudo-op: `.mspabi_attribute'
conftest.s:170: Error: unknown pseudo-op: `.mspabi_attribute'

This is using the same binutils that I used to successfully bootstrap trunk:

GNU assembler (GNU Binutils) 2.32.51.20190613
Copyright (C) 2019 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or later.
This program has absolutely no warranty.
This assembler was configured for a target of `msp430-elf'.

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug libstdc++/97798] FTB msp430-elf error: the value of '__gnu_cxx::__numeric_traits_integer<__int20>::__max' is not usable in a constant expression
  2020-11-11 13:55 [Bug c++/97798] New: FTB msp430-elf error: the value of '__gnu_cxx::__numeric_traits_integer<__int20>::__max' is not usable in a constant expression jozefl at gcc dot gnu.org
                   ` (12 preceding siblings ...)
  2020-11-12 14:27 ` redi at gcc dot gnu.org
@ 2020-11-12 16:06 ` jozefl at gcc dot gnu.org
  2020-11-12 17:43 ` redi at gcc dot gnu.org
                   ` (9 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: jozefl at gcc dot gnu.org @ 2020-11-12 16:06 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97798

--- Comment #14 from jozefl at gcc dot gnu.org ---
(In reply to Jonathan Wakely from comment #13)
> I tried a bootstrap of gcc-10 and I get this error during libgcc/configure
> 
> conftest.s: Assembler messages:
> conftest.s:168: Error: unknown pseudo-op: `.mspabi_attribute'
> conftest.s:169: Error: unknown pseudo-op: `.mspabi_attribute'
> conftest.s:170: Error: unknown pseudo-op: `.mspabi_attribute'
> 
> This is using the same binutils that I used to successfully bootstrap trunk:
> 
> GNU assembler (GNU Binutils) 2.32.51.20190613
> Copyright (C) 2019 Free Software Foundation, Inc.
> This program is free software; you may redistribute it under the terms of
> the GNU General Public License version 3 or later.
> This program has absolutely no warranty.
> This assembler was configured for a target of `msp430-elf'.

.mspabi_attribute was only supported since Binutils 2.34. Until GCC commit
b75863a88ec, the preprocessor conditional that tries to switch off
.mspabi_attribute emission wasn't implemented correctly, and didn't switch it
off. The conftest was also wrong, and always fails for an out of tree Binutils.

So if you're using an out of tree Binutils version < 2.34, the conftest fails,
but GCC will still generate the assembler directive that is unsupoprted.

An in-tree Binutils < 2.34 or >= 2.34 always works fine.

I should really backport this fix to GCC 10.

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug libstdc++/97798] FTB msp430-elf error: the value of '__gnu_cxx::__numeric_traits_integer<__int20>::__max' is not usable in a constant expression
  2020-11-11 13:55 [Bug c++/97798] New: FTB msp430-elf error: the value of '__gnu_cxx::__numeric_traits_integer<__int20>::__max' is not usable in a constant expression jozefl at gcc dot gnu.org
                   ` (13 preceding siblings ...)
  2020-11-12 16:06 ` jozefl at gcc dot gnu.org
@ 2020-11-12 17:43 ` redi at gcc dot gnu.org
  2020-11-12 19:31 ` jozefl at gcc dot gnu.org
                   ` (8 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: redi at gcc dot gnu.org @ 2020-11-12 17:43 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97798

--- Comment #15 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Hmm, I get the same error for a out-of-tree binutils built from today's git
sources:

GNU assembler (GNU Binutils) 2.35.50.20201112
Copyright (C) 2020 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or later.
This program has absolutely no warranty.
This assembler was configured for a target of `msp430-elf'.

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug libstdc++/97798] FTB msp430-elf error: the value of '__gnu_cxx::__numeric_traits_integer<__int20>::__max' is not usable in a constant expression
  2020-11-11 13:55 [Bug c++/97798] New: FTB msp430-elf error: the value of '__gnu_cxx::__numeric_traits_integer<__int20>::__max' is not usable in a constant expression jozefl at gcc dot gnu.org
                   ` (14 preceding siblings ...)
  2020-11-12 17:43 ` redi at gcc dot gnu.org
@ 2020-11-12 19:31 ` jozefl at gcc dot gnu.org
  2020-11-12 19:32 ` redi at gcc dot gnu.org
                   ` (7 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: jozefl at gcc dot gnu.org @ 2020-11-12 19:31 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97798

--- Comment #16 from jozefl at gcc dot gnu.org ---
(In reply to Jonathan Wakely from comment #15)
> Hmm, I get the same error for a out-of-tree binutils built from today's git
> sources:
> 
> GNU assembler (GNU Binutils) 2.35.50.20201112
> Copyright (C) 2020 Free Software Foundation, Inc.
> This program is free software; you may redistribute it under the terms of
> the GNU General Public License version 3 or later.
> This program has absolutely no warranty.
> This assembler was configured for a target of `msp430-elf'.

Sigh, that's a different bug. I removed a GAS option that doesn't do anything,
but is automatically passed by MSP430 GCC 10 ASM_SPEC when certain other
options aren't present. And my GCC 10 tester explicitly uses Binutils 2.34
rather than master, so it went undetected.

Pushed a Binutils fix. gcc-10 branch now builds with latest Binutils.

Thanks for reporting this.

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug libstdc++/97798] FTB msp430-elf error: the value of '__gnu_cxx::__numeric_traits_integer<__int20>::__max' is not usable in a constant expression
  2020-11-11 13:55 [Bug c++/97798] New: FTB msp430-elf error: the value of '__gnu_cxx::__numeric_traits_integer<__int20>::__max' is not usable in a constant expression jozefl at gcc dot gnu.org
                   ` (15 preceding siblings ...)
  2020-11-12 19:31 ` jozefl at gcc dot gnu.org
@ 2020-11-12 19:32 ` redi at gcc dot gnu.org
  2020-11-13 13:24 ` redi at gcc dot gnu.org
                   ` (6 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: redi at gcc dot gnu.org @ 2020-11-12 19:32 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97798

--- Comment #17 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Nice, with binutils HEAD my gcc-10 build continues. Thanks!

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug libstdc++/97798] FTB msp430-elf error: the value of '__gnu_cxx::__numeric_traits_integer<__int20>::__max' is not usable in a constant expression
  2020-11-11 13:55 [Bug c++/97798] New: FTB msp430-elf error: the value of '__gnu_cxx::__numeric_traits_integer<__int20>::__max' is not usable in a constant expression jozefl at gcc dot gnu.org
                   ` (16 preceding siblings ...)
  2020-11-12 19:32 ` redi at gcc dot gnu.org
@ 2020-11-13 13:24 ` redi at gcc dot gnu.org
  2020-11-13 13:49 ` jozefl at gcc dot gnu.org
                   ` (5 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: redi at gcc dot gnu.org @ 2020-11-13 13:24 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97798

--- Comment #18 from Jonathan Wakely <redi at gcc dot gnu.org> ---
The patch will apply cleanly to gcc-10 but not gcc-9. Let me know if you want
me to prepare a patch for the gcc-9 branch.

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug libstdc++/97798] FTB msp430-elf error: the value of '__gnu_cxx::__numeric_traits_integer<__int20>::__max' is not usable in a constant expression
  2020-11-11 13:55 [Bug c++/97798] New: FTB msp430-elf error: the value of '__gnu_cxx::__numeric_traits_integer<__int20>::__max' is not usable in a constant expression jozefl at gcc dot gnu.org
                   ` (17 preceding siblings ...)
  2020-11-13 13:24 ` redi at gcc dot gnu.org
@ 2020-11-13 13:49 ` jozefl at gcc dot gnu.org
  2020-11-13 14:52 ` cvs-commit at gcc dot gnu.org
                   ` (4 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: jozefl at gcc dot gnu.org @ 2020-11-13 13:49 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97798

--- Comment #19 from jozefl at gcc dot gnu.org ---
(In reply to Jonathan Wakely from comment #18)
> The patch will apply cleanly to gcc-10 but not gcc-9. Let me know if you
> want me to prepare a patch for the gcc-9 branch.

If it's not too much work, it would be great if you could. I'm actually just
finalizing the MSP430-GCC release that TI will distribute, and it's the last
one based off GCC 9, and the last one to be released for a while, so getting it
in there would be great.

Let me know if I can help, thanks.

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug libstdc++/97798] FTB msp430-elf error: the value of '__gnu_cxx::__numeric_traits_integer<__int20>::__max' is not usable in a constant expression
  2020-11-11 13:55 [Bug c++/97798] New: FTB msp430-elf error: the value of '__gnu_cxx::__numeric_traits_integer<__int20>::__max' is not usable in a constant expression jozefl at gcc dot gnu.org
                   ` (18 preceding siblings ...)
  2020-11-13 13:49 ` jozefl at gcc dot gnu.org
@ 2020-11-13 14:52 ` cvs-commit at gcc dot gnu.org
  2020-11-13 14:55 ` cvs-commit at gcc dot gnu.org
                   ` (3 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-11-13 14:52 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97798

--- Comment #20 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-10 branch has been updated by Jonathan Wakely
<redi@gcc.gnu.org>:

https://gcc.gnu.org/g:f9d6781ea2ef1cdfd0d6d6b649a5cb5a217a8d5e

commit r10-9022-gf9d6781ea2ef1cdfd0d6d6b649a5cb5a217a8d5e
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Thu Nov 12 10:29:21 2020 +0000

    libstdc++: Fix __numeric_traits_integer<__int20> [PR 97798]

    The expression used to calculate the maximum value for an integer type
    assumes that the number of bits in the value representation is always
    sizeof(T) * CHAR_BIT. This is not true for the __int20 type on msp430,
    which has only 20 bits in the value representation but 32 bits in the
    object representation. This causes an integer overflow in a constant
    expression, which is ill-formed.

    This problem was already solved by DJ for std::numeric_limits<__int20>
    by generalizing the helper macros to use a specified number of bits
    instead of assuming sizeof(T) * CHAR_BIT. Then the INT_N_n types can
    specify the number of bits using the __GLIBCXX_BITSIZE_INT_N_n macros
    that the compiler defines.

    I'm using a slightly different approach here. I've replaced the helper
    macros entirely, and just expanded the calculations in the initializers
    for the static data members. By reordering the data members we can reuse
    __is_signed and __digits in the other initializers. This removes the
    repetition of expanding __glibcxx_signed(T) and __glibcxx_digits(T)
    multiple times in each initializer.

    The __is_integer_nonstrict trait now defines a new constant, __width,
    which is sizeof(T) * CHAR_BIT by default (defined as an enumerator so
    that no storage is needed for a static data member). By specializing
    __is_integer_nonstrict for the INT_N types that have padding bits, we
    can provide the correct width via the __GLIBCXX_BITSIZE_INT_N_n macros.

    libstdc++-v3/ChangeLog:

            PR libstdc++/97798
            * include/ext/numeric_traits.h (__glibcxx_signed)
            (__glibcxx_digits, __glibcxx_min, __glibcxx_max): Remove
            macros.
            (__is_integer_nonstrict::__width): Define new constant.
            (__numeric_traits_integer): Define constants in terms of each
            other and __is_integer_nonstrict::__width, rather than the
            removed macros.
            (_GLIBCXX_INT_N_TRAITS): Macro to define explicit
            specializations for non-standard integer types.

    (cherry picked from commit 99f22a5ed91c7e4306b727f61c01484faf104115)

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug libstdc++/97798] FTB msp430-elf error: the value of '__gnu_cxx::__numeric_traits_integer<__int20>::__max' is not usable in a constant expression
  2020-11-11 13:55 [Bug c++/97798] New: FTB msp430-elf error: the value of '__gnu_cxx::__numeric_traits_integer<__int20>::__max' is not usable in a constant expression jozefl at gcc dot gnu.org
                   ` (19 preceding siblings ...)
  2020-11-13 14:52 ` cvs-commit at gcc dot gnu.org
@ 2020-11-13 14:55 ` cvs-commit at gcc dot gnu.org
  2020-11-13 14:57 ` redi at gcc dot gnu.org
                   ` (2 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-11-13 14:55 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97798

--- Comment #21 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-9 branch has been updated by Jonathan Wakely
<redi@gcc.gnu.org>:

https://gcc.gnu.org/g:62c2d527307d8adce31f5c9ca6e19e15b2866b83

commit r9-9045-g62c2d527307d8adce31f5c9ca6e19e15b2866b83
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Thu Nov 12 10:29:21 2020 +0000

    libstdc++: Fix __numeric_traits_integer<__int20> [PR 97798]

    The expression used to calculate the maximum value for an integer type
    assumes that the number of bits in the value representation is always
    sizeof(T) * CHAR_BIT. This is not true for the __int20 type on msp430,
    which has only 20 bits in the value representation but 32 bits in the
    object representation. This causes an integer overflow in a constant
    expression, which is ill-formed.

    This problem was already solved by DJ for std::numeric_limits<__int20>
    by generalizing the helper macros to use a specified number of bits
    instead of assuming sizeof(T) * CHAR_BIT. Then the INT_N_n types can
    specify the number of bits using the __GLIBCXX_BITSIZE_INT_N_n macros
    that the compiler defines.

    I'm using a slightly different approach here. I've replaced the helper
    macros entirely, and just expanded the calculations in the initializers
    for the static data members. By reordering the data members we can reuse
    __is_signed and __digits in the other initializers. This removes the
    repetition of expanding __glibcxx_signed(T) and __glibcxx_digits(T)
    multiple times in each initializer.

    The __is_integer_nonstrict trait now defines a new constant, __width,
    which is sizeof(T) * CHAR_BIT by default (defined as an enumerator so
    that no storage is needed for a static data member). By specializing
    __is_integer_nonstrict for the INT_N types that have padding bits, we
    can provide the correct width via the __GLIBCXX_BITSIZE_INT_N_n macros.

    The backport for the gcc-9 branch adds the __is_integer_nonstrict trait,
    which was not previously present on the branch at all.

    libstdc++-v3/ChangeLog:

            PR libstdc++/97798
            * include/ext/numeric_traits.h (__glibcxx_signed)
            (__glibcxx_digits, __glibcxx_min, __glibcxx_max): Remove
            macros.
            (__is_integer_nonstrict::__width): Define new constant.
            (__numeric_traits_integer): Define constants in terms of each
            other and __is_integer_nonstrict::__width, rather than the
            removed macros.
            (_GLIBCXX_INT_N_TRAITS): Macro to define explicit
            specializations for non-standard integer types.

    (cherry picked from commit 99f22a5ed91c7e4306b727f61c01484faf104115)

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug libstdc++/97798] FTB msp430-elf error: the value of '__gnu_cxx::__numeric_traits_integer<__int20>::__max' is not usable in a constant expression
  2020-11-11 13:55 [Bug c++/97798] New: FTB msp430-elf error: the value of '__gnu_cxx::__numeric_traits_integer<__int20>::__max' is not usable in a constant expression jozefl at gcc dot gnu.org
                   ` (20 preceding siblings ...)
  2020-11-13 14:55 ` cvs-commit at gcc dot gnu.org
@ 2020-11-13 14:57 ` redi at gcc dot gnu.org
  2020-11-13 15:12 ` jozefl at gcc dot gnu.org
  2020-11-13 15:30 ` redi at gcc dot gnu.org
  23 siblings, 0 replies; 25+ messages in thread
From: redi at gcc dot gnu.org @ 2020-11-13 14:57 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97798

--- Comment #22 from Jonathan Wakely <redi at gcc dot gnu.org> ---
I tested the patches on x86_64-linux and confirmed that the branches can
bootstrap msp430-elf, so I went ahead and pushed them.

If you're not going to release anything from the gcc-8 branch, is it OK to
leave that unfixed? If so, I think we can close this.

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug libstdc++/97798] FTB msp430-elf error: the value of '__gnu_cxx::__numeric_traits_integer<__int20>::__max' is not usable in a constant expression
  2020-11-11 13:55 [Bug c++/97798] New: FTB msp430-elf error: the value of '__gnu_cxx::__numeric_traits_integer<__int20>::__max' is not usable in a constant expression jozefl at gcc dot gnu.org
                   ` (21 preceding siblings ...)
  2020-11-13 14:57 ` redi at gcc dot gnu.org
@ 2020-11-13 15:12 ` jozefl at gcc dot gnu.org
  2020-11-13 15:30 ` redi at gcc dot gnu.org
  23 siblings, 0 replies; 25+ messages in thread
From: jozefl at gcc dot gnu.org @ 2020-11-13 15:12 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97798

--- Comment #23 from jozefl at gcc dot gnu.org ---
(In reply to Jonathan Wakely from comment #22)
> I tested the patches on x86_64-linux and confirmed that the branches can
> bootstrap msp430-elf, so I went ahead and pushed them.
> 
> If you're not going to release anything from the gcc-8 branch, is it OK to
> leave that unfixed? If so, I think we can close this.

Fine by me, thanks!

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug libstdc++/97798] FTB msp430-elf error: the value of '__gnu_cxx::__numeric_traits_integer<__int20>::__max' is not usable in a constant expression
  2020-11-11 13:55 [Bug c++/97798] New: FTB msp430-elf error: the value of '__gnu_cxx::__numeric_traits_integer<__int20>::__max' is not usable in a constant expression jozefl at gcc dot gnu.org
                   ` (22 preceding siblings ...)
  2020-11-13 15:12 ` jozefl at gcc dot gnu.org
@ 2020-11-13 15:30 ` redi at gcc dot gnu.org
  23 siblings, 0 replies; 25+ messages in thread
From: redi at gcc dot gnu.org @ 2020-11-13 15:30 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97798

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
   Target Milestone|11.0                        |9.4
             Status|ASSIGNED                    |RESOLVED

--- Comment #24 from Jonathan Wakely <redi at gcc dot gnu.org> ---
OK, fixed for 9.4, 10.3 and 11.

^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2020-11-13 15:30 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-11 13:55 [Bug c++/97798] New: FTB msp430-elf error: the value of '__gnu_cxx::__numeric_traits_integer<__int20>::__max' is not usable in a constant expression jozefl at gcc dot gnu.org
2020-11-11 14:38 ` [Bug c++/97798] " mpolacek at gcc dot gnu.org
2020-11-11 14:56 ` jozefl at gcc dot gnu.org
2020-11-11 15:26 ` mpolacek at gcc dot gnu.org
2020-11-11 15:51 ` mpolacek at gcc dot gnu.org
2020-11-11 18:37 ` mpolacek at gcc dot gnu.org
2020-11-12  0:03 ` redi at gcc dot gnu.org
2020-11-12  0:36 ` [Bug libstdc++/97798] " redi at gcc dot gnu.org
2020-11-12  0:38 ` redi at gcc dot gnu.org
2020-11-12 10:00 ` jozefl at gcc dot gnu.org
2020-11-12 12:11 ` cvs-commit at gcc dot gnu.org
2020-11-12 12:13 ` redi at gcc dot gnu.org
2020-11-12 12:30 ` jozefl at gcc dot gnu.org
2020-11-12 14:27 ` redi at gcc dot gnu.org
2020-11-12 16:06 ` jozefl at gcc dot gnu.org
2020-11-12 17:43 ` redi at gcc dot gnu.org
2020-11-12 19:31 ` jozefl at gcc dot gnu.org
2020-11-12 19:32 ` redi at gcc dot gnu.org
2020-11-13 13:24 ` redi at gcc dot gnu.org
2020-11-13 13:49 ` jozefl at gcc dot gnu.org
2020-11-13 14:52 ` cvs-commit at gcc dot gnu.org
2020-11-13 14:55 ` cvs-commit at gcc dot gnu.org
2020-11-13 14:57 ` redi at gcc dot gnu.org
2020-11-13 15:12 ` jozefl at gcc dot gnu.org
2020-11-13 15:30 ` redi at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).