+2012-01-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ Backport from mainline
+ 2012-01-06 Arnaud Charlet <charlet@adacore.com>
+
+ * c-decl.c (ext_block): Moved up.
+ (collect_all_refs, for_each_global_decl): Take ext_block into account.
+
2012-01-06 Richard Sandiford <richard.sandiford@linaro.org>
PR middle-end/48660
collect_source_ref (LOCATION_FILE (decl_sloc (decl, false)));
}
+/* Preserve the external declarations scope across a garbage collect. */
+static GTY(()) tree ext_block;
+
/* Collect all references relevant to SOURCE_FILE. */
static void
FOR_EACH_VEC_ELT (tree, all_translation_units, i, t)
collect_ada_nodes (BLOCK_VARS (DECL_INITIAL (t)), source_file);
+
+ collect_ada_nodes (BLOCK_VARS (ext_block), source_file);
}
/* Iterate over all global declarations and call CALLBACK. */
for (decl = BLOCK_VARS (decls); decl; decl = TREE_CHAIN (decl))
callback (decl);
}
-}
-/* Preserve the external declarations scope across a garbage collect. */
-static GTY(()) tree ext_block;
+ for (decl = BLOCK_VARS (ext_block); decl; decl = TREE_CHAIN (decl))
+ callback (decl);
+}
void
c_write_global_declarations (void)