static void gfc_be_parse_file (void) { gfc_create_decls (); gfc_parse_file (); gfc_generate_constructors (); /* Clear the binding level stack. */ while (!global_bindings_p ()) poplevel (0, 0); /* Finalize all of the globals. Emulated tls lowering needs to see all TLS variables before we call finalize_compilation_unit. The C/C++ front ends manage this by calling decl_rest_of_compilation on each global and static variable as they are seen. The Fortran front end waits until here. */ for (tree decl = getdecls (); decl ; decl = DECL_CHAIN (decl)) rest_of_decl_compilation (decl, true, true); /* Switch to the default tree diagnostics here, because there may be diagnostics before gfc_finish(). */ gfc_diagnostics_finish (); global_decl_processing (); }
static void gfc_be_parse_file (void) { int errors; int warnings; gfc_create_decls (); gfc_parse_file (); gfc_generate_constructors (); /* Tell the frontend about any errors. */ gfc_get_errors (&warnings, &errors); errorcount += errors; warningcount += warnings; /* Clear the binding level stack. */ while (!global_bindings_p ()) poplevel (0, 0); /* Switch to the default tree diagnostics here, because there may be diagnostics before gfc_finish(). */ gfc_diagnostics_finish (); }