made CondJmp and SwitchJmp pinned
[libfirm] / ir / tr / entity_t.h
index d043e61..e463430 100644 (file)
  */
 
 /*
- * Project:     libFIRM
- * File name:   ir/tr/entity_t.h
- * Purpose:     Representation of all program known entities -- private header.
- * Author:      Martin Trapp, Christian Schaefer
- * Modified by: Goetz Lindenmaier, Michael Beck
- * Created:
- * CVS-ID:      $Id$
- * Copyright:   (c) 1998-2007 Universität Karlsruhe
+ * @file     entity_t.h
+ * @brief   Representation of all program known entities -- private header.
+ * @author  Martin Trapp, Christian Schaefer, Goetz Lindenmaier, Michael Beck
+ * @version $Id$
  */
+#ifndef FIRM_TR_ENTITY_T_H
+#define FIRM_TR_ENTITY_T_H
 
-/**
- * @file entity_t.h
- *
- * entity.h:  entities represent all program known objects.
- *
- * @author Martin Trapp, Christian Schaefer, Goetz Lindenmaier
- *
- *  An entity is the representation of program known objects in Firm.
- *  The primary concept of entities is to represent members of complex
- *  types, i.e., fields and methods of classes.  As not all programming
- *  language model all variables and methods as members of some class,
- *  the concept of entities is extended to cover also local and global
- *  variables, and arbitrary procedures.
- *
- *  An entity always specifies the type of the object it represents and
- *  the type of the object it is a part of, the owner of the entity.
- *  Originally this is the type of the class of which the entity is a
- *  member.
- *  The owner of local variables is the procedure they are defined in.
- *  The owner of global variables and procedures visible in the whole
- *  program is a universally defined class type "GlobalType".  The owner
- *  of procedures defined in the scope of an other procedure is the
- *  enclosing procedure.
- */
-
-#ifndef _FIRM_TR_ENTITY_T_H_
-#define _FIRM_TR_ENTITY_T_H_
+#include <assert.h>
 
 #include "firm_common_t.h"
 #include "firm_config.h"
 
+#include "typerep.h"
 #include "type_t.h"
-#include "entity.h"
-#include "typegmod.h"
-#include "mangle.h"
+#include "ident.h"
 #include "pseudo_irg.h"
 
 /** A path in a compound graph. */
@@ -342,7 +313,9 @@ _get_entity_address_taken(const ir_entity *ent) {
 static INLINE void
 _set_entity_address_taken(ir_entity *ent, ir_address_taken_state state) {
        assert(ent && ent->kind == k_entity);
-       assert(ir_address_not_taken <= state && state <= ir_address_taken);
+       assert(state == ir_address_not_taken ||
+                       state == ir_address_taken_unknown ||
+                       state == ir_address_taken);
        ent->address_taken = state;
 }
 
@@ -467,4 +440,4 @@ _get_entity_repr_class(const ir_entity *ent) {
 #define get_entity_repr_class(ent)               _get_entity_repr_class(ent)
 
 
-#endif /* _FIRM_TR_ENTITY_T_H_ */
+#endif /* FIRM_TR_ENTITY_T_H */