------- Comment #3 from hjl dot tools at gmail dot com  2010-05-29 18:35 -------
Created an attachment (id=20774)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20774&action=view)
A reduced testcase

[...@gnu-32 delta]$ /export/gnu/import/rrs/159912/usr/bin/gcc -S -O3 pr44295.ii
pr44295.ii: In member function \u2018xercesc_2_5::DOMNodeList*
xercesc_2_5::DOMDocumentImpl::getElementsByTagName(const XMLCh*) const\u2019:
pr44295.ii:157:68: error: edge points to wrong declaration:
 <function_decl 0x7f3c21ea3600
_ZN11xercesc_2_519DOMDeepNodeListPoolINS_19DOMDeepNodeListImplEEC2Embm.clone.2
    type <method_type 0x7f3c220d8000
        type <void_type 0x7f3c2210de70 void type_6 VOID
            align 8 symtab 0 alias set -1 canonical type 0x7f3c2210de70
            pointer_to_this <pointer_type 0x7f3c2210df18>>
        QI
        size <integer_cst 0x7f3c220f8758 constant 8>
        unit size <integer_cst 0x7f3c220f8780 constant 1>
        align 8 symtab 0 alias set -1 canonical type 0x7f3c220879d8 method
basetype <record_type 0x7f3c22082a80 DOMDeepNodeListPool>
        arg-types <tree_list 0x7f3c21e9f3e8 value <pointer_type 0x7f3c22082b28>
            chain <tree_list 0x7f3c2211d5f0 value <void_type 0x7f3c2210de70
void>>>
        pointer_to_this <pointer_type 0x7f3c2208a5e8>>
    asm_written used static decl_5 QI file pr44295.ii line 126 col 25 align 16
context <record_type 0x7f3c22082a80 DOMDeepNodeListPool> initial <error_mark
0x7f3c22100ca8> abstract_origin <function_decl 0x7f3c2207b800
DOMDeepNodeListPool>
    arguments <parm_decl 0x7f3c220b3a18 this
        type <pointer_type 0x7f3c22082b28 type <record_type 0x7f3c22082a80
DOMDeepNodeListPool>
            public unsigned DI
            size <integer_cst 0x7f3c220f8a50 constant 64>
            unit size <integer_cst 0x7f3c220f8a78 constant 8>
            align 64 symtab 0 alias set 16 canonical type 0x7f3c22082b28
            pointer_to_this <pointer_type 0x7f3c21ecac78>>
        readonly used unsigned DI file pr44295.ii line 126 col 239 size
<integer_cst 0x7f3c220f8a50 64> unit size <integer_cst 0x7f3c220f8a78 8>
        align 64 context <function_decl 0x7f3c21ea3600
_ZN11xercesc_2_519DOMDeepNodeListPoolINS_19DOMDeepNodeListImplEEC2Embm.clone.2>
abstract_origin <parm_decl 0x7f3c22088220 this>
        (reg/f:DI 3 bx [orig:70 this ] [70]) arg-type <pointer_type
0x7f3c22082b28>
        incoming-rtl (reg:DI 5 di [ this ])>
    result <result_decl 0x7f3c220d3e80 D.2898 type <void_type 0x7f3c2210de70
void>
        used ignored VOID file pr44295.ii line 130 col 3
        align 8 context <function_decl 0x7f3c21ea3600
_ZN11xercesc_2_519DOMDeepNodeListPoolINS_19DOMDeepNodeListImplEEC2Embm.clone.2>
abstract_origin <result_decl 0x7f3c22080e80 D.2669>>
    full-name
"xercesc_2_5::DOMDeepNodeListPool<TVal>::DOMDeepNodeListPool(XMLSize_t, bool,
XMLSize_t = 128) [with TVal = xercesc_2_5::DOMDeepNodeListImpl, XMLSize_t =
long unsigned int]"
    pending-inline-info 0x7f3c220a1310 template-info 0x7f3c220764a0
    (mem:QI (symbol_ref:DI
("_ZN11xercesc_2_519DOMDeepNodeListPoolINS_19DOMDeepNodeListImplEEC2Embm.clone.2")
[flags 0x3] <function_decl 0x7f3c21ea3600
_ZN11xercesc_2_519DOMDeepNodeListPoolINS_19DOMDeepNodeListImplEEC2Embm.clone.2>)
[0 S1 A8])>
 Instead of: <function_decl 0x7f3c2207b700 __comp_ctor 
    type <method_type 0x7f3c22087930
        type <void_type 0x7f3c2210de70 void type_6 VOID
            align 8 symtab 0 alias set -1 canonical type 0x7f3c2210de70
            pointer_to_this <pointer_type 0x7f3c2210df18>>
        QI
        size <integer_cst 0x7f3c220f8758 constant 8>
        unit size <integer_cst 0x7f3c220f8780 constant 1>
        align 8 symtab 0 alias set -1 canonical type 0x7f3c220879d8 method
basetype <record_type 0x7f3c22082a80 DOMDeepNodeListPool>
        arg-types <tree_list 0x7f3c22084870 value <pointer_type 0x7f3c22082b28>
            chain <tree_list 0x7f3c220847d0 value <integer_type 0x7f3c2210d690
