fix
[libfirm] / ir / common / firm_common.h
index a459aa1..48fd852 100644 (file)
@@ -1,47 +1,48 @@
 /*
- * Project:     libFIRM
- * File name:   ir/common/firm_common.c
- * Purpose:     Stuff common to all firm modules.
- * 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_common.h
+ * Copyright (C) 1995-2007 University of Karlsruhe.  All right reserved.
  *
- * common firm declarations
+ * This file is part of libFirm.
  *
- * @author Martin Trapp, Christian Schaefer & Goetz Lindenmaier
+ * This file may be distributed and/or modified under the terms of the
+ * GNU General Public License version 2 as published by the Free Software
+ * Foundation and appearing in the file LICENSE.GPL included in the
+ * packaging of this file.
+ *
+ * Licensees holding valid libFirm Professional Edition licenses may use
+ * this file in accordance with the libFirm Commercial License.
+ * Agreement provided with the Software.
+ *
+ * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+ * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE.
  */
 
-# ifndef _FIRM_COMMON_H_
-# define _FIRM_COMMON_H_
-
-#ifndef INLINE
-#ifdef USE_GCC_INLINE
-#define INLINE inline
-#else
-#define INLINE
-#endif
-#endif
+/**
+ * @file
+ * @brief    common firm declarations
+ * @author   Martin Trapp, Christian Schaefer, Goetz Lindenmaier
+ * @version  $Id$
+ */
+#ifndef FIRM_COMMON_FIRM_COMMON_H
+#define FIRM_COMMON_FIRM_COMMON_H
 
 /** a list of firm kinds
  @@@ not all datatypes are tagged yet. */
 typedef enum {
-  k_entity,     /**< an entity */
-  k_type,       /**< a type */
-  k_ir_graph,   /**< an ir graph */
-  k_ir_node,    /**< an ir node */
-  k_ir_mode,    /**< an ir mode */
-  k_ir_op,      /**< an ir opcode */
-  k_tarval,     /**< a tarval */
-  k_ir_loop,    /**< a loop */
-  k_ir_compound_graph_path, /**< a compound graph path, see entity.h */
-  k_ir_max      /**< maximum value -- illegal for firm nodes. */
+       k_BAD = 0,                /**< An invalid firm node. */
+       k_entity,                 /**< An entity. */
+       k_type,                   /**< A type. */
+       k_ir_graph,               /**< An IR graph. */
+       k_ir_node,                /**< An IR node. */
+       k_ir_mode,                /**< An IR mode. */
+       k_ir_op,                  /**< An IR opcode. */
+       k_tarval,                 /**< A tarval. */
+       k_ir_loop,                /**< A loop. */
+       k_ir_compound_graph_path, /**< A compound graph path, see entity.h. */
+       k_ir_extblk,              /**< An extended basic block. */
+       k_ir_prog,                /**< A program representation (irp). */
+       k_ir_region,              /**< A region. */
+       k_ir_max                  /**< maximum value -- illegal for firm nodes. */
 } firm_kind;
 
 /**
@@ -52,6 +53,9 @@ typedef enum {
 firm_kind get_kind(const void *firm_thing);
 
 /** Returns the kind of a thing as a string. */
-const char* print_firm_kind(void *firm_thing);
+const char *print_firm_kind(void *firm_thing);
+
+/** Print an identification of a firm thing. */
+void firm_identify_thing(void *X);
 
-# endif /*_FIRM_COMMON_H_ */
+#endif