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

            Bug ID: 90812
           Summary: Tests misuse "dg-require-effective-target int32plus"
                    to check for 64-bit integer support
           Product: gcc
           Version: 9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: testsuite
          Assignee: unassigned at gcc dot gnu.org
          Reporter: jozefl.gcc at gmail dot com
  Target Milestone: ---

Some tests which require 64-bit integer support via __INT64_TYPE__ use the
int32plus effective target keyword, apparently to try to check that this type
is supported.

However, int32plus only checks that "sizeof (int) >= 4", whilst some targets
have "sizeof(int) < 4", but still support __INT64_TYPE__.

The result of this is that some of these tests for 64-bit int behavior are not
run on 8-bit/16-bit int targets.

I identified at least gcc.dg/pr80131-1.c and gcc.dg/torture/pr86554-2.c to have
this problem. If I replace the "int32plus" requirement with "stdint_types",
then these tests pass on msp430-elf, which has "sizeof(int) == 2".

Reply via email to