long unsigned int>
                chain <tree_list 0x7f3c220847a8 value <boolean_type
0x7f3c2210d9d8 bool>
                    chain <tree_list 0x7f3c22084780
                        purpose <integer_cst 0x7f3c22031848 constant 128> value
<integer_type 0x7f3c2210d690 long unsigned int>
                        chain <tree_list 0x7f3c2211d5f0 value <void_type
0x7f3c2210de70 void>>>>>>
        pointer_to_this <pointer_type 0x7f3c2208a5e8>>
    addressable used public static weak decl_5 QI defer-output file pr44295.ii
line 126 col 25 align 16 context <record_type 0x7f3c22082a80
DOMDeepNodeListPool> initial <block 0x7f3c220a2580> abstract_origin
<function_decl 0x7f3c2207b800 DOMDeepNodeListPool>
    arguments <parm_decl 0x7f3c22088908 this
        type <pointer_type 0x7f3c22082b28 type <record_type 0x7f3c22082a80
DOMDeepNodeListPool>
            public unsigned DI
            size <integer_cst 0x7f3c220f8a50 constant 64>
            unit size <integer_cst 0x7f3c220f8a78 constant 8>
            align 64 symtab 0 alias set 16 canonical type 0x7f3c22082b28
            pointer_to_this <pointer_type 0x7f3c21ecac78>>
        readonly used unsigned DI file pr44295.ii line 126 col 239 size
<integer_cst 0x7f3c220f8a50 64> unit size <integer_cst 0x7f3c220f8a78 8>
        align 64 context <function_decl 0x7f3c2207b700 __comp_ctor >
abstract_origin <parm_decl 0x7f3c22088220 this> arg-type <pointer_type
0x7f3c22082b28>
        chain <parm_decl 0x7f3c22088990 modulus type <integer_type
0x7f3c220455e8 XMLSize_t>
            used unsigned DI file pr44295.ii line 126 col 89 size <integer_cst
0x7f3c220f8a50 64> unit size <integer_cst 0x7f3c220f8a78 8>
            align 64 context <function_decl 0x7f3c2207b700 __comp_ctor >
abstract_origin <parm_decl 0x7f3c220882a8 modulus>
            arg-type <integer_type 0x7f3c220455e8 XMLSize_t> chain <parm_decl
0x7f3c22088a18 adoptElems>>>
    result <result_decl 0x7f3c22080f00 D.2674 type <void_type 0x7f3c2210de70
void>
        ignored VOID file pr44295.ii line 130 col 3
        align 8 context <function_decl 0x7f3c2207b700 __comp_ctor >>
    full-name
"xercesc_2_5::DOMDeepNodeListPool<TVal>::DOMDeepNodeListPool(XMLSize_t, bool,
XMLSize_t = 128) [with TVal = xercesc_2_5::DOMDeepNodeListImpl, XMLSize_t =
long unsigned int]"
    pending-inline-info 0x7f3c220a13f0 template-info 0x7f3c220764a0
    struct-function 0x7f3c22092b40 chain <function_decl 0x7f3c2207b900
getByKey>>
xercesc_2_5::DOMNodeList* xercesc_2_5::DOMDocumentImpl::getDeepNodeList(const
xercesc_2_5::DOMNode*, const XMLCh*)/24(-1) @0x7f3c220942b0 (asm:
_ZN11xercesc_2_515DOMDocumentImpl15getDeepNodeListEPKNS_7DOMNodeEPKt) (inline
copy in xercesc_2_5::DOMNodeList*
xercesc_2_5::DOMDocumentImpl::getElementsByTagName(const XMLCh*) const/17)
availability:local analyzed 22 time, 16 benefit (23 after inlining) 20 size, 8
benefit (21 after inlining) 8 bytes after inlining reachable body local
finalized inlinable
  called by: xercesc_2_5::DOMNodeList*
xercesc_2_5::DOMDocumentImpl::getElementsByTagName(const XMLCh*) const/17 (1.00
per call) (inlined) (can throw external) 
  calls: void* operator new(size_t, xercesc_2_5::DOMDocument*)/58 (0.10 per
call) (can throw external)
xercesc_2_5::DOMDeepNodeListPool<TVal>::DOMDeepNodeListPool(XMLSize_t, bool,
XMLSize_t) [with TVal = xercesc_2_5::DOMDeepNodeListImpl, XMLSize_t = long
unsigned int]/16 (0.10 per call) (can throw external) TVal*
xercesc_2_5::DOMDeepNodeListPool<TVal>::getByKey(const void*, const XMLCh*,
const XMLCh*) [with TVal = xercesc_2_5::DOMDeepNodeListImpl, XMLCh = short
unsigned int]/25 (inlined) (1.00 per call) (can throw external) 
  References: 
  Refering this function: 
pr44295.ii:157:68: internal compiler error: verify_cgraph_node failed
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
[...@gnu-32 delta]$ 


-- 

hjl dot tools at gmail dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #20764|0                           |1
        is obsolete|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44295

Reply via email to