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".