added phase reinit data per irn
[libfirm] / ir / tr / mangle.h
index 38a507e..892bdba 100644 (file)
@@ -1,21 +1,47 @@
-/* Copyright (C) 1998 - 2000 by Universitaet Karlsruhe
-** All rights reserved.
-**
-** Authors: Martin Trapp, Christian Schaefer
-**
-*/
+/*
+ * Project:     libFIRM
+ * File name:   ir/tr/mangle.h
+ * Purpose:     Methods to manipulate names.
+ * 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 mangle.h
+ *
+ * FIRM name mangling -- methods to manipulate names.
+ *
+ * @author Martin Trapp, Christian Schaefer
+ */
+
+#ifndef _MANGLE_H_
+#define _MANGLE_H_
 
 # include "ident.h"
 # include "entity.h"
 
 # include "ident.h"
 # include "entity.h"
-# include "type.h"
 
 
+/** initializes the name mangling code */
+void   firm_init_mangle (void);
 
 
-void init_mangle (void);
-
-/* Computes a definite name for this entity by concatenating
+/** Computes a definite name for this entity by concatenating
    the name of the owner type and the name of the entity with
    the name of the owner type and the name of the entity with
-   a separating "_". f*/
+   a separating "_". */
 ident *mangle_entity (entity *ent);
 
 ident *mangle_entity (entity *ent);
 
-/* Sorry, I'm not sure what this does... */
-ident *mangle_type   (type *type);
+/** mangle underscore: Returns a new ident that represents first_scnd. */
+ident *mangle_u (ident *first, ident* scnd);
+
+/** mangle dot: Returns a new ident that represents first.scnd. */
+ident *mangle_dot (ident *first, ident* scnd);
+
+/** mangle: Returns a new ident that represents firstscnd. */
+ident *mangle   (ident *first, ident* scnd);
+
+/** returns a mangled name for a Win32 function using it's calling convention */
+ident *decorate_win32_c_fkt(entity *ent);
+
+#endif /* _MANGLE_H_ */