diff dmd/AsmStatement.d @ 130:60bb0fe4563e

dmdfe 2.037 first main iteration
author Eldar Insafutdinov <e.insafutdinov@gmail.com>
date Thu, 09 Sep 2010 22:51:44 +0100
parents e28b18c23469
children af724d3510d7
line wrap: on
line diff
--- a/dmd/AsmStatement.d	Sun Sep 05 15:32:22 2010 +0400
+++ b/dmd/AsmStatement.d	Thu Sep 09 22:51:44 2010 +0100
@@ -59,12 +59,16 @@
     override Statement semantic(Scope sc)
 	{
 		//printf("AsmStatement.semantic()\n");
-
-		if (global.params.safe && !sc.module_.safe)
-		{
-			error("inline assembler not allowed in safe mode");
-		}
-
+//static if (true) {
+        if (sc.func && sc.func.isSafe())
+        	error("inline assembler not allowed in @safe function %s", sc.func.toChars());
+//} else {
+//		if (global.params.safe && !sc.module_.safe)
+//		{
+//			error("inline assembler not allowed in safe mode");
+//		}
+//}
+        
 		OP* o;
 		OPND* o1 = null;
 		OPND* o2 = null;