public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug libstdc++/37147]  New: [4.4 Regression]: 20_util/ratio/comparisons/comp2.cc et al
@ 2008-08-18 12:17 hp at gcc dot gnu dot org
  2008-08-18 13:04 ` [Bug libstdc++/37147] " paolo dot carlini at oracle dot com
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: hp at gcc dot gnu dot org @ 2008-08-18 12:17 UTC (permalink / raw)
  To: gcc-bugs

Last known good revision:    139006
Known to fail with revision: 139008 .. 139189.

For the changes in this range I only see a few libstdc++ configury changes that
moved tests and generalized them in a seemingly correct manner without typos or
obvious ordering issues, but perhaps there's non-obvious ordering issues.

Either way, I now see (the FAIL lines are regressions):
...
Running /x/gcc/libstdc++-v3/testsuite/libstdc++-dg/conformance.exp ...
FAIL: 20_util/ratio/comparisons/comp2.cc (test for excess errors)
WARNING: 20_util/ratio/comparisons/comp2.cc compilation failed to produce
executable
...
FAIL: 20_util/ratio/operations/ops2.cc (test for excess errors)
WARNING: 20_util/ratio/operations/ops2.cc compilation failed to produce
executable
FAIL: 20_util/ratio/operations/ops3.cc (test for excess errors)
WARNING: 20_util/ratio/operations/ops3.cc compilation failed to produce
executable
...
FAIL: 27_io/basic_ostream/inserters_other/char/error_code.cc (test for excess
errors)
WARNING: 27_io/basic_ostream/inserters_other/char/error_code.cc compilation
failed to produce executable

with this in the .log:
/x/gcc/libstdc++-v3/testsuite/20_util/ratio/comparisons/comp2.cc:25: error:
'INTMAX_MAX' was not declared in this scope
(various errors followed)
and similar for the other tests.

Not sure at a glance what caused this, but maybe it's obvious to the author
(CCed).
N.B.: cross-target, newlib.


-- 
           Summary: [4.4 Regression]: 20_util/ratio/comparisons/comp2.cc et
                    al
           Product: gcc
           Version: 4.4.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libstdc++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: hp at gcc dot gnu dot org
  GCC host triplet: x86_64-unknown-linux-gnu
GCC target triplet: cris-axis-elf


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37147


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug libstdc++/37147] [4.4 Regression]: 20_util/ratio/comparisons/comp2.cc et al
  2008-08-18 12:17 [Bug libstdc++/37147] New: [4.4 Regression]: 20_util/ratio/comparisons/comp2.cc et al hp at gcc dot gnu dot org
@ 2008-08-18 13:04 ` paolo dot carlini at oracle dot com
  2008-08-18 13:17 ` paolo dot carlini at oracle dot com
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: paolo dot carlini at oracle dot com @ 2008-08-18 13:04 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from paolo dot carlini at oracle dot com  2008-08-18 13:03 -------
Therefore, are *all* the errors cause by INTMAX_MAX not being defined? That may
have only to do with the macros on top of bits/postypes.h. Thus you should
check what happens with _GLIBCXX_HAVE_INT64_T, _GLIBCXX_HAVE_INT64_T_LONG, and
_GLIBCXX_HAVE_INT64_T_LONG_LONG.

Something you should also immediately check is whether those tests actually
were run before the changes and not skipped, because the problems are at the
interaction of the dg-require-cstdint and the actual availability of some
specific stdint.h facilities, the macros, which unfortunately in C++ are not
always available together with the rest, but only when __STDC_LIMIT_MACROS is
defined before including the first time <stdint.h>...

In any case, please attach pre-processed comp2.cc.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37147


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug libstdc++/37147] [4.4 Regression]: 20_util/ratio/comparisons/comp2.cc et al
  2008-08-18 12:17 [Bug libstdc++/37147] New: [4.4 Regression]: 20_util/ratio/comparisons/comp2.cc et al hp at gcc dot gnu dot org
  2008-08-18 13:04 ` [Bug libstdc++/37147] " paolo dot carlini at oracle dot com
