gcc/libstdc++-v3/libsupc++
Jakub Jelinek 0c86a66748 libstdc++: _Bfloat16 for <compare>
Jon pointed out that we have TODO: _Bfloat16 in <compare>.
Right now _S_fp_fmt() returns _Binary16 for _Float16, __fp16 as well
as __bf16 and it actually works because we don't have a special handling
of _Binary16.  So, either we could just document that, but I'm a little bit
afraid if HPPA or MIPS don't start supporting _Float16 and/or __bf16.
If they do, we have the
 #if defined __hppa__ || (defined __mips__ && !defined __mips_nan2008)
                  // IEEE 754-1985 allowed the meaning of the quiet/signaling
                  // bit to be reversed. Flip that to give desired ordering.
                  if (__builtin_isnan(__x) && __builtin_isnan(__y))
                    {
                      using _Int = decltype(__ix);

                      constexpr int __nantype = __fmt == _Binary32  ?  22
                                              : __fmt == _Binary64  ?  51
                                              : __fmt == _Binary128 ? 111
                                              : -1;
                      constexpr _Int __bit = _Int(1) << __nantype;
                      __ix ^= __bit;
                      __iy ^= __bit;
                    }
 #endif
code, the only one where we actually care whether something is
_Binary{32,64,128} (elsewhere we just care about the x86 and m68k 80bits
or double double or just floating point type's sizeof) and we'd need
to handle there _Binary16 and/or _Bfloat16.

So this patch uses different enum for it even when it isn't needed right
now, after all _Binary16 isn't needed either and we could just use
_Binary32...

2022-11-02  Jakub Jelinek  <jakub@redhat.com>

	* libsupc++/compare (_Strong_order::_Fp_fmt): Add _Bfloat16.
	(_Strong_order::_Bfloat16): New static data member.
	(_Strong_order::_S_fp_fmt): Return _Bfloat16 for std::bfloat16_t.
2022-11-02 13:35:53 +01:00
..
array_type_info.cc
atexit_arm.cc
atexit_thread.cc gcc: Add 'mcf' thread model support from mcfgthread 2022-10-19 13:52:37 +00:00
atomic_lockfree_defines.h
bad_alloc.cc
bad_array_length.cc
bad_array_new.cc
bad_cast.cc
bad_typeid.cc
class_type_info.cc
compare libstdc++: _Bfloat16 for <compare> 2022-11-02 13:35:53 +01:00
cxxabi.h
cxxabi_forced.h
cxxabi_init_exception.h
del_op.cc
del_opa.cc
del_opant.cc
del_opnt.cc
del_ops.cc
del_opsa.cc
del_opv.cc
del_opva.cc
del_opvant.cc
del_opvnt.cc
del_opvs.cc
del_opvsa.cc
dyncast.cc libstdc++: small dynamic_cast optimization 2022-09-07 10:11:54 -04:00
eh_alloc.cc libstdc++: Disable all emergency EH pool code if obj-count == 0 2022-10-14 15:35:41 +01:00
eh_arm.cc
eh_atomics.h
eh_aux_runtime.cc
eh_call.cc
eh_catch.cc
eh_exception.cc
eh_globals.cc libstdc++: eh_globals: gthreads: reset _S_init before deleting key 2022-06-21 23:11:02 -03:00
eh_personality.cc
eh_ptr.cc
eh_term_handler.cc
eh_term_handler.h
eh_terminate.cc
eh_throw.cc
eh_tm.cc
eh_type.cc
eh_unex_handler.cc
enum_type_info.cc
exception libstdc++: Do not use #include inside push visibility scope [PR99871] 2022-05-06 14:43:39 +01:00
exception.h libstdc++: Do not use #include inside push visibility scope [PR99871] 2022-05-06 14:43:39 +01:00
exception_defines.h
exception_ptr.h libstdc++: Allow std::swap to find overload for std::exception_ptr 2022-05-13 20:40:04 +01:00
function_type_info.cc
fundamental_type_info.cc
guard.cc gcc: Add 'mcf' thread model support from mcfgthread 2022-10-19 13:52:37 +00:00
guard_error.cc
hash_bytes.cc
hash_bytes.h
initializer_list libstdc++: Do not use #include inside push visibility scope [PR99871] 2022-05-06 14:43:39 +01:00
Makefile.am libstdc++: Allow emergency EH alloc pool size to be tuned [PR68606] 2022-10-11 16:21:48 +01:00
Makefile.in libstdc++: Don't use gstdint.h anymore 2022-10-29 00:55:42 +01:00
nested_exception.cc
nested_exception.h libstdc++: Make std::rethrow_if_nested work without RTTI 2022-05-13 20:39:59 +01:00
new
new_handler.cc
new_op.cc
new_opa.cc libstdc++: Add comment about memalign requirements 2022-03-31 16:18:00 +01:00
new_opant.cc
new_opnt.cc
new_opv.cc
new_opva.cc
new_opvant.cc
new_opvnt.cc
pbase_type_info.cc
pmem_type_info.cc
pointer_type_info.cc
pure.cc
si_class_type_info.cc
tinfo.cc
tinfo.h
tinfo2.cc
typeinfo libstdc++: Remove whitespace before preprocessor directives 2022-05-12 18:04:01 +01:00
unwind-cxx.h
vec.cc
vmi_class_type_info.cc
vterminate.cc
vtv_stubs.cc