continue;
}
- /* Check for an ASM statement (which is allowed also on global level) */
+ /* Disallow ASM statements on global level */
if (CurTok.Tok == TOK_ASM) {
+ Error ("__asm__ is not allowed here");
+ /* Parse and remove the statement for error recovery */
AsmStatement ();
ConsumeSemi ();
+ RemoveGlobalCode ();
continue;
}
void FinishCompile (void)
-/* Emit literals, externals, do cleanup and optimizations */
+/* Emit literals, externals, debug info, do cleanup and optimizations */
{
SymTable* SymTab;
SymEntry* Func;
/* Output the literal pool */
OutputLiteralPool ();
+ /* Emit debug infos if enabled */
+ EmitDebugInfo ();
+
/* Write imported/exported symbols */
EmitExternals ();