]> git.sur5r.net Git - cc65/blobdiff - src/cc65/funcdesc.h
Fixed two compiler warnings.
[cc65] / src / cc65 / funcdesc.h
index fddab0674effee561f8dd7f1a0745c184c61fa2f..7186c3ee88fbdec7a99d5dfe1857a50a6b162d34 100644 (file)
@@ -6,10 +6,10 @@
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
-/* (C) 2000     Ullrich von Bassewitz                                        */
-/*              Wacholderweg 14                                              */
-/*              D-70597 Stuttgart                                            */
-/* EMail:       uz@musoftware.de                                             */
+/* (C) 2000-2008 Ullrich von Bassewitz                                       */
+/*               Roemerstrasse 52                                            */
+/*               D-70794 Filderstadt                                         */
+/* EMail:        uz@cc65.org                                                 */
 /*                                                                           */
 /*                                                                           */
 /* This software is provided 'as-is', without any expressed or implied       */
 
 
 /* Masks for the Flags field in FuncDesc */
-#define FD_IMPLICIT            0x0001U /* Implicitly declared function  */
-#define FD_EMPTY               0x0002U /* Function with empty param list */
-#define FD_VOID_PARAM          0x0004U /* Function with a void param list */
-#define FD_ELLIPSIS            0x0008U /* Function with variable param list */
-#define FD_FASTCALL            0x0010U /* __fastcall__ function */
+#define FD_NONE                        0x0000U /* No flags                          */
+#define FD_EMPTY                       0x0001U /* Function with empty param list    */
+#define FD_VOID_PARAM          0x0002U /* Function with a void param list   */
+#define FD_VARIADIC            0x0004U /* Function with variable param list */
+#define FD_OLDSTYLE                    0x0010U /* Old style (K&R) function          */
+#define FD_OLDSTYLE_INTRET     0x0020U /* K&R func has implicit int return  */
+#define FD_UNNAMED_PARAMS              0x0040U /* Function has unnamed params       */
+
+/* Bits that must be ignored when comparing funcs */
+#define FD_IGNORE       (FD_OLDSTYLE | FD_OLDSTYLE_INTRET | FD_UNNAMED_PARAMS)
+
+
 
 /* Function descriptor */
 typedef struct FuncDesc FuncDesc;
 struct FuncDesc {
-    unsigned           Flags;          /* Bitmapped flags FD_... */
-    struct SymTable*   SymTab;         /* Symbol table */
-    struct SymTable*   StructTab;      /* Struct table */
-    struct SymTable*   EnumTab;        /* Enum table */
-    unsigned           ParamCount;     /* Number of parameters */
-    unsigned           ParamSize;      /* Size of the parameters */
+    unsigned           Flags;          /* Bitmapped flags FD_...            */
+    struct SymTable*   SymTab;         /* Symbol table                      */
+    struct SymTable*           TagTab;         /* Symbol table for structs/enums    */
+    unsigned           ParamCount;     /* Number of parameters              */
+    unsigned           ParamSize;      /* Size of the parameters            */
+    struct SymEntry*   LastParam;      /* Pointer to last parameter         */
 };
 
 
@@ -73,7 +80,7 @@ struct FuncDesc {
 FuncDesc* NewFuncDesc (void);
 /* Create a new symbol table with the given name */
 
-void FreeFuncDesc (FuncDesc* E);
+void FreeFuncDesc (FuncDesc* D);
 /* Free a function descriptor */