inlinening of functions
[libfirm] / ir / tr / mangle.h
1 /*
2  * Project:     libFIRM
3  * File name:   ir/tr/mangle.h
4  * Purpose:     Methods to manipulate names.
5  * Author:      Martin Trapp, Christian Schaefer
6  * Modified by: Goetz Lindenmaier
7  * Created:
8  * CVS-ID:      $Id$
9  * Copyright:   (c) 1998-2003 Universität Karlsruhe
10  * Licence:     This file protected by GPL -  GNU GENERAL PUBLIC LICENSE.
11  */
12
13 /**
14 * @file mangle.h
15 *
16 * FIRM name mangling -- methods to manipulate names.
17 *
18 * @author Martin Trapp, Christian Schaefer
19 */
20
21 #ifndef _MANGLE_H_
22 #define _MANGLE_H_
23
24 # include "ident.h"
25 # include "entity.h"
26 # include "type.h"
27
28 /** initializes the name mangling code */
29 void   init_mangle (void);
30
31 /** Computes a definite name for this entity by concatenating
32    the name of the owner type and the name of the entity with
33    a separating "_". */
34 ident *mangle_entity (entity *ent);
35
36 /** mangle underscore: Returns a new ident that represents first_scnd. */
37 ident *mangle_u (ident *first, ident* scnd);
38
39 /** mangle: Returns a new ident that represents firstscnd. */
40 ident *mangle (ident *first, ident* scnd);
41
42 #endif /* _MANGLE_H_ */