[Issue 4242] ICE(module.c): importing a module with same name as package

2010-05-28 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4242


Walter Bright  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||bugzi...@digitalmars.com
 Resolution||FIXED


--- Comment #2 from Walter Bright  2010-05-28 
22:32:38 PDT ---
http://www.dsource.org/projects/dmd/changeset/504

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 4242] ICE(module.c): importing a module with same name as package

2010-05-27 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4242


Don  changed:

   What|Removed |Added

   Keywords||patch
Summary|ICE(module.c): module   |ICE(module.c): importing a
   |naming conflict in  |module with same name as
   |subfolder   |package
   Severity|normal  |regression


--- Comment #1 from Don  2010-05-27 22:53:49 PDT ---
This is a regression since DMD2.043. Only a single import is required (don't
need File2 in the test case).

PATCH:

Index: module.c
===
--- module.c(revision 502)
+++ module.c(working copy)
@@ -638,9 +638,16 @@
 Dsymbol *prev = dst->lookup(ident);
 assert(prev);
 Module *mprev = prev->isModule();
-assert(mprev);
-error(loc, "from file %s conflicts with another module %s from file
%s",
-srcname, mprev->toChars(), mprev->srcfile->toChars());
+if (mprev)
+error(loc, "from file %s conflicts with another module %s from
file %s",
+srcname, mprev->toChars(), mprev->srcfile->toChars());
+else
+{
+Package *pkg = prev->isPackage();
+assert(pkg);
+error(loc, "from file %s conflicts with package name %s ",
+srcname, pkg->toChars());
+}
 }
 else
 {

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---