-/* Copyright (C) 1998 - 2000 by Universitaet Karlsruhe
-* All rights reserved.
-*
-* Authors: Martin Trapp, Christian Schaefer, Goetz Lindenmaier.
-*/
+/*
+ * Project: libFIRM
+ * File name: ir/common/firm.h
+ * Purpose: Central firm header.
+ * Author: Martin Trapp, Christian Schaefer
+ * Modified by: Goetz Lindenmaier
+ * Created:
+ * CVS-ID: $Id$
+ * Copyright: (c) 1998-2003 Universität Karlsruhe
+ * Licence: This file protected by GPL - GNU GENERAL PUBLIC LICENSE.
+ */
/**
@file firm.h
+ This documentation no more maintained since 2001!!!
+
Central FIRM header.
FIRM is a full graph based intermediate representation in SSA Form
*
*/
-/* $Id$ */
-
# ifndef _FIRM_H_
# define _FIRM_H_
/* The representations */
+# include "firm_common.h"/* common type tags. */
# include "irprog.h" /* control flow and data of a program */
# include "type.h" /* type representation */
# include "entity.h" /* entity representation */
of firm.h as not all enums are needed in the impelmentation
files. */
# include "irdump.h"
+# include "irvrfy.h"
/**
* Initialize the firm library.
+ *
+ * @param func This function is called, whenever a local variable is used before definition
+ *
+ * The parameter func may be NULL. In that case, the old FIRM behavior is conserved.
+ *
+ * @see default_initialize_local_variable_func_t
+ */
+void init_firm (default_initialize_local_variable_func_t *func);
+
+/**
+ * Frees all memory occupied by the firm library.
*/
-void init_firm (void);
+void free_firm (void);
# endif /* _FIRM_H_ */