2020-09-11 22:56:57 |
pragyansri.pathi@intel.com |
bug |
|
|
added bug |
2020-09-11 22:57:11 |
pragyansri.pathi@intel.com |
summary |
[Bug[ A simple code including tgmath.h cannot be compiled with icc with Ubuntu 20.04 OS |
[Bug] A simple code including tgmath.h cannot be compiled with icc with Ubuntu 20.04 OS |
|
2020-09-12 03:46:39 |
Anthony Wong |
bug task added |
|
glibc (Ubuntu) |
|
2020-09-12 03:46:54 |
Anthony Wong |
bug |
|
|
added subscriber Anthony Wong |
2020-09-15 15:12:07 |
Dimitri John Ledkov |
glibc (Ubuntu): status |
New |
Incomplete |
|
2020-09-15 15:12:10 |
Dimitri John Ledkov |
intel: status |
New |
Incomplete |
|
2020-09-16 03:09:30 |
pragyansri.pathi@intel.com |
bug watch added |
|
https://sourceware.org/bugzilla/show_bug.cgi?id=26621 |
|
2020-10-28 20:23:04 |
Balint Reczey |
nominated for series |
|
Ubuntu Groovy |
|
2020-10-28 20:23:04 |
Balint Reczey |
bug task added |
|
glibc (Ubuntu Groovy) |
|
2020-10-28 20:23:04 |
Balint Reczey |
nominated for series |
|
Ubuntu Focal |
|
2020-10-28 20:23:04 |
Balint Reczey |
bug task added |
|
glibc (Ubuntu Focal) |
|
2020-10-28 20:34:53 |
Balint Reczey |
tags |
intel |
intel rls-ff-incoming |
|
2020-11-05 17:46:02 |
Brian Murray |
tags |
intel rls-ff-incoming |
intel |
|
2020-11-05 17:46:36 |
Brian Murray |
tags |
intel |
fr-900 intel |
|
2020-12-01 10:01:23 |
Launchpad Janitor |
glibc (Ubuntu): status |
Incomplete |
Fix Released |
|
2020-12-08 13:35:00 |
Balint Reczey |
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
========================================= |
[Impact]
A simple code including tgmath.h cannot be compiled with icc with Ubuntu 20.04 OS and later releases.
[Test Case]
icc:
Compile the following code with Intel compiler (icc) by running “icc -c test.c”
$ cat test.c
#include <tgmath.h>
There should not be any compilation error
[Where problems could occur]
The fix is dropping compile time check preventing using float128 with icc. In case of a mistake using float128 becomes prevented in other compilers as well, but this is highly unlikely, since the vanilla upstream code is known to work.
Older icc compilers (for which the patch has been introduced) will stop compiling code with the _fixed_ tgmath.h because of LP: #1717257.
Users can still install older icc compilers from 3rd party sources, but there is no good way of avoiding that. They can still override the packaged tgmath.h.
[Original Bug Text]
[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
========================================= |
|
2020-12-08 17:28:01 |
Balint Reczey |
glibc (Ubuntu Focal): status |
New |
In Progress |
|
2020-12-08 17:28:08 |
Balint Reczey |
glibc (Ubuntu Groovy): status |
New |
In Progress |
|
2020-12-08 17:28:17 |
Balint Reczey |
glibc (Ubuntu Focal): assignee |
|
Balint Reczey (rbalint) |
|
2020-12-08 17:28:21 |
Balint Reczey |
glibc (Ubuntu Groovy): assignee |
|
Balint Reczey (rbalint) |
|
2020-12-16 19:51:15 |
Łukasz Zemczak |
glibc (Ubuntu Groovy): status |
In Progress |
Fix Committed |
|
2020-12-16 19:51:17 |
Łukasz Zemczak |
bug |
|
|
added subscriber Ubuntu Stable Release Updates Team |
2020-12-16 19:51:19 |
Łukasz Zemczak |
bug |
|
|
added subscriber SRU Verification |
2020-12-16 19:51:22 |
Łukasz Zemczak |
tags |
fr-900 intel |
fr-900 intel verification-needed verification-needed-groovy |
|
2020-12-16 20:55:20 |
Łukasz Zemczak |
glibc (Ubuntu Focal): status |
In Progress |
Fix Committed |
|
2020-12-16 20:55:26 |
Łukasz Zemczak |
tags |
fr-900 intel verification-needed verification-needed-groovy |
fr-900 intel verification-needed verification-needed-focal verification-needed-groovy |
|
2021-01-17 09:54:18 |
Mathew Hodson |
bug |
|
|
added subscriber Mathew Hodson |
2021-01-25 18:49:02 |
Balint Reczey |
tags |
fr-900 intel verification-needed verification-needed-focal verification-needed-groovy |
fr-900 intel verification-done-groovy verification-needed verification-needed-focal |
|
2021-01-25 19:01:48 |
Balint Reczey |
tags |
fr-900 intel verification-done-groovy verification-needed verification-needed-focal |
fr-900 intel verification-done verification-done-focal verification-done-groovy |
|
2021-01-25 19:01:56 |
Balint Reczey |
intel: status |
Incomplete |
Invalid |
|
2021-01-26 16:14:25 |
Łukasz Zemczak |
removed subscriber Ubuntu Stable Release Updates Team |
|
|
|
2021-01-26 16:24:34 |
Launchpad Janitor |
glibc (Ubuntu Focal): status |
Fix Committed |
Fix Released |
|
2021-01-26 19:23:41 |
Brian Murray |
tags |
fr-900 intel verification-done verification-done-focal verification-done-groovy |
block-proposed-groovy fr-900 intel verification-done verification-done-focal verification-done-groovy |
|
2021-01-26 23:01:22 |
Mathew Hodson |
affects |
intel |
ubuntu-translations |
|
2021-01-26 23:01:33 |
Mathew Hodson |
bug task deleted |
ubuntu-translations |
|
|
2021-01-26 23:01:40 |
Mathew Hodson |
removed subscriber Mathew Hodson |
|
|
|
2021-04-08 09:28:37 |
Łukasz Zemczak |
bug |
|
|
added subscriber Ubuntu Stable Release Updates Team |
2021-04-08 09:28:50 |
Łukasz Zemczak |
tags |
block-proposed-groovy fr-900 intel verification-done verification-done-focal verification-done-groovy |
block-proposed-groovy fr-900 intel verification-done-focal verification-needed verification-needed-groovy |
|
2021-06-12 19:32:08 |
Balint Reczey |
glibc (Ubuntu Groovy): assignee |
Balint Reczey (rbalint) |
|
|
2021-07-28 23:14:57 |
Brian Murray |
glibc (Ubuntu Groovy): status |
Fix Committed |
Won't Fix |
|