]> git.sur5r.net Git - cc65/blobdiff - src/cc65/funcdesc.h
Removed (pretty inconsistently used) tab chars from source code base.
[cc65] / src / cc65 / funcdesc.h
index c18eb546c60215d8521a1ab74fb909aa802866b2..7232bca1d24b0e20a1212edc47734491a548bcaf 100644 (file)
@@ -1,15 +1,15 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                               funcdesc.h                                 */
+/*                                funcdesc.h                                 */
 /*                                                                           */
-/*          Function descriptor structure for the cc65 C compiler           */
+/*           Function descriptor structure for the cc65 C compiler           */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
-/* (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       */
 
 
 /*****************************************************************************/
-/*                             struct FuncDesc                              */
+/*                              struct FuncDesc                              */
 /*****************************************************************************/
 
 
 
 /* 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_OLDSTYLE            0x0020U /* Old style (K&R) function          */
-#define FD_UNNAMED_PARAMS      0x0040U /* Function has unnamed params       */
+#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_IMPLICIT | FD_UNNAMED_PARAMS)
+#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*           TagTab;         /* Symbol table for structs/enums    */
-    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         */
 };
 
 
 
 /*****************************************************************************/
-/*                                  Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -79,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 */