In such cases, I can often help myself if I “encapsulate” the piece of source code in a “{ … }” pair (so, I create a tiny unnamed macro). Unfortunately, this often breaks, too.
There is a nasty unsolved problem with “unnamed macros”, known since 11 years ago: “Return from an unnamed macro in ROOT 6 broken
”
Maybe when you finally fix this problem, also the artificial “;
” will not be needed anymore.