https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104874

            Bug ID: 104874
           Summary: Non-compile test in string_vector_iterators.cc test
                    fails for the wrong reason.
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: minor
          Priority: P3
         Component: libstdc++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: brooks at gcc dot gnu.org
  Target Milestone: ---

The testsuite/24_iterators/random_access/string_vector_iterators.cc test
contains the following code blob, in every version since the test originated
with the initial libstdc++ checkin in April 2000, through to current HEAD:

 569 #ifdef ITER24_F8
 570    std::vector<const int> v(1);
 571    std::vector<const int>::reference r(v.begin()[0]);
 572    r = 1;                       // cannot assign through reference to
const
 573    failures++;
 574 #endif

This code actually fails to compile on the first line because the template
parameter of a std::container object cannot be const.

This indicates a stronger problem with these non-compile tests, which is that
they're not actually testing what we think they're testing.  (As far as I can
tell, they're not checked at all, and so should either be deleted or replaced
with proper dejagnu non-compile tests.)

Reply via email to