MSVC's pragma alloc_text accepts a function that was redeclared in
a non extern-C context if the previous declaration was in an extern-C
context. i.e.
extern "C" { static void f(); }
static void f();MSVC's pragma alloc_text also rejects non-functions.
Since the pragma only applies to functions, maybe we should error here if the decl is not a FunctionDecl?