[Bug 1895358] Re: [Bug] A simple code including tgmath.h cannot be compiled with icc with Ubuntu 20.04 OS
Brian Murray
1895358 at bugs.launchpad.net
Thu Nov 5 17:46:02 UTC 2020
** Tags removed: rls-ff-incoming
** Tags added: fr-900
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to glibc in Ubuntu.
https://bugs.launchpad.net/bugs/1895358
Title:
[Bug] A simple code including tgmath.h cannot be compiled with icc
with Ubuntu 20.04 OS
Status in intel:
Incomplete
Status in glibc package in Ubuntu:
Incomplete
Status in glibc source package in Focal:
New
Status in glibc source package in Groovy:
New
Bug description:
[Summary]: A simple code including tgmath.h cannot be compiled with
icc with Ubuntu 20.04 OS
[Ubuntu OS version]: 20.04
[Reproduce Steps]: Compile the following code with Intel compiler
(icc) by running “icc -c test.c”
$ cat test.c
#include <tgmath.h>
[Results]
Expected: There should not be any compilation error
Actual: The following error is produced:
$ icc -c test.c
In file included from /localdisk2/mkl/aakkas/20200721_rls/lnx/compiler/latest/linux/bin/intel64/../../compiler/include/icc/tgmath.h(25),
from test.c(1):
/usr/include/tgmath.h(54): error: #error directive: "Unsupported combination of types for <tgmath.h>."
# error "Unsupported combination of types for <tgmath.h>."
^
compilation aborted for test.c (code 2)
[Additional Information on Test setup]:
ICC compiler supports the __float128 type if the reference compiler is more recent than GNU version 4.4. Therefore, __HAVE_FLOAT128 should be set to 1 when ICC compiler is used with GNU version higher than 4.4. Based on this, I believe that the red part below in floatn.h, which comes with Ubuntu OS, should be updated/removed.
#if (defined __x86_64__ \
? __GNUC_PREREQ (4, 3) \
: (defined __GNU__ ? __GNUC_PREREQ (4, 5) : __GNUC_PREREQ (4, 4))) \
&& !defined(__CUDACC__) && !defined(__ICC)
# define __HAVE_FLOAT128 1
#else
# define __HAVE_FLOAT128 0
#endif
Currently, when the tgmath.h system header file is included on Ubuntu
20.04 OS system, __HAVE_FLOAT128 is set to zero and __HAVE_FLOAT64X
set to 1 for ICC. And this is not a supported combination as checked
in the new tgmath.h system header file:
# if ((__HAVE_FLOAT64X && !__HAVE_FLOAT128) \
|| (__HAVE_FLOAT128 && !__HAVE_FLOAT64X))
# error "Unsupported combination of types for <tgmath.h>."
# endif
Upstream bug: Not known
=========================================
To manage notifications about this bug go to:
https://bugs.launchpad.net/intel/+bug/1895358/+subscriptions
More information about the foundations-bugs
mailing list