[PATCH] D53486: [libcxx] Only define __libcpp_is_floating_point<_Float16> for Clang

Peter Smith via Phabricator reviews at reviews.llvm.org
Tue Oct 23 02:57:17 PDT 2018


peter.smith added a comment.

To the best of my knowledge (references in the docs below) the _Float16 is defined in a TS: "ISO/IEC, Floating point extensions for C, ISO/IEC TS 18661-3". 
I got that by following the links from the Arm C Library Extensions that refer to an older storage only type called __fp16  and its interaction with _Float16 (Links below)

To the best of my knowledge there is a known discrepancy in clang and gcc with respect to C++ support. It is supported in clang, but not gcc. Unfortunately I don't yet know why that was the case.

As implemented in clang https://reviews.llvm.org/D33719 there is some reference to the C++ support and the name mangling of the type at https://github.com/itanium-cxx-abi/cxx-abi/pull/22

ACLE:

- (Web) https://developer.arm.com/products/software-development-tools/compilers/arm-compiler-5/docs/101028/latest/3-c-language-extensions
- (pdf) https://static.docs.arm.com/101028/0006/Q1-ACLE_2018Q2_release-0006.pdf?_ga=2.91793754.1585046319.1540286457-1604496016.1486999657


Repository:
  rCXX libc++

https://reviews.llvm.org/D53486





More information about the libcxx-commits mailing list