  	if (!(strcmp(lcname, "self") && strcmp(lcname, "parent"))) {
  		efree(lcname);
  		zend_error(E_COMPILE_ERROR, "Cannot use '%s' as class name as it is reserved", class_name->u.constant.value.str.val);
-@@ -2638,6 +2710,101 @@
+@@ -2638,6 +2712,97 @@
  	CG(active_class_entry) = NULL;
  }
  

 		cur_arg_info->class_name = class_type->u.constant.value.str.val;
 		cur_arg_info->class_name_len = class_type->u.constant.value.str.len;
 		cur_arg_info->allow_null = 0;
@@ -1347,6 +1414,7 @@
 				zval_dtor(&class_name->u.constant);
 				break;
 			default:

 		&& parent->common.scope != (child->common.prototype ? child->common.prototype->common.scope : child->common.scope)
 		&& child->common.fn_flags & (ZEND_ACC_ABSTRACT|ZEND_ACC_IMPLEMENTED_ABSTRACT)) {
 		zend_error(E_COMPILE_ERROR, "Can't inherit abstract function %s::%s() (previously declared abstract in %s)", 
@@ -2529,13 +2600,16 @@
 	zend_op *opline;
 	int doing_inheritance = 0;
 	zend_class_entry *new_class_entry = emalloc(sizeof(zend_class_entry));
