changeset 650:aa6a0b7968f7

Added test case for bug #100 Removed dubious check for not emitting static private global in other modules without access. This should be handled properly somewhere else, it's causing unresolved global errors for stuff that should work (in MiniD)
author Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
date Sun, 05 Oct 2008 17:28:15 +0200
parents 505f41873d4f
children 5709381df7e8
files gen/tollvm.cpp gen/toobj.cpp tests/mini/tryfinally1.d
diffstat 3 files changed, 11 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/gen/tollvm.cpp	Sun Oct 05 11:47:59 2008 +0200
+++ b/gen/tollvm.cpp	Sun Oct 05 17:28:15 2008 +0200
@@ -184,7 +184,7 @@
         return llvm::OpaqueType::get();
 
     default:
-        printf("trying to convert unknown type with value %d\n", t->ty);
+        printf("trying to convert unknown type '%s' with value %d\n", t->toChars(), t->ty);
         assert(0);
     }
     return 0;
--- a/gen/toobj.cpp	Sun Oct 05 11:47:59 2008 +0200
+++ b/gen/toobj.cpp	Sun Oct 05 17:28:15 2008 +0200
@@ -618,11 +618,6 @@
     {
         Logger::println("data segment");
 
-        // we don't want to touch private static members at all !!!
-        // template instances should always be emitted
-        if (!DtoIsTemplateInstance(this) && prot() == PROTprivate && getModule() != gIR->dmodule)
-            return;
-
         // don't duplicate work
         if (this->ir.resolved) return;
         this->ir.resolved = true;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/mini/tryfinally1.d	Sun Oct 05 17:28:15 2008 +0200
@@ -0,0 +1,10 @@
+void main()
+{
+    try
+    {
+    }
+    finally
+    {
+        debug {} // the debug statement body can be anything
+    }
+}