+/*
+ * Copyright (C) 1995-2007 University of Karlsruhe. All right reserved.
+ *
+ * This file is part of libFirm.
+ *
+ * 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.
+ */
+
/*
* Project: libFIRM
* File name: ir/tr/entity.h
* Created:
* CVS-ID: $Id$
* Copyright: (c) 1998-2006 Universität Karlsruhe
- * Licence: This file protected by GPL - GNU GENERAL PUBLIC LICENSE.
*/
/**
- * @file entity.h
- *
- * Entities represent all program known objects.
- *
- * @author Martin Trapp, Christian Schaefer
- * @author Goetz Lindenmaier
+ * @file entity.h
+ * @brief Representation of all program known entities.
+ * @author Martin Trapp, Christian Schaefer, Goetz Lindenmaier, Michael Beck
+ * @version $Id$
+ * @summary
*
* An entity is the representation of program known objects in Firm.
* The primary concept of entities is to represent members of complex
*
* @link ir_entity
*/
-#ifndef _FIRM_TR_ENTITY_H_
-#define _FIRM_TR_ENTITY_H_
+#ifndef FIRM_TR_ENTITY_H
+#define FIRM_TR_ENTITY_H
#include "firm_types.h"
#include "dbginfo.h"
/** Sets/resets the state of the address taken flag of an entity. */
void set_entity_address_taken(ir_entity *ent, ir_address_taken_state flag);
+/** Return the name of the address_taken state. */
+const char *get_address_taken_state_name(ir_address_taken_state state);
+
/* -- Representation of constant values of entities -- */
/**
* Returns true if the the node is representable as code on
*/
int get_compound_ent_value_offset_bytes(ir_entity *ent, int pos);
-/** Compute the array indices in compound graph paths of initialized entities.
- *
- * All arrays must have fixed lower and upper bounds. One array can
- * have an open upper bound. If there are several open bounds, we do
- * nothing. There must be initializer elements for all array
- * elements. Uses the link field in the array element entities. The
- * array bounds must be representable as integers.
- *
- * @param ent Any entity.
- * @return 0 in case of an error, 1 otherwise
- */
-int compute_compound_ent_array_indices(ir_entity *ent);
-
/* --- Fields of entities with a class type as owner --- */
/* Overwrites is a field that specifies that an access to the overwritten
entity in the supertype must use this entity. It's a list as with
/** Sets the section of a method. */
void set_method_img_section(ir_entity *method, ir_img_section section);
-#endif /* _FIRM_TR_ENTITY_H_ */
+#endif /* FIRM_TR_ENTITY_H */