diff dmd/attrib.c @ 1153:4454126b4345

Added support for single D type register return from __asm.
author Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
date Sat, 28 Mar 2009 07:24:53 +0100
parents 521dd1626d76
children e961851fb8be
line wrap: on
line diff
--- a/dmd/attrib.c	Sat Mar 28 06:32:06 2009 +0100
+++ b/dmd/attrib.c	Sat Mar 28 07:24:53 2009 +0100
@@ -1130,9 +1130,9 @@
         case LLVMinline_asm:
             if (TemplateDeclaration* td = s->isTemplateDeclaration())
             {
-                if (td->parameters->dim != 0)
+                if (td->parameters->dim > 1)
                 {
-                    error("the '%s' pragma template must have exactly zero template parameters", ident->toChars());
+                    error("the '%s' pragma template must have exactly zero or one template parameters", ident->toChars());
                     fatal();
                 }
                 else if (!td->onemember)
@@ -1140,11 +1140,6 @@
                     error("the '%s' pragma template must have exactly one member", ident->toChars());
                     fatal();
                 }
-                else if (td->overnext || td->overroot)
-                {
-                    error("the '%s' pragma template must not be overloaded", ident->toChars());
-                    fatal();
-                }
                 td->llvmInternal = llvm_internal;
             }
             else