I am using gcc 13.2 on Fedora 38. Consider the following program. #include <stdio.h> int main(int argc, char **argv) { printf("Enter a number: "); int num = 0; scanf("%d", &num);
switch (num) { case 1: int a = num + 3; printf("The new number is %d.\n", a); break; case 2: int b = num - 4; printf("The new number is %d.\n", b); break; default: int c = num * 3; printf("The new number is %d.\n", c); break; } } I would expect that gcc would complain about the declaration of variables (a, b, and c) within the case statements. When I run "gcc -Wall t.c" I get no warnings. When I run "g++ -Wall t.c" I get warnings and errors as expected. I do get warnings when using MinGW on Windows (gcc version 6.3 specifically). Did something change in 13.2? Eric