westfw:
Your new syntax isn't valid in C code...
And the old form is avr-libc "standard", extending well beyond Arduino.
It is C++, not C macros.
And it does not use any gcc specific attributes making it far more portable.
From avr-libc for the ATOMIC_BLOCK macros.
Note:
The macros in this header file require the ISO/IEC 9899:1999 ("ISO C99") feature of for loop variables that are declared inside the for loop itself. For that reason, this header file can only be used if the standard level of the compiler (option --std=) is set to either c99 or gnu99.