This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug math/22700] New: typedef logic for _Float128 in bits/floatn.h only supports gcc


https://sourceware.org/bugzilla/show_bug.cgi?id=22700

            Bug ID: 22700
           Summary: typedef logic for _Float128 in bits/floatn.h only
                    supports gcc
           Product: glibc
           Version: 2.27
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: math
          Assignee: unassigned at sourceware dot org
          Reporter: nszabolcs at gmail dot com
  Target Milestone: ---

on targets where long double has the right semantics the
public math header may typedef _Float128 even if the
compiler has its own _Float128 definition.

use

#if !defined __FLT128_MANT_DIG__ || defined __cplusplus

instead of

#if !__GNUC_PREREQ (7, 0) || defined __cplusplus

to check if compiler lacks _Float128 support since it
works for both gcc and clang.

clang trunk supports _Float128 since

https://reviews.llvm.org/D40673

but they don't seem to support the f128 constant suffix
(only q) nor the __builtin_inff128 etc builtins so a bit
more change is required to make the headers work with it,
and it's not clear how to check for those features
(other than ifdef __clang__), however changing the headers
to be able to work with other compilers is useful anyway.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]