[svn r144] fixes

This commit is contained in:
Tomas Lindquist Olsen
2008-01-23 12:56:09 +01:00
parent 94c47aa1fa
commit 0c0bac2766
6 changed files with 113 additions and 4 deletions

View File

@@ -135,8 +135,11 @@ llvm::GlobalVariable* DtoDwarfCompileUnit(Module* m)
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"));

View File

@@ -42,9 +42,17 @@ struct IrStruct : IrBase
: 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:

View File

@@ -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>

View File

@@ -140,6 +140,7 @@ gen/typeinf.h
gen/typinf.cpp
ir
ir/ir.h
ir/irforw.h
ir/irfunction.cpp
ir/irfunction.h
ir/irmodule.cpp

View File

@@ -27,7 +27,7 @@
extern (C):
//debug = PRINTF;
debug = PRINTF;
debug(PRINTF) int printf(char*, ...);
/******************************************

9
tangotests/u.d Normal file
View File

@@ -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;
}