Activity log for bug #1895358

Date Who What changed Old value New value Message
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