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

            Bug ID: 116864
           Summary: "*<unknown>" and "......" in false positive
                    -Wanalyzer-use-of-uninitialized-value
           Product: gcc
           Version: 14.2.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: analyzer
          Assignee: dmalcolm at gcc dot gnu.org
          Reporter: eggert at cs dot ucla.edu
  Target Milestone: ---

Created attachment 59213
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=59213&action=edit
gunzip and compile with "gcc -O2 -S -fanalyzer" on x86-64 to see the bug

Normally coreutils isn't compiled with -fanalyzer, but I recently tried it (by
using './configure --enable-gcc-warnings=expensive') and quickly gave up
because there were too many false positives.

I'm reporting the first false positive. At least I *think* it's a false
positive: the diagnostic is so puzzling and gives so few details that it's hard
to see what GCC is complaining about.

This is gcc (GCC) 14.2.1 20240912 (Red Hat 14.2.1-3) on x86-64. Decompress and
compile the attached file t.i.gz with:

gunzip t.i.gz
gcc -O2 -S -fanalyzer t.i

GCC outputs the following, which I can't decipher, as all the details are
listed as "*<unknown>" or "......".

parse-datetime.c: In function ‘yyparse’:
parse-datetime.c:1820:9: warning: use of uninitialized value ‘*<unknown>’
[CWE-457] [-Wanalyzer-use-of-uninitialized-value]
  ‘parse_datetime’: events 1-2
    |
    |parse-datetime.y:2395:1:
    |......
    |
  ‘parse_datetime’: events 3-4
    |
    |parse-datetime.y:2402:12:
    |
    +--> ‘parse_datetime_body’: event 5
           |
           |parse-datetime.y:1739:1:
           |
         ‘parse_datetime_body’: events 6-8
           |
           |parse-datetime.y:1821:6:
           |......
           |......
           |
         ‘parse_datetime_body’: event 9
           |
           |parse-datetime.y:1841:18:
           |
         ‘parse_datetime_body’: event 10
           |
           |parse-datetime.y:1870:3:
           |
           +--> ‘populate_local_time_zone_table’: event 11
                  |
                  |parse-datetime.y:1577:1:
                  |
                ‘populate_local_time_zone_table’: events 12-13
                  |
                  |parse-datetime.y:1590:6:
                  |......
                  |
           <------+
           |
         ‘parse_datetime_body’: events 14-15
           |
           |parse-datetime.y:1870:3:
           |......
           |
         ‘parse_datetime_body’: event 16
           |
           |parse-datetime.y:1877:19:
           |
         ‘parse_datetime_body’: event 17
           |
           |parse-datetime.y:1902:7:
           |
           +--> ‘yyparse’: events 18-20
                  |
                  |parse-datetime.c:1572:1:
                  |......
                  |......
                  |
                ‘yyparse’: events 21-28
                  |
                  |parse-datetime.c:1715:6:
                  |......
                  |......
                  |......
                  |......
                  |
                  +--> ‘yylex’: event 29
                         |
                         |parse-datetime.y:1416:1:
                         |
                       ‘yylex’: event 30
                         |
                         |parse-datetime.y:1518:16:
                         |
                         +--> ‘lookup_word’: event 31
                                |
                                |parse-datetime.y:1348:1:
                                |
                              ‘lookup_word’: events 32-34
                                |
                                |parse-datetime.y:1361:29:
                                |
                              ‘lookup_word’: event 35
                                |
                                |cc1:
                                | (35): ...to here
                                |
                         <------+
                         |
                       ‘yylex’: events 36-37
                         |
                         |parse-datetime.y:1518:16:
                         |
                       ‘yylex’: event 38
                         |
                         |parse-datetime.y:1525:29:
                         |
                  <------+
                  |
                ‘yyparse’: events 39-49
                  |
                  |parse-datetime.c:1739:16:
                  |......
                  |......
                  |......
                  |......
                  |
                ‘yyparse’: events 50-51
                  |
                  |parse-datetime.c:1800:6:
                  |
                ‘yyparse’: event 52
                  |
                  |parse-datetime.c:1820:9:
                  |

Reply via email to