added phase reinit data per irn
[libfirm] / ir / tr / mangle.h
index 8d9354d..892bdba 100644 (file)
@@ -1,23 +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.
+ */
 
 
-/* $Id$ */
+/**
+ * @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"
-
 
 
-void init_mangle (void);
+/** initializes the name mangling code */
+void   firm_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... seems to copy the string. */
-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_ */