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

            Bug ID: 111475
           Summary: Many C++ analyzer tests FAIL
           Product: gcc
           Version: 14.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: analyzer
          Assignee: dmalcolm at gcc dot gnu.org
          Reporter: ro at gcc dot gnu.org
                CC: vultkayn at gcc dot gnu.org
  Target Milestone: ---
            Target: *-*-solaris2.11

Between 20230908 (f9cb357ae962ba2922b8507f4d96227780a063b9) and 20230911
(88a0a883960910530bfefa750461168f539f4a00), man (ca.350 per multilib) analyzer
tests FAIL on Solaris (both 32 and 64-bit, SPARC and x86).  There may be a
common pattern (I've only looked at one example):

FAIL: c-c++-common/analyzer/allocation-size-1.c  -std=c++14  (test for
warnings, line 33)
FAIL: c-c++-common/analyzer/allocation-size-1.c  -std=c++14 note (test for
warnings, line 65)
FAIL: c-c++-common/analyzer/allocation-size-1.c  -std=c++14 note at line 21
(test for warnings, line 15)

Comparing the full output on Solaris

/vol/gcc/src/hg/master/local/gcc/testsuite/c-c++-common/analyzer/allocation-size-1.c:
In function 'void test_2()':
/vol/gcc/src/hg/master/local/gcc/testsuite/c-c++-common/analyzer/allocation-size-1.c:15:37:
warning: allocated buffer size is not a multiple of the pointee's size
[CWE-131] [-Wanalyzer-allocation-size]
/vol/gcc/src/hg/master/local/gcc/testsuite/c-c++-common/analyzer/allocation-size-1.c:15:37:
note: (1) allocated 42 bytes and assigned to 'int32_t*' {aka 'int*'} here;
'sizeof (int32_t {aka int})' is '4'
/vol/gcc/src/hg/master/local/gcc/testsuite/c-c++-common/analyzer/allocation-size-1.c:
In function 'void test_4()':
/vol/gcc/src/hg/master/local/gcc/testsuite/c-c++-common/analyzer/allocation-size-1.c:34:12:
warning: allocated buffer size is not a multiple of the pointee's size
[CWE-131] [-Wanalyzer-allocation-size]
/vol/gcc/src/hg/master/local/gcc/testsuite/c-c++-common/analyzer/allocation-size-1.c:34:12:
note: (1) allocated 42 bytes and assigned to 'int32_t*' {aka 'int*'} here;
'sizeof (int32_t {aka int})' is '4'
/vol/gcc/src/hg/master/local/gcc/testsuite/c-c++-common/analyzer/allocation-size-1.c:
In function 'void test_6()':
/vol/gcc/src/hg/master/local/gcc/testsuite/c-c++-common/analyzer/allocation-size-1.c:68:12:
warning: allocated buffer size is not a multiple of the pointee's size
[CWE-131] [-Wanalyzer-allocation-size]
/vol/gcc/src/hg/master/local/gcc/testsuite/c-c++-common/analyzer/allocation-size-1.c:68:12:
note: (1) allocated and assigned to 'int32_t*' {aka 'int*'} here; 'sizeof
(int32_t {aka int})' is '4'
/vol/gcc/src/hg/master/local/gcc/testsuite/c-c++-common/analyzer/allocation-size-1.c:
In function 'void test_11()':
/vol/gcc/src/hg/master/local/gcc/testsuite/c-c++-common/analyzer/allocation-size-1.c:125:37:
warning: allocated buffer size is not a multiple of the pointee's size
[CWE-131] [-Wanalyzer-allocation-size]
/vol/gcc/src/hg/master/local/gcc/testsuite/c-c++-common/analyzer/allocation-size-1.c:125:37:
note: (1) allocated 3 bytes and assigned to 'int32_t*' {aka 'int*'} here;
'sizeof (int32_t {aka int})' is '4'

and Linux

/vol/gcc/src/hg/master/local/gcc/testsuite/c-c++-common/analyzer/allocation-size-1.c:
In function 'void test_2()':
/vol/gcc/src/hg/master/local/gcc/testsuite/c-c++-common/analyzer/allocation-size-1.c:15:37:
warning: allocated buffer size is not a multiple of the pointee's size
[CWE-131] [-Wanalyzer-allocation-size]
/vol/gcc/src/hg/master/local/gcc/testsuite/c-c++-common/analyzer/allocation-size-1.c:15:37:
note: (1) allocated 42 bytes here
/vol/gcc/src/hg/master/local/gcc/testsuite/c-c++-common/analyzer/allocation-size-1.c:15:37:
note: (2) assigned to 'int32_t*' {aka 'int*'} here; 'sizeof (int32_t {aka
int})' is '4'
/vol/gcc/src/hg/master/local/gcc/testsuite/c-c++-common/analyzer/allocation-size-1.c:
In function 'void test_4()':
/vol/gcc/src/hg/master/local/gcc/testsuite/c-c++-common/analyzer/allocation-size-1.c:34:12:
warning: allocated buffer size is not a multiple of the pointee's size
[CWE-131] [-Wanalyzer-allocation-size]
/vol/gcc/src/hg/master/local/gcc/testsuite/c-c++-common/analyzer/allocation-size-1.c:33:22:
note: (1) allocated 42 bytes here
/vol/gcc/src/hg/master/local/gcc/testsuite/c-c++-common/analyzer/allocation-size-1.c:34:12:
note: (2) assigned to 'int32_t*' {aka 'int*'} here; 'sizeof (int32_t {aka
int})' is '4'
/vol/gcc/src/hg/master/local/gcc/testsuite/c-c++-common/analyzer/allocation-size-1.c:
In function 'void test_6()':
/vol/gcc/src/hg/master/local/gcc/testsuite/c-c++-common/analyzer/allocation-size-1.c:68:12:
warning: allocated buffer size is not a multiple of the pointee's size
[CWE-131] [-Wanalyzer-allocation-size]
/vol/gcc/src/hg/master/local/gcc/testsuite/c-c++-common/analyzer/allocation-size-1.c:65:22:
note: (1) allocated here
/vol/gcc/src/hg/master/local/gcc/testsuite/c-c++-common/analyzer/allocation-size-1.c:68:12:
note: (2) assigned to 'int32_t*' {aka 'int*'} here; 'sizeof (int32_t {aka
int})' is '4'
/vol/gcc/src/hg/master/local/gcc/testsuite/c-c++-common/analyzer/allocation-size-1.c:
In function 'void test_11()':
/vol/gcc/src/hg/master/local/gcc/testsuite/c-c++-common/analyzer/allocation-size-1.c:125:37:
warning: allocated buffer size is not a multiple of the pointee's size
[CWE-131] [-Wanalyzer-allocation-size]
/vol/gcc/src/hg/master/local/gcc/testsuite/c-c++-common/analyzer/allocation-size-1.c:125:37:
note: (1) allocated 3 bytes here
/vol/gcc/src/hg/master/local/gcc/testsuite/c-c++-common/analyzer/allocation-size-1.c:125:37:
note: (2) assigned to 'int32_t*' {aka 'int*'} here; 'sizeof (int32_t {aka
int})' is '4'

ISTM that the primary difference is here:

/vol/gcc/src/hg/master/local/gcc/testsuite/c-c++-common/analyzer/allocation-size-1.c:15:37:
note: (1) allocated 42 bytes and assigned to 'int32_t*' {aka 'int*'} here;
'sizeof (int32_t {aka int})' is '4'

vs.

/vol/gcc/src/hg/master/local/gcc/testsuite/c-c++-common/analyzer/allocation-size-1.c:15:37:
note: (1) allocated 42 bytes here
/vol/gcc/src/hg/master/local/gcc/testsuite/c-c++-common/analyzer/allocation-size-1.c:15:37:
note: (2) assigned to 'int32_t*' {aka 'int*'} here; 'sizeof (int32_t {aka
int})' is '4'

i.e. the wording of the note, where the testsuite doesn't cater to the first
form.

This creates an incredible amount of noise, unfortunately.

Reply via email to