changeset 140:ffcc9a2f3d9d trunk

[svn r144] fixes
author lindquist
date Wed, 23 Jan 2008 12:56:09 +0100
parents 0ab29b838084
children 8f43f5c43c95
files gen/todebug.cpp ir/irstruct.h llvmdc.kdevelop llvmdc.kdevelop.filelist tango/lib/compiler/llvmdc/cast.d tangotests/u.d
diffstat 6 files changed, 113 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/gen/todebug.cpp	Tue Jan 22 00:01:16 2008 +0100
+++ b/gen/todebug.cpp	Wed Jan 23 12:56:09 2008 +0100
@@ -135,8 +135,11 @@
     vals.push_back(DtoConstUint(DW_LANG_C));// _D)); // doesn't seem to work
     vals.push_back(DtoConstStringPtr(m->srcfile->name->toChars(), "llvm.metadata"));
     std::string srcpath(FileName::path(m->srcfile->name->toChars()));
-    if (srcpath.empty())
-        srcpath = ".";
+    if (srcpath.empty()) {
+        const char* str = get_current_dir_name();
+        assert(str != NULL);
+        srcpath = str;
+    }
     vals.push_back(DtoConstStringPtr(srcpath.c_str(), "llvm.metadata"));
     vals.push_back(DtoConstStringPtr("LLVMDC (http://www.dsource.org/projects/llvmdc)", "llvm.metadata"));
 
--- a/ir/irstruct.h	Tue Jan 22 00:01:16 2008 +0100
+++ b/ir/irstruct.h	Wed Jan 23 12:56:09 2008 +0100
@@ -42,9 +42,17 @@
         : var(v), type(ty), init(NULL) {}
     };
 
+    struct InterCmp
+    {
+        bool operator()(ClassDeclaration* lhs, ClassDeclaration* rhs) const
+        {
+            return strcmp(lhs->toPrettyChars(), rhs->toPrettyChars()) < 0;
+        }
+    };
+
     typedef std::multimap<unsigned, Offset> OffsetMap;
     typedef std::vector<VarDeclaration*> VarDeclVector;
-    typedef std::map<ClassDeclaration*, IrInterface*> InterfaceMap;
+    typedef std::map<ClassDeclaration*, IrInterface*, InterCmp> InterfaceMap;
     typedef InterfaceMap::iterator InterfaceIter;
 
 public:
--- a/llvmdc.kdevelop	Tue Jan 22 00:01:16 2008 +0100
+++ b/llvmdc.kdevelop	Wed Jan 23 12:56:09 2008 +0100
@@ -574,6 +574,94 @@
       <path>dmd25/utf.h</path>
       <path>dmd25/version.c</path>
       <path>dmd25/version.h</path>
