diff dmd/enum.c @ 336:aaade6ded589 trunk

[svn r357] Merged DMD 1.033
author lindquist
date Sat, 12 Jul 2008 19:38:31 +0200
parents c53b6e3fe49a
children 1860414bf3b7
line wrap: on
line diff
--- a/dmd/enum.c	Sat Jul 12 17:04:36 2008 +0200
+++ b/dmd/enum.c	Sat Jul 12 19:38:31 2008 +0200
@@ -1,5 +1,5 @@
 
-// Copyright (c) 1999-2006 by Digital Mars
+// Copyright (c) 1999-2008 by Digital Mars
 // All Rights Reserved
 // written by Walter Bright
 // http://www.digitalmars.com
@@ -14,6 +14,7 @@
 #include "enum.h"
 #include "mtype.h"
 #include "scope.h"
+#include "declaration.h"
 
 /********************************* EnumDeclaration ****************************/
 
@@ -27,6 +28,7 @@
     minval = 0;
     defaultval = 0;
     sinit = NULL;
+    isdeprecated = 0;
 }
 
 Dsymbol *EnumDeclaration::syntaxCopy(Dsymbol *s)
@@ -57,6 +59,9 @@
 	return;
     if (!memtype)
 	memtype = Type::tint32;
+    if (sc->stc & STCdeprecated)
+	isdeprecated = 1;
+
     parent = sc->scopesym;
     memtype = memtype->semantic(loc, sc);
 
@@ -265,11 +270,16 @@
     return type;
 }
 
-char *EnumDeclaration::kind()
+const char *EnumDeclaration::kind()
 {
     return "enum";
 }
 
+int EnumDeclaration::isDeprecated()
+{
+    return isdeprecated;
+}
+
 /********************************* EnumMember ****************************/
 
 EnumMember::EnumMember(Loc loc, Identifier *id, Expression *value)
@@ -306,7 +316,7 @@
     }
 }
 
-char *EnumMember::kind()
+const char *EnumMember::kind()
 {
     return "enum member";
 }