@ 2008-08-18 13:17 ` paolo dot carlini at oracle dot com
  2008-08-18 13:24 ` paolo dot carlini at oracle dot com
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: paolo dot carlini at oracle dot com @ 2008-08-18 13:17 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from paolo dot carlini at oracle dot com  2008-08-18 13:16 -------
Actually, correctly, in the compilation of comp2.cc, bits/postypes.h doesn't
end up be included, at least on x86_64-linux. Please confirm that, is the most
important thing now. The preprocessed comp2.cc is very small for me, easy to
debug ;) Then I'm now suspecting that for some reason, when
include/tr1_impl/cstdint defines __STDC_LIMIT_MACROS and then include_next
stdint.h, on your target the macros (INTMAX_MAX, in particular) does not become
available.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37147


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug libstdc++/37147] [4.4 Regression]: 20_util/ratio/comparisons/comp2.cc et al
  2008-08-18 12:17 [Bug libstdc++/37147] New: [4.4 Regression]: 20_util/ratio/comparisons/comp2.cc et al hp at gcc dot gnu dot org
  2008-08-18 13:04 ` [Bug libstdc++/37147] " paolo dot carlini at oracle dot com
  2008-08-18 13:17 ` paolo dot carlini at oracle dot com
@ 2008-08-18 13:24 ` paolo dot carlini at oracle dot com
  2008-08-18 14:06 ` [Bug libstdc++/37147] New failures: " hp at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: paolo dot carlini at oracle dot com @ 2008-08-18 13:24 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from paolo dot carlini at oracle dot com  2008-08-18 13:22 -------
Yes, just to confirm that the first paragraph in my Comment #1 is a red
herring, sorry. Luckily we are debugging comp2.cc which includes very little,
does not include postypes.h. We should concentrate on the test
GLIBCXX_CHECK_C99_TR1 instead, that now is run unconditionally: the part about
stdint.h isn't strict enough for your target: it seems the macros do not become
available, it seems we have to strengthen it adding a check for the macros.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37147


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug libstdc++/37147] New failures: 20_util/ratio/comparisons/comp2.cc et al
  2008-08-18 12:17 [Bug libstdc++/37147] New: [4.4 Regression]: 20_util/ratio/comparisons/comp2.cc et al hp at gcc dot gnu dot org
                   ` (2 preceding siblings ...)
  2008-08-18 13:24 ` paolo dot carlini at oracle dot com
@ 2008-08-18 14:06 ` hp at gcc dot gnu dot org
  2008-08-18 14:12 ` paolo dot carlini at oracle dot com
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: hp at gcc dot gnu dot org @ 2008-08-18 14:06 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from hp at gcc dot gnu dot org  2008-08-18 14:05 -------
(In reply to comment #1)
> Something you should also immediately check is whether those tests actually
> were run before the changes and not skipped,

You're right, all of
20_util/ratio/comparisons/comp2.cc
20_util/ratio/operations/ops2.cc
20_util/ratio/operations/ops3.cc
were UNSUPPORTED as of 139006.  The reason they show up as regressions is that
they have actually passed at least once since 2008-05-30 14:24:17 (r136209, the
last regression-free revision for cris-elf, not counting xfails).  Ignoring 
PASS -> UNSUPPORTED or PASS -> deleted while not in a regression-free state is
a feature of the regression tester.  Sorry for the confusion, I should have
double-checked.

Yes, likely the GLIBCXX_CHECK_C99_TR1 macro should be tightened.

Please ignore 27_io/basic_ostream/inserters_other/char/error_code.cc mentioned
in this PR.  It will get a separate PR; it showed up at an earlier revision;
not the same cause or behavior.

I'm not sure, do you still need more information?


-- 

hp at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[4.4 Regression]:           |New failures:
                   |20_util/ratio/comparisons/co|20_util/ratio/comparisons/co
                   |mp2.cc et al                |mp2.cc et al


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37147


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug libstdc++/37147] New failures: 20_util/ratio/comparisons/comp2.cc et al
  2008-08-18 12:17 [Bug libstdc++/37147] New: [4.4 Regression]: 20_util/ratio/comparisons/comp2.cc et al hp at gcc dot gnu dot org
                   ` (3 preceding siblings ...)
  2008-08-18 14:06 ` [Bug libstdc++/37147] New failures: " hp at gcc dot gnu dot org
@ 2008-08-18 14:12 ` paolo dot carlini at oracle dot com
  2008-08-18 14:50 ` hp at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: paolo dot carlini at oracle dot com @ 2008-08-18 14:12 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from paolo dot carlini at oracle dot com  2008-08-18 14:11 -------
Thanks Hans-Peter, probably I don't need further information. I'm already
testing the fix. If you want, you can try to compile ** as a C++ program, this
is important ** the below. If my analysis is correct, should not compile,
meaning we can't really assume a C99-conforming <stdint.h> for your target:

#define __STDC_LIMIT_MACROS
#include <stdint.h>

