[kernel] Conflicting types error for enum & typedef enum
I have encountered a problem that leads to an error when parsing. This occurs when an enum is defined multiple times as shown below. The expectation would be that it works as with the struct shown: - forward declaration of struct/enum - introducing an alias via typedef - both in one ```C // test.c // works struct my_struct; typedef struct my_struct my_struct; typedef struct my_struct { int val; } my_struct; // fails enum my_enum; typedef enum my_enum my_enum; typedef enum my_enum { VAL } my_enum; ``` ### Steps to reproduce the issue Parse source file: ``` frama-c test.c ``` ### Expected behaviour Output: ``` [kernel] Parsing test.c ``` ### Actual behaviour Output: ``` [kernel] Parsing test.c [kernel] test.c:14: User Error: redefinition of type 'my_enum' in the same scope with conflicting type. Previous declaration was at test.c:10 [kernel] User Error: stopping on file "test.c" that has errors. [kernel] Frama-C aborted: invalid user input. ``` ### Contextual information - Frama-C installation mode: Opam - Frama-C version: 27.0 (Cobalt) - OS: Ubuntu 22.04.2 LTS (WSL)
issue