https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89585
Bug ID: 89585
Summary: GCC 8.3: asm volatile no longer accepted at file scope
Product: gcc
Version: 8.3.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: harald at gigawatt dot nl
Target Milestone: ---
From GCC 3.4 to 8.2, GCC would accept
asm volatile("");
at file scope in C++ mode, though not in C mode. This no longer works in GCC
8.3, in either mode. It now results in
test.cc:1:5: error: expected ‘(’ before ‘volatile’
asm volatile("");
^~~~~~~~
(
test.cc:1:14: error: expected unqualified-id before string constant
asm volatile("");
^~
test.cc:1:14: error: expected ‘)’ before string constant
asm volatile("");
~^~
)
This may have been useless (as covered by -Wasm-ignored-qualifier), but making
it a hard error breaks the compilation of existing projects after upgrading
from GCC 8.2 to 8.3.