int main()
{
  typedef intmax_t        my_intmax_t;
  my_intmax_t             im = INTMAX_MAX;
  im = INTMAX_MIN;
}


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37147


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug libstdc++/37147] New failures: 20_util/ratio/comparisons/comp2.cc et al
  2008-08-18 12:17 [Bug libstdc++/37147] New: [4.4 Regression]: 20_util/ratio/comparisons/comp2.cc et al hp at gcc dot gnu dot org
                   ` (4 preceding siblings ...)
  2008-08-18 14:12 ` paolo dot carlini at oracle dot com
@ 2008-08-18 14:50 ` hp at gcc dot gnu dot org
  2008-08-18 15:04 ` paolo at gcc dot gnu dot org
  2008-08-18 15:06 ` paolo dot carlini at oracle dot com
  7 siblings, 0 replies; 9+ messages in thread
From: hp at gcc dot gnu dot org @ 2008-08-18 14:50 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from hp at gcc dot gnu dot org  2008-08-18 14:49 -------
(In reply to comment #5)
> If you want, you can try to compile ** as a C++ program, this
> is important ** the below. If my analysis is correct, should not compile,
> meaning we can't really assume a C99-conforming <stdint.h> for your target:

Correct.  Cutnpasting compiler options from the feature tests in the libstdc++
testsuite, I get:

/n/slask/hp_tmp/c991.cxx: In function 'int main()':
/n/slask/hp_tmp/c991.cxx:7: error: 'INTMAX_MAX' was not declared in this scope
/n/slask/hp_tmp/c991.cxx:8: error: 'INTMAX_MIN' was not declared in this scope

thanks.


-- 

hp at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2008-08-18 14:49:11
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37147


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug libstdc++/37147] New failures: 20_util/ratio/comparisons/comp2.cc et al
  2008-08-18 12:17 [Bug libstdc++/37147] New: [4.4 Regression]: 20_util/ratio/comparisons/comp2.cc et al hp at gcc dot gnu dot org
                   ` (5 preceding siblings ...)
  2008-08-18 14:50 ` hp at gcc dot gnu dot org
@ 2008-08-18 15:04 ` paolo at gcc dot gnu dot org
  2008-08-18 15:06 ` paolo dot carlini at oracle dot com
  7 siblings, 0 replies; 9+ messages in thread
From: paolo at gcc dot gnu dot org @ 2008-08-18 15:04 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #7 from paolo at gcc dot gnu dot org  2008-08-18 15:03 -------
Subject: Bug 37147

Author: paolo
Date: Mon Aug 18 15:02:10 2008
New Revision: 139200

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=139200
Log:
2008-08-18  Paolo Carlini  <paolo.carlini@oracle.com>

        PR libstdc++/37147
        * acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Tighten checks on stdint.h,
        check the macros too.
        * configure: Regenerate.

Modified:
    trunk/libstdc++-v3/ChangeLog
    trunk/libstdc++-v3/acinclude.m4
    trunk/libstdc++-v3/configure


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37147


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug libstdc++/37147] New failures: 20_util/ratio/comparisons/comp2.cc et al
  2008-08-18 12:17 [Bug libstdc++/37147] New: [4.4 Regression]: 20_util/ratio/comparisons/comp2.cc et al hp at gcc dot gnu dot org
                   ` (6 preceding siblings ...)
  2008-08-18 15:04 ` paolo at gcc dot gnu dot org
@ 2008-08-18 15:06 ` paolo dot carlini at oracle dot com
  7 siblings, 0 replies; 9+ messages in thread
From: paolo dot carlini at oracle dot com @ 2008-08-18 15:06 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #8 from paolo dot carlini at oracle dot com  2008-08-18 15:05 -------
Fixed.


-- 

paolo dot carlini at oracle dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED
   Target Milestone|---                         |4.4.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37147


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2008-08-18 15:06 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-08-18 12:17 [Bug libstdc++/37147] New: [4.4 Regression]: 20_util/ratio/comparisons/comp2.cc et al hp at gcc dot gnu dot org
2008-08-18 13:04 ` [Bug libstdc++/37147] " paolo dot carlini at oracle dot com
2008-08-18 13:17 ` paolo dot carlini at oracle dot com
2008-08-18 13:24 ` paolo dot carlini at oracle dot com
2008-08-18 14:06 ` [Bug libstdc++/37147] New failures: " hp at gcc dot gnu dot org
2008-08-18 14:12 ` paolo dot carlini at oracle dot com
2008-08-18 14:50 ` hp at gcc dot gnu dot org
2008-08-18 15:04 ` paolo at gcc dot gnu dot org
2008-08-18 15:06 ` paolo dot carlini at oracle dot com

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).