changeset 1624:ae8a94d87ca9

Merge DMD r318: bugzilla 2029 Typesafe variadic functions don't... bugzilla 2029 Typesafe variadic functions don't work in CTFE. --- dmd/aggregate.h | 1 + dmd/struct.c | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 0 deletions(-)
author Leandro Lucarella <llucax@gmail.com>
date Wed, 06 Jan 2010 15:18:22 -0300
parents 1d48eced441f
children 79f64d5fee9e
files dmd/aggregate.h dmd/struct.c
diffstat 2 files changed, 17 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/dmd/aggregate.h	Wed Jan 06 15:18:22 2010 -0300
+++ b/dmd/aggregate.h	Wed Jan 06 15:18:22 2010 -0300
@@ -150,6 +150,7 @@
     StructDeclaration(Loc loc, Identifier *id);
     Dsymbol *syntaxCopy(Dsymbol *s);
     void semantic(Scope *sc);
+    Dsymbol *search(Loc, Identifier *ident, int flags);
     void toCBuffer(OutBuffer *buf, HdrGenState *hgs);
     char *mangle();
     const char *kind();
--- a/dmd/struct.c	Wed Jan 06 15:18:22 2010 -0300
+++ b/dmd/struct.c	Wed Jan 06 15:18:22 2010 -0300
@@ -460,6 +460,22 @@
     }
 }
 
+Dsymbol *StructDeclaration::search(Loc loc, Identifier *ident, int flags)
+{
+    //printf("%s.StructDeclaration::search('%s')\n", toChars(), ident->toChars());
+
+    if (scope)
+    	semantic(scope);
+
+    if (!members || !symtab)
+    {
+	error("is forward referenced when looking for '%s'", ident->toChars());
+	return NULL;
+    }
+
+    return ScopeDsymbol::search(loc, ident, flags);
+}
+
 void StructDeclaration::toCBuffer(OutBuffer *buf, HdrGenState *hgs)
 {   int i;