]> git.sur5r.net Git - cc65/commitdiff
Renamed attribute handling functions. Added SymHasAttr().
authoruz <uz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Mon, 19 Oct 2009 10:19:26 +0000 (10:19 +0000)
committeruz <uz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Mon, 19 Oct 2009 10:19:26 +0000 (10:19 +0000)
git-svn-id: svn://svn.cc65.org/cc65/trunk@4375 b7a2c559-68d2-44c3-8de9-860c34a00d81

src/cc65/compile.c
src/cc65/declare.c
src/cc65/expr.c
src/cc65/symentry.c
src/cc65/symentry.h
src/cc65/symtab.c

index 7144edb814913b4004de26811f79ca7bf7e3a3b7..3dd7bffa43a8e84aff4a73c8c35567ba52eebdb5 100644 (file)
@@ -170,7 +170,7 @@ static void Parse (void)
            Entry = AddGlobalSym (Decl.Ident, Decl.Type, Decl.StorageClass);
 
             /* Add declaration attributes */
-            SymUseAttributes (Entry, &Decl);
+            SymUseAttr (Entry, &Decl);
 
            /* Reserve storage for the variable if we need to */
                    if (Decl.StorageClass & SC_STORAGE) {
index 0748aa5cb915e143e9e1d23effdd7d486acc7c67..1e0b610edb200d1eb1746e4507262effd3f2993f 100644 (file)
@@ -1169,7 +1169,7 @@ static void ParseAnsiParamList (FuncDesc* F)
         Sym = AddLocalSym (Decl.Ident, ParamTypeCvt (Decl.Type), Decl.StorageClass, 0);
 
         /* Add attributes if we have any */
-        SymUseAttributes (Sym, &Decl);
+        SymUseAttr (Sym, &Decl);
 
         /* If the parameter is a struct or union, emit a warning */
         if (IsClassStruct (Decl.Type)) {
index 8b5069b34739cff38e7771698e9e6c3f0d8f80b8..27a8469a58374a750adef8e5718fd32d0d8292b3 100644 (file)
@@ -487,7 +487,7 @@ static void FunctionCall (ExprDesc* Expr)
 
     } else {
         /* Check function attributes */
-        if (Expr->Sym && SymGetAttribute (Expr->Sym, atNoReturn)) {
+        if (Expr->Sym && SymHasAttr (Expr->Sym, atNoReturn)) {
             /* For now, handle as if a return statement was encountered */
             F_ReturnFound (CurrentFunc);
         }
index 6ad4a5cfcb051a389ee831f4ef4d008986fa080e..aedf2652e0899fe744d387f30c24bdee05bb2053 100644 (file)
@@ -153,7 +153,7 @@ void DumpSymEntry (FILE* F, const SymEntry* E)
 
 
 
-const DeclAttr* SymGetAttribute (const SymEntry* Sym, DeclAttrType AttrType)
+const DeclAttr* SymGetAttr (const SymEntry* Sym, DeclAttrType AttrType)
 /* Return an attribute for this symbol or NULL if the attribute does not exist */
 {
     /* Beware: We may not even have a collection */
@@ -177,7 +177,7 @@ const DeclAttr* SymGetAttribute (const SymEntry* Sym, DeclAttrType AttrType)
 
 
 
-void SymUseAttributes (SymEntry* Sym, struct Declaration* D)
+void SymUseAttr (SymEntry* Sym, struct Declaration* D)
 /* Use the attributes from the declaration for this symbol */
 {
     /* We cannot specify attributes twice */
index 06e5a0e871b3f305c9e94a78d0c73285ac5bd8d8..d83113809533ef587ec041db5355badda1f045fa 100644 (file)
@@ -231,10 +231,20 @@ INLINE const char* SymGetAsmName (const SymEntry* Sym)
 #  define SymGetAsmName(Sym)      ((Sym)->AsmName)
 #endif
 
-const DeclAttr* SymGetAttribute (const SymEntry* Sym, DeclAttrType AttrType);
+const DeclAttr* SymGetAttr (const SymEntry* Sym, DeclAttrType AttrType);
 /* Return an attribute for this symbol or NULL if the attribute does not exist */
 
-void SymUseAttributes (SymEntry* Sym, struct Declaration* D);
+#if defined(HAVE_INLINE)
+INLINE int SymHasAttr (const SymEntry* Sym, DeclAttrType A)
+/* Return true if the symbol has the given attribute */
+{
+    return (SymGetAttr (Sym, A) != 0);    
+}
+#else
+#  define SymHasAttr(Sym, A)       (SymGetAttr (Sym, A) != 0)
+#endif
+
+void SymUseAttr (SymEntry* Sym, struct Declaration* D);
 /* Use the attributes from the declaration for this symbol */
 
 void CvtRegVarToAuto (SymEntry* Sym);
index f02f9a6b6241331a34330133a4e4ed8592f8f025..5a7c740d3316169b4cb2cc491e6d80f0ae30b180 100644 (file)
@@ -162,8 +162,8 @@ static void CheckSymTable (SymTable* Tab)
             * defined but not used.
             */
            if (((Flags & SC_AUTO) || (Flags & SC_STATIC)) && (Flags & SC_EXTERN) == 0) {
-               if (SymIsDef (Entry) && !SymIsRef (Entry) &&
-                    SymGetAttribute (Entry, atUnused) == 0) {
+               if (SymIsDef (Entry) && !SymIsRef (Entry) && 
+                    !SymHasAttr (Entry, atUnused)) {
                    if (Flags & SC_PARAM) {
                         if (IS_Get (&WarnUnusedParam)) {
                            Warning ("Parameter `%s' is never used", Entry->Name);