testsuite for flating point module
[libfirm] / ir / common / firm.h
index 2bee0b1..ddfc44e 100644 (file)
@@ -1,13 +1,14 @@
 /* Copyright (C) 1998 - 2000 by Universitaet Karlsruhe
-** All rights reserved.
-**
-** Authors: Martin Trapp, Christian Schaefer, Goetz Lindenmaier.
-**
-** firm.h: Central FIRM header.
-**
-**
-**
-**
+* All rights reserved.
+*
+* Authors: Martin Trapp, Christian Schaefer, Goetz Lindenmaier.
+*/
+
+/**
+ @file firm.h
+
+    Central FIRM header.
+
     FIRM is a full graph based intermediate representation in SSA Form
     with a novel concept to model side effects.  It allows fast, aggressive
     optimizations.
@@ -50,7 +51,7 @@
 
      irgwalk: walker for ir graphs.
      irvrfy:  verify the correctness of a firm node.
-**
+*
 */
 
 /* $Id$ */
@@ -59,6 +60,7 @@
 # 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 */
@@ -80,6 +82,8 @@
 # include "irgmod.h"     /* Support to modify ir */
 # include "irgwalk.h"    /* Support to walk ir */
 # include "typewalk.h"   /* Support to walk type information */
+# include "typegmod.h"   /* Support to modify type graph */
+# include "mangle.h"     /* Support for mangling ident names. */
 
 /* @@@ temporarily for jni builder until preprocessor works.
    Then it should be sufficient to include <file.h> instead
    files. */
 # include "irdump.h"
 
-/* initialize firm */
-void init_firm (void);
+/**
+ * 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);
 
 # endif /* _FIRM_H_ */