dotgnu-general
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[DotGNU]yet another compiler bug (System.Xml related)


From: Gopal V
Subject: [DotGNU]yet another compiler bug (System.Xml related)
Date: Fri, 27 Sep 2002 20:21:02 +0530
User-agent: Mutt/1.2.5i

Hi All,
        Today's "Bug for the day" is due to the hack in System.Xml's
XmlNamespaceManager ... which was introduced to make it faster .

I followed the bug down to pnet/csharp/cs_oper.tc::EqualitySem()

cs_oper.tc:1509
                        if(ILCanCoerceNode(info, node->expr1, 
CSSemGetType(value1),
                                                           
CSSemGetType(value2)) ||
                           ILCanCoerceNode(info, node->expr2, 
CSSemGetType(value2),
                                                           
CSSemGetType(value1)))
                        {
                                fprintf(stderr,"<%s:%d> 
<%d:%d>\n",__FILE__,__LINE__,
                                
ILNode_GetType(node->expr1,info)==ILMachineType_String,
                                
ILNode_GetType(node->expr2,info)==ILMachineType_String
                                );

was what I used ... and the test file is attached as xml.cs
the output code is also attached as err ...

The error seems to be that ILNode_GetType(node->expr2) seems to 
return ILMachineType_String eventhough it is explicitly casted to
(Object) 

So the codegen maybe executing
ILRelational_ApplyOp(ILNode_Eq, ILMachineType_String)
{
        ILGenCallByName(info,
                "bool [.library]System.String::op_Equality"
                        "(class [.library]System.String, class 
[.library]System.String)");
}

Other than these obvious symptoms , I could not pick out the bug in
question ...

Gopal
-- 
The difference between insanity and genius is measured by success

Attachment: xml.cs
Description: Text document

Attachment: err
Description: Text document


reply via email to

[Prev in Thread] Current Thread [Next in Thread]