+      <path>dmd26</path>
+      <path>dmd26/access.c</path>
+      <path>dmd26/aggregate.h</path>
+      <path>dmd26/array.c</path>
+      <path>dmd26/arraytypes.h</path>
+      <path>dmd26/attrib.c</path>
+      <path>dmd26/attrib.h</path>
+      <path>dmd26/cast.c</path>
+      <path>dmd26/class.c</path>
+      <path>dmd26/complex_t.h</path>
+      <path>dmd26/cond.c</path>
+      <path>dmd26/cond.h</path>
+      <path>dmd26/constfold.c</path>
+      <path>dmd26/dchar.c</path>
+      <path>dmd26/dchar.h</path>
+      <path>dmd26/declaration.c</path>
+      <path>dmd26/declaration.h</path>
+      <path>dmd26/delegatize.c</path>
+      <path>dmd26/doc.c</path>
+      <path>dmd26/doc.h</path>
+      <path>dmd26/dsymbol.c</path>
+      <path>dmd26/dsymbol.h</path>
+      <path>dmd26/dump.c</path>
+      <path>dmd26/entity.c</path>
+      <path>dmd26/enum.c</path>
+      <path>dmd26/enum.h</path>
+      <path>dmd26/expression.c</path>
+      <path>dmd26/expression.h</path>
+      <path>dmd26/func.c</path>
+      <path>dmd26/gnuc.c</path>
+      <path>dmd26/gnuc.h</path>
+      <path>dmd26/hdrgen.c</path>
+      <path>dmd26/hdrgen.h</path>
+      <path>dmd26/html.c</path>
+      <path>dmd26/html.h</path>
+      <path>dmd26/identifier.c</path>
+      <path>dmd26/identifier.h</path>
+      <path>dmd26/idgen.c</path>
+      <path>dmd26/impcnvgen.c</path>
+      <path>dmd26/import.c</path>
+      <path>dmd26/import.h</path>
+      <path>dmd26/inifile.c</path>
+      <path>dmd26/init.c</path>
+      <path>dmd26/init.h</path>
+      <path>dmd26/inline.c</path>
+      <path>dmd26/interpret.c</path>
+      <path>dmd26/lexer.c</path>
+      <path>dmd26/lexer.h</path>
+      <path>dmd26/link.c</path>
+      <path>dmd26/lstring.c</path>
+      <path>dmd26/lstring.h</path>
+      <path>dmd26/macro.c</path>
+      <path>dmd26/macro.h</path>
+      <path>dmd26/mangle.c</path>
+      <path>dmd26/mars.c</path>
+      <path>dmd26/mars.h</path>
+      <path>dmd26/mem.c</path>
+      <path>dmd26/mem.h</path>
+      <path>dmd26/module.c</path>
+      <path>dmd26/module.h</path>
+      <path>dmd26/mtype.c</path>
+      <path>dmd26/mtype.h</path>
+      <path>dmd26/opover.c</path>
+      <path>dmd26/optimize.c</path>
+      <path>dmd26/parse.c</path>
+      <path>dmd26/parse.h</path>
+      <path>dmd26/port.h</path>
+      <path>dmd26/root.c</path>
+      <path>dmd26/root.h</path>
+      <path>dmd26/scope.c</path>
+      <path>dmd26/scope.h</path>
+      <path>dmd26/statement.c</path>
+      <path>dmd26/statement.h</path>
+      <path>dmd26/staticassert.c</path>
+      <path>dmd26/staticassert.h</path>
+      <path>dmd26/stringtable.c</path>
+      <path>dmd26/stringtable.h</path>
+      <path>dmd26/struct.c</path>
+      <path>dmd26/template.c</path>
+      <path>dmd26/template.h</path>
+      <path>dmd26/total.h</path>
+      <path>dmd26/unialpha.c</path>
+      <path>dmd26/utf.c</path>
+      <path>dmd26/utf.h</path>
+      <path>dmd26/version.c</path>
+      <path>dmd26/version.h</path>
+      <path>todo</path>
+      <path>todo/lib.d</path>
     </blacklist>
     <build>
       <buildtool>make</buildtool>
--- a/llvmdc.kdevelop.filelist	Tue Jan 22 00:01:16 2008 +0100
+++ b/llvmdc.kdevelop.filelist	Wed Jan 23 12:56:09 2008 +0100
@@ -140,6 +140,7 @@
 gen/typinf.cpp
 ir
 ir/ir.h
+ir/irforw.h
 ir/irfunction.cpp
 ir/irfunction.h
 ir/irmodule.cpp
--- a/tango/lib/compiler/llvmdc/cast.d	Tue Jan 22 00:01:16 2008 +0100
+++ b/tango/lib/compiler/llvmdc/cast.d	Wed Jan 23 12:56:09 2008 +0100
@@ -27,7 +27,7 @@
 
 extern (C):
 
-//debug = PRINTF;
+debug = PRINTF;
 debug(PRINTF) int printf(char*, ...);
 
 /******************************************
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tangotests/u.d	Wed Jan 23 12:56:09 2008 +0100
@@ -0,0 +1,9 @@
+import tango.io.Console;
+void main()
+{
+    Cout("getting name std").newline;
+    Cerr("getting name err").newline;
+    auto s = Cin.get();
+    Cout("putting name").newline;
+    Cout (s).newline;
+}