diff dmd/AliasDeclaration.d @ 135:af1bebfd96a4 dmd2037

dmd 2.038
author Eldar Insafutdinov <e.insafutdinov@gmail.com>
date Mon, 13 Sep 2010 22:19:42 +0100
parents e28b18c23469
children af724d3510d7
line wrap: on
line diff
--- a/dmd/AliasDeclaration.d	Sat Sep 11 13:03:39 2010 +0100
+++ b/dmd/AliasDeclaration.d	Mon Sep 13 22:19:42 2010 +0100
@@ -100,9 +100,10 @@
 		}
 		this.inSemantic = 1;
 
+version(DMDV1) {   // don't really know why this is here
 		if (storage_class & STC.STCconst)
 			error("cannot be const");
-
+}
 		storage_class |= sc.stc & STC.STCdeprecated;
 
 		// Given:
@@ -128,11 +129,12 @@
 			goto L2;			// it's a symbolic alias
 
 ///version (DMDV2) {
+        type = type.addStorageClass(storage_class);
 		if (storage_class & (STC.STCref | STCnothrow | STCpure))
 		{	// For 'ref' to be attached to function types, and picked
 			// up by Type.resolve(), it has to go into sc.
 			sc = sc.push();
-			sc.stc |= storage_class & (STCref | STCnothrow | STCpure);
+		    sc.stc |= storage_class & (STCref | STCnothrow | STCpure | STCshared);
 			type.resolve(loc, sc, &e, &t, &s);
 			sc = sc.pop();
 		}