[svn r354] Fix the regressions between [346] and [353] by making constructors and destructors outside classes fatal errors.

Fix tests makefile and add minimize to gc.d.
This commit is contained in:
Christian Kamm
2008-07-12 09:23:14 +02:00
parent f5dbc0e0d2
commit f0d8b9e153
3 changed files with 7 additions and 2 deletions

View File

@@ -2208,6 +2208,7 @@ void CtorDeclaration::semantic(Scope *sc)
if (!cd)
{
error("constructors are only for class definitions");
fatal();
tret = Type::tvoid;
}
else
@@ -2302,6 +2303,7 @@ void DtorDeclaration::semantic(Scope *sc)
if (!cd)
{
error("destructors only are for class definitions");
fatal();
}
else
cd->dtors.push(this);

View File

@@ -70,7 +70,7 @@ ALL_OBJS= \
tangobos.lib : $(LIB_TARGET)
$(LIB_TARGET) : $(ALL_OBJS)
$(RM) $@
$(RM) $(LIB_MASK)
$(LLVMLINK) -o=$(LIB_TARGET).bc `find -name "*.bc"`
$(LLC) -o=$(LIB_TARGET).s $(LIB_TARGET).bc
$(CC) -c -o $(LIB_TARGET) $(LIB_TARGET).s

View File

@@ -194,7 +194,10 @@ void genCollect()
/**
* Minimizes physical memory usage
*/
//void minimize();
void minimize()
{
GC.collect();
}
/***************************************
* disable() temporarily disables garbage collection cycle, enable()