comparison dmd/declaration.c @ 139:0ab29b838084 trunk

[svn r143] Fixed: a few bugs in debug information, still only line info, but should be correct files now :) Fixed: tango.io.Console seems to be working now.
author lindquist
date Tue, 22 Jan 2008 00:01:16 +0100
parents 0e28624814e8
children ccd07d9f2ce9
comparison
equal deleted inserted replaced
138:aeddd4d533b3 139:0ab29b838084
1097 */ 1097 */
1098 1098
1099 Expression *VarDeclaration::callAutoDtor() 1099 Expression *VarDeclaration::callAutoDtor()
1100 { Expression *e = NULL; 1100 { Expression *e = NULL;
1101 1101
1102 //printf("VarDeclaration::callAutoDtor() %s\n", toChars());
1102 if (storage_class & (STCauto | STCscope) && !noauto) 1103 if (storage_class & (STCauto | STCscope) && !noauto)
1103 { 1104 {
1104 for (ClassDeclaration *cd = type->isClassHandle(); 1105 for (ClassDeclaration *cd = type->isClassHandle();
1105 cd; 1106 cd;
1106 cd = cd->baseClass) 1107 cd = cd->baseClass)
1107 { 1108 {
1108 /* We can do better if there's a way with onstack 1109 /* We can do better if there's a way with onstack
1109 * classes to determine if there's no way the monitor 1110 * classes to determine if there's no way the monitor
1110 * could be set. 1111 * could be set.
1111 */ 1112 */
1113 if (cd->isInterfaceDeclaration())
1114 error("interface %s cannot be scope", cd->toChars());
1112 if (1 || onstack || cd->dtors.dim) // if any destructors 1115 if (1 || onstack || cd->dtors.dim) // if any destructors
1113 { 1116 {
1114 // delete this; 1117 // delete this;
1115 Expression *ec; 1118 Expression *ec;
1116 1119