/* Does an intrinsic map directly to an external library call. */
int gfc_is_intrinsic_libcall (gfc_expr *);
-/* Used to call the elemental subroutines used in operator assignments. */
-tree gfc_conv_operator_assign (gfc_se *, gfc_se *, gfc_symbol *);
-
/* Used to call ordinary functions/subroutines
and procedure pointer components. */
int gfc_conv_procedure_call (gfc_se *, gfc_symbol *, gfc_actual_arglist *,
/* Restore the original variable. */
void gfc_restore_sym (gfc_symbol *, gfc_saved_var *);
+/* Setting a decl assembler name, mangling it according to target rules
+ (like Windows @NN decorations). */
+void gfc_set_decl_assembler_name (tree, tree);
+
/* Returns true if a variable of specified size should go on the stack. */
int gfc_can_put_var_on_stack (tree);
/* Build a function decl for a library function. */
tree gfc_build_library_function_decl (tree, tree, int, ...);
+/* Process the local variable decls of a block construct. */
+void gfc_process_block_locals (gfc_namespace*);
+
+/* Output initialization/clean-up code that was deferred. */
+tree gfc_trans_deferred_vars (gfc_symbol*, tree);
+
/* somewhere! */
tree pushdecl (tree);
tree pushdecl_top_level (tree);
extern GTY(()) tree gfor_fndecl_size0;
extern GTY(()) tree gfor_fndecl_size1;
extern GTY(()) tree gfor_fndecl_iargc;
+extern GTY(()) tree gfor_fndecl_clz128;
+extern GTY(()) tree gfor_fndecl_ctz128;
/* Implemented in Fortran. */
extern GTY(()) tree gfor_fndecl_sc_kind;
tree dtype;
tree dataptr_type;
tree span;
+ tree base_decl[2];
};
struct GTY(()) lang_decl {
#define GFC_TYPE_ARRAY_DATAPTR_TYPE(node) \
(TYPE_LANG_SPECIFIC(node)->dataptr_type)
#define GFC_TYPE_ARRAY_SPAN(node) (TYPE_LANG_SPECIFIC(node)->span)
+#define GFC_TYPE_ARRAY_BASE_DECL(node, internal) \
+ (TYPE_LANG_SPECIFIC(node)->base_decl[(internal)])
/* Build an expression with void type. */
#define build1_v(code, arg) fold_build1(code, void_type_node, arg)