Login
[x]
Log in using an account from:
Fedora Account System
Red Hat Associate
Red Hat Customer
Or login using a Red Hat Bugzilla account
Forgot Password
Login:
Hide Forgot
Create an Account
Red Hat Bugzilla – Attachment 290300 Details for
Bug 426600
DW_TAG_interface_type support
[?]
New
Simple Search
Advanced Search
My Links
Browse
Requests
Reports
Current State
Search
Tabular reports
Graphical reports
Duplicates
Other Reports
User Changes
Plotly Reports
Bug Status
Bug Severity
Non-Defaults
|
Product Dashboard
Help
Page Help!
Bug Writing Guidelines
What's new
Browser Support Policy
5.0.4.rh83 Release notes
FAQ
Guides index
User guide
Web Services
Contact
Legal
This site requires JavaScript to be enabled to function correctly, please enable it.
[patch]
Fix+testcase.
gdb-cvs-DW_TAG_interface_type-basic.patch (text/plain), 15.80 KB, created by
Jan Kratochvil
on 2007-12-22 21:02:47 UTC
(
hide
)
Description:
Fix+testcase.
Filename:
MIME Type:
Creator:
Jan Kratochvil
Created:
2007-12-22 21:02:47 UTC
Size:
15.80 KB
patch
obsolete
>gdb/ >2007-12-22 Jan Kratochvil <jan.kratochvil@redhat.com> > > * dwarf2read.c (scan_partial_symbols partial_die_parent_scope) > (add_partial_symbol, pdi_needs_namespace, process_die) > (is_type_tag_for_partial, load_partial_dies, new_symbol) > (read_type_die, determine_prefix): Extend the current code of > `DW_TAG_class_type' also for `DW_TAG_interface_type'. > >gdb/testsuite/ >2007-12-22 Jan Kratochvil <jan.kratochvil@redhat.com> > > * gdb.arch/i386-interface.S, gdb.arch/i386-interface.exp: New files. > >--- ./gdb/dwarf2read.c 17 Dec 2007 18:38:30 -0000 1.242 >+++ ./gdb/dwarf2read.c 22 Dec 2007 19:07:23 -0000 >@@ -1747,6 +1747,7 @@ scan_partial_symbols (struct partial_die > } > break; > case DW_TAG_class_type: >+ case DW_TAG_interface_type: > case DW_TAG_structure_type: > if (!pdi->is_declaration) > { >@@ -1829,6 +1830,7 @@ partial_die_parent_scope (struct partial > if (parent->tag == DW_TAG_namespace > || parent->tag == DW_TAG_structure_type > || parent->tag == DW_TAG_class_type >+ || parent->tag == DW_TAG_interface_type > || parent->tag == DW_TAG_union_type) > { > if (grandparent_scope == NULL) >@@ -1976,6 +1978,7 @@ add_partial_symbol (struct partial_die_i > 0, (CORE_ADDR) 0, cu->language, objfile); > break; > case DW_TAG_class_type: >+ case DW_TAG_interface_type: > case DW_TAG_structure_type: > case DW_TAG_union_type: > case DW_TAG_enumeration_type: >@@ -2057,6 +2060,7 @@ pdi_needs_namespace (enum dwarf_tag tag) > case DW_TAG_namespace: > case DW_TAG_typedef: > case DW_TAG_class_type: >+ case DW_TAG_interface_type: > case DW_TAG_structure_type: > case DW_TAG_union_type: > case DW_TAG_enumeration_type: >@@ -2676,6 +2680,7 @@ process_die (struct die_info *die, struc > read_lexical_block_scope (die, cu); > break; > case DW_TAG_class_type: >+ case DW_TAG_interface_type: > case DW_TAG_structure_type: > case DW_TAG_union_type: > read_structure_type (die, cu); >@@ -5403,6 +5408,7 @@ is_type_tag_for_partial (int tag) > #endif > case DW_TAG_base_type: > case DW_TAG_class_type: >+ case DW_TAG_interface_type: > case DW_TAG_enumeration_type: > case DW_TAG_structure_type: > case DW_TAG_subrange_type: >@@ -5608,6 +5614,7 @@ load_partial_dies (bfd *abfd, gdb_byte * > || last_die->tag == DW_TAG_enumeration_type > || (cu->language != language_c > && (last_die->tag == DW_TAG_class_type >+ || last_die->tag == DW_TAG_interface_type > || last_die->tag == DW_TAG_structure_type > || last_die->tag == DW_TAG_union_type)))) > { >@@ -7358,6 +7365,7 @@ new_symbol (struct die_info *die, struct > (FIXME?) */ > break; > case DW_TAG_class_type: >+ case DW_TAG_interface_type: > case DW_TAG_structure_type: > case DW_TAG_union_type: > case DW_TAG_set_type: >@@ -7677,6 +7685,7 @@ read_type_die (struct die_info *die, str > switch (die->tag) > { > case DW_TAG_class_type: >+ case DW_TAG_interface_type: > case DW_TAG_structure_type: > case DW_TAG_union_type: > read_structure_type (die, cu); >@@ -7781,6 +7790,7 @@ determine_prefix (struct die_info *die, > } > break; > case DW_TAG_class_type: >+ case DW_TAG_interface_type: > case DW_TAG_structure_type: > { > if (parent->type != NULL && TYPE_TAG_NAME (parent->type) != NULL) >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ ./gdb/testsuite/gdb.arch/i386-interface.S 22 Dec 2007 19:07:28 -0000 >@@ -0,0 +1,628 @@ >+/* Copyright 2007 Free Software Foundation, Inc. >+ >+ This program is free software; you can redistribute it and/or modify >+ it under the terms of the GNU General Public License as published by >+ the Free Software Foundation; either version 3 of the License, or >+ (at your option) any later version. >+ >+ This program is distributed in the hope that it will be useful, >+ but WITHOUT ANY WARRANTY; without even the implied warranty of >+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >+ GNU General Public License for more details. >+ >+ You should have received a copy of the GNU General Public License >+ along with this program. If not, see <http://www.gnu.org/licenses/>. >+ >+ Please email any bugs, comments, and/or additions to this file to: >+ bug-gdb@gnu.org >+ >+ This file is part of the gdb testsuite. >+ >+ This file was produced by: >+ $ gcj -S interface.java -ggdb2 -Wall -m32 >+ from the .java file: >+ interface Interface >+ { >+ } >+ class Class implements Interface >+ { >+ } >+*/ >+ >+ .file "cc28Pp2B.jar" >+ .section .debug_abbrev,"",@progbits >+.Ldebug_abbrev0: >+ .section .debug_info,"",@progbits >+.Ldebug_info0: >+ .section .debug_line,"",@progbits >+.Ldebug_line0: >+ .text >+.Ltext0: >+ .local _MT_Interface >+ .comm _MT_Interface,0,4 >+ .data >+ .align 4 >+ .type _catch_classes_Interface, @object >+ .size _catch_classes_Interface, 24 >+_catch_classes_Interface: >+ .zero 24 >+ .section .rodata >+ .align 2 >+ .type _Utf1, @object >+ .size _Utf1, 4 >+_Utf1: >+ .value 36121 >+ .value 9 >+ .ascii "Interface" >+ .zero 1 >+.globl _ZN9Interface6class$E >+ .data >+ .align 32 >+ .type _ZN9Interface6class$E, @object >+ .size _ZN9Interface6class$E, 144 >+_ZN9Interface6class$E: >+ .long _ZTVN4java4lang5ClassE+8 >+ .long 403000 >+ .long _Utf1 >+ .value 1536 >+ .zero 2 >+ .long 0 >+ .long 0 >+ .long 0 >+ .long 0 >+ .long _MT_Interface >+ .value 0 >+ .value 6 >+ .long 0 >+ .long 4 >+ .value 0 >+ .value 0 >+ .long 0 >+ .long 0 >+ .long 0 >+ .long 0 >+ .long 0 >+ .long 0 >+ .long 0 >+ .long _catch_classes_Interface >+ .long 0 >+ .long 0 >+ .value 0 >+ .byte 1 >+ .zero 1 >+ .long 0 >+ .value 0 >+ .zero 2 >+ .long 0 >+ .long 0 >+ .long 0 >+ .long 0 >+ .long 0 >+ .long 0 >+ .long 0 >+ .long 0 >+ .long 0 >+ .long 0 >+ .hidden _ZN9Interface7class$$E >+.globl _ZN9Interface7class$$E >+ .section .rodata >+ .align 4 >+ .type _ZN9Interface7class$$E, @object >+ .size _ZN9Interface7class$$E, 4 >+_ZN9Interface7class$$E: >+ .long _ZN9Interface6class$E >+ .text >+ .align 2 >+.globl _ZN5ClassC1Ev >+ .type _ZN5ClassC1Ev, @function >+_ZN5ClassC1Ev: >+.LFB2: >+ pushl %ebp >+.LCFI0: >+ movl %esp, %ebp >+.LCFI1: >+ subl $24, %esp >+.LCFI2: >+.LBB2: >+#if 0 >+ .file 1 "interface.java" >+#else >+ .file "interface.java" >+#endif >+ .loc 1 4 0 >+ movl 8(%ebp), %eax >+ movl %eax, -4(%ebp) >+ movl -4(%ebp), %eax >+ movl %eax, (%esp) >+ call _ZN4java4lang6ObjectC1Ev >+.LBE2: >+ leave >+ ret >+.LFE2: >+ .size _ZN5ClassC1Ev, .-_ZN5ClassC1Ev >+ .hidden _ZTVN5ClassE >+.globl _ZTVN5ClassE >+ .data >+ .align 32 >+ .type _ZTVN5ClassE, @object >+ .size _ZTVN5ClassE, 40 >+_ZTVN5ClassE: >+ .long 0 >+ .long 0 >+ .long _ZN5Class6class$E >+ .long 4 >+ .long _ZN4java4lang6Object8finalizeEJvv >+ .long _ZN4java4lang6Object8hashCodeEJiv >+ .long _ZN4java4lang6Object6equalsEJbPS1_ >+ .long _ZN4java4lang6Object8toStringEJPNS0_6StringEv >+ .long _ZN4java4lang6Object5cloneEJPS1_v >+ .long _ZN4java4lang6Object22throwNoSuchMethodErrorEJvv >+ .set .L_ZN5ClassC1Ev0,_ZN5ClassC1Ev >+ .section .rodata >+ .align 2 >+ .type _Utf2, @object >+ .size _Utf2, 4 >+_Utf2: >+ .value 626 >+ .value 6 >+ .ascii "<init>" >+ .zero 1 >+ .align 2 >+ .type _Utf3, @object >+ .size _Utf3, 4 >+_Utf3: >+ .value 39797 >+ .value 3 >+ .ascii "()V" >+ .zero 1 >+ .data >+ .align 4 >+ .type _MT_Class, @object >+ .size _MT_Class, 20 >+_MT_Class: >+ .long _Utf2 >+ .long _Utf3 >+ .value 16384 >+ .value -1 >+ .long .L_ZN5ClassC1Ev0 >+ .long 0 >+ .align 4 >+ .type _IF_Class, @object >+ .size _IF_Class, 4 >+_IF_Class: >+ .long _ZN9Interface6class$E >+ .align 4 >+ .type _catch_classes_Class, @object >+ .size _catch_classes_Class, 24 >+_catch_classes_Class: >+ .zero 24 >+ .section .rodata >+ .align 2 >+ .type _Utf4, @object >+ .size _Utf4, 4 >+_Utf4: >+ .value 47448 >+ .value 5 >+ .ascii "Class" >+ .zero 1 >+.globl _ZN5Class6class$E >+ .data >+ .align 32 >+ .type _ZN5Class6class$E, @object >+ .size _ZN5Class6class$E, 144 >+_ZN5Class6class$E: >+ .long _ZTVN4java4lang5ClassE+8 >+ .long 403000 >+ .long _Utf4 >+ .value 32 >+ .zero 2 >+ .long _ZN4java4lang6Object6class$E >+ .long 0 >+ .long 0 >+ .long 0 >+ .long _MT_Class >+ .value 1 >+ .value 6 >+ .long 0 >+ .long 4 >+ .value 0 >+ .value 0 >+ .long _ZTVN5ClassE+8 >+ .long 0 >+ .long 0 >+ .long 0 >+ .long 0 >+ .long 0 >+ .long 0 >+ .long _catch_classes_Class >+ .long _IF_Class >+ .long 0 >+ .value 1 >+ .byte 1 >+ .zero 1 >+ .long 0 >+ .value 0 >+ .zero 2 >+ .long 0 >+ .long 0 >+ .long 0 >+ .long 0 >+ .long 0 >+ .long 0 >+ .long 0 >+ .long 0 >+ .long 0 >+ .long 0 >+ .hidden _ZN5Class7class$$E >+.globl _ZN5Class7class$$E >+ .section .rodata >+ .align 4 >+ .type _ZN5Class7class$$E, @object >+ .size _ZN5Class7class$$E, 4 >+_ZN5Class7class$$E: >+ .long _ZN5Class6class$E >+ .section .jcr,"aw",@progbits >+ .align 4 >+ .long _ZN9Interface6class$E >+ .long _ZN5Class6class$E >+ .section .debug_frame,"",@progbits >+.Lframe0: >+ .long .LECIE0-.LSCIE0 >+.LSCIE0: >+ .long 0xffffffff >+ .byte 0x1 >+ .string "" >+ .uleb128 0x1 >+ .sleb128 -4 >+ .byte 0x8 >+ .byte 0xc >+ .uleb128 0x4 >+ .uleb128 0x4 >+ .byte 0x88 >+ .uleb128 0x1 >+ .align 4 >+.LECIE0: >+.LSFDE0: >+ .long .LEFDE0-.LASFDE0 >+.LASFDE0: >+ .long .Lframe0 >+ .long .LFB2 >+ .long .LFE2-.LFB2 >+ .byte 0x4 >+ .long .LCFI0-.LFB2 >+ .byte 0xe >+ .uleb128 0x8 >+ .byte 0x85 >+ .uleb128 0x2 >+ .byte 0x4 >+ .long .LCFI1-.LCFI0 >+ .byte 0xd >+ .uleb128 0x5 >+ .align 4 >+.LEFDE0: >+ .section .eh_frame,"a",@progbits >+.Lframe1: >+ .long .LECIE1-.LSCIE1 >+.LSCIE1: >+ .long 0x0 >+ .byte 0x1 >+.globl __gcj_personality_v0 >+ .string "zP" >+ .uleb128 0x1 >+ .sleb128 -4 >+ .byte 0x8 >+ .uleb128 0x5 >+ .byte 0x0 >+ .long __gcj_personality_v0 >+ .byte 0xc >+ .uleb128 0x4 >+ .uleb128 0x4 >+ .byte 0x88 >+ .uleb128 0x1 >+ .align 4 >+.LECIE1: >+.LSFDE1: >+ .long .LEFDE1-.LASFDE1 >+.LASFDE1: >+ .long .LASFDE1-.Lframe1 >+ .long .LFB2 >+ .long .LFE2-.LFB2 >+ .uleb128 0x0 >+ .byte 0x4 >+ .long .LCFI0-.LFB2 >+ .byte 0xe >+ .uleb128 0x8 >+ .byte 0x85 >+ .uleb128 0x2 >+ .byte 0x4 >+ .long .LCFI1-.LCFI0 >+ .byte 0xd >+ .uleb128 0x5 >+ .align 4 >+.LEFDE1: >+ .text >+.Letext0: >+ .section .debug_loc,"",@progbits >+.Ldebug_loc0: >+.LLST0: >+ .long .LFB2-.Ltext0 >+ .long .LCFI0-.Ltext0 >+ .value 0x2 >+ .byte 0x74 >+ .sleb128 4 >+ .long .LCFI0-.Ltext0 >+ .long .LCFI1-.Ltext0 >+ .value 0x2 >+ .byte 0x74 >+ .sleb128 8 >+ .long .LCFI1-.Ltext0 >+ .long .LFE2-.Ltext0 >+ .value 0x2 >+ .byte 0x75 >+ .sleb128 8 >+ .long 0x0 >+ .long 0x0 >+ .section .debug_info >+ .long 0x117 >+ .value 0x2 >+ .long .Ldebug_abbrev0 >+ .byte 0x4 >+ .uleb128 0x1 >+ .string "GNU Java 4.3.0 20071221 (experimental)" >+ .byte 0xb >+ .string "interface.java" >+ .string "/home/jkratoch/redhat/bz371831" >+ .long .Ltext0 >+ .long .Letext0 >+ .long .Ldebug_line0 >+ .uleb128 0x2 >+ .string "Interface" >+ .byte 0x4 >+ .byte 0x1 >+ .byte 0x0 >+ .long 0x8e >+ .long 0x8e >+ .uleb128 0x3 >+ .long 0x8e >+ .byte 0x2 >+ .byte 0x23 >+ .uleb128 0x0 >+ .byte 0x1 >+ .byte 0x0 >+ .uleb128 0x4 >+ .string "java.lang.Object" >+ .byte 0x1 >+ .uleb128 0x5 >+ .string "Class" >+ .byte 0x4 >+ .byte 0x1 >+ .byte 0x0 >+ .long 0x8e >+ .long 0xe8 >+ .uleb128 0x3 >+ .long 0x8e >+ .byte 0x2 >+ .byte 0x23 >+ .uleb128 0x0 >+ .byte 0x1 >+ .uleb128 0x6 >+ .long 0x6e >+ .byte 0x2 >+ .byte 0x23 >+ .uleb128 0x0 >+ .byte 0x1 >+ .byte 0x1 >+ .uleb128 0x7 >+ .byte 0x1 >+ .string "<init>" >+ .byte 0x1 >+ .byte 0x0 >+ .string "_ZN5ClassC1Ev" >+ .byte 0x1 >+ .uleb128 0x8 >+ .long 0xe8 >+ .byte 0x1 >+ .byte 0x0 >+ .byte 0x0 >+ .uleb128 0x9 >+ .byte 0x4 >+ .long 0xa1 >+ .uleb128 0xa >+ .long 0xc6 >+ .long .LFB2 >+ .long .LFE2 >+ .long .LLST0 >+ .long 0x114 >+ .uleb128 0xb >+ .long 0xe8 >+ .byte 0x2 >+ .byte 0x91 >+ .sleb128 0 >+ .uleb128 0xc >+ .long 0x114 >+ .byte 0x2 >+ .byte 0x91 >+ .sleb128 -12 >+ .byte 0x0 >+ .uleb128 0x9 >+ .byte 0x4 >+ .long 0x8e >+ .byte 0x0 >+ .section .debug_abbrev >+ .uleb128 0x1 >+ .uleb128 0x11 >+ .byte 0x1 >+ .uleb128 0x25 >+ .uleb128 0x8 >+ .uleb128 0x13 >+ .uleb128 0xb >+ .uleb128 0x3 >+ .uleb128 0x8 >+ .uleb128 0x1b >+ .uleb128 0x8 >+ .uleb128 0x11 >+ .uleb128 0x1 >+ .uleb128 0x12 >+ .uleb128 0x1 >+ .uleb128 0x10 >+ .uleb128 0x6 >+ .byte 0x0 >+ .byte 0x0 >+ .uleb128 0x2 >+ .uleb128 0x38 >+ .byte 0x1 >+ .uleb128 0x3 >+ .uleb128 0x8 >+ .uleb128 0xb >+ .uleb128 0xb >+ .uleb128 0x3a >+ .uleb128 0xb >+ .uleb128 0x3b >+ .uleb128 0xb >+ .uleb128 0x1d >+ .uleb128 0x13 >+ .uleb128 0x1 >+ .uleb128 0x13 >+ .byte 0x0 >+ .byte 0x0 >+ .uleb128 0x3 >+ .uleb128 0x1c >+ .byte 0x0 >+ .uleb128 0x49 >+ .uleb128 0x13 >+ .uleb128 0x38 >+ .uleb128 0xa >+ .uleb128 0x32 >+ .uleb128 0xb >+ .byte 0x0 >+ .byte 0x0 >+ .uleb128 0x4 >+ .uleb128 0x2 >+ .byte 0x0 >+ .uleb128 0x3 >+ .uleb128 0x8 >+ .uleb128 0x3c >+ .uleb128 0xc >+ .byte 0x0 >+ .byte 0x0 >+ .uleb128 0x5 >+ .uleb128 0x2 >+ .byte 0x1 >+ .uleb128 0x3 >+ .uleb128 0x8 >+ .uleb128 0xb >+ .uleb128 0xb >+ .uleb128 0x3a >+ .uleb128 0xb >+ .uleb128 0x3b >+ .uleb128 0xb >+ .uleb128 0x1d >+ .uleb128 0x13 >+ .uleb128 0x1 >+ .uleb128 0x13 >+ .byte 0x0 >+ .byte 0x0 >+ .uleb128 0x6 >+ .uleb128 0x1c >+ .byte 0x0 >+ .uleb128 0x49 >+ .uleb128 0x13 >+ .uleb128 0x38 >+ .uleb128 0xa >+ .uleb128 0x4c >+ .uleb128 0xb >+ .uleb128 0x32 >+ .uleb128 0xb >+ .byte 0x0 >+ .byte 0x0 >+ .uleb128 0x7 >+ .uleb128 0x2e >+ .byte 0x1 >+ .uleb128 0x3f >+ .uleb128 0xc >+ .uleb128 0x3 >+ .uleb128 0x8 >+ .uleb128 0x3a >+ .uleb128 0xb >+ .uleb128 0x3b >+ .uleb128 0xb >+ .uleb128 0x2007 >+ .uleb128 0x8 >+ .uleb128 0x3c >+ .uleb128 0xc >+ .byte 0x0 >+ .byte 0x0 >+ .uleb128 0x8 >+ .uleb128 0x5 >+ .byte 0x0 >+ .uleb128 0x49 >+ .uleb128 0x13 >+ .uleb128 0x34 >+ .uleb128 0xc >+ .byte 0x0 >+ .byte 0x0 >+ .uleb128 0x9 >+ .uleb128 0xf >+ .byte 0x0 >+ .uleb128 0xb >+ .uleb128 0xb >+ .uleb128 0x49 >+ .uleb128 0x13 >+ .byte 0x0 >+ .byte 0x0 >+ .uleb128 0xa >+ .uleb128 0x2e >+ .byte 0x1 >+ .uleb128 0x47 >+ .uleb128 0x13 >+ .uleb128 0x11 >+ .uleb128 0x1 >+ .uleb128 0x12 >+ .uleb128 0x1 >+ .uleb128 0x40 >+ .uleb128 0x6 >+ .uleb128 0x1 >+ .uleb128 0x13 >+ .byte 0x0 >+ .byte 0x0 >+ .uleb128 0xb >+ .uleb128 0x5 >+ .byte 0x0 >+ .uleb128 0x49 >+ .uleb128 0x13 >+ .uleb128 0x2 >+ .uleb128 0xa >+ .byte 0x0 >+ .byte 0x0 >+ .uleb128 0xc >+ .uleb128 0x34 >+ .byte 0x0 >+ .uleb128 0x49 >+ .uleb128 0x13 >+ .uleb128 0x2 >+ .uleb128 0xa >+ .byte 0x0 >+ .byte 0x0 >+ .byte 0x0 >+ .section .debug_pubnames,"",@progbits >+ .long 0x15 >+ .value 0x2 >+ .long .Ldebug_info0 >+ .long 0x11b >+ .long 0xee >+ .string "()" >+ .long 0x0 >+ .section .debug_aranges,"",@progbits >+ .long 0x1c >+ .value 0x2 >+ .long .Ldebug_info0 >+ .byte 0x4 >+ .byte 0x0 >+ .value 0x0 >+ .value 0x0 >+ .long .Ltext0 >+ .long .Letext0-.Ltext0 >+ .long 0x0 >+ .long 0x0 >+ .ident "GCC: (GNU) 4.3.0 20071221 (experimental)" >+ .section .note.GNU-stack,"",@progbits >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ ./gdb/testsuite/gdb.arch/i386-interface.exp 22 Dec 2007 19:07:28 -0000 >@@ -0,0 +1,66 @@ >+# Copyright 2007 Free Software Foundation, Inc. >+ >+# This program is free software; you can redistribute it and/or modify >+# it under the terms of the GNU General Public License as published by >+# the Free Software Foundation; either version 3 of the License, or >+# (at your option) any later version. >+# >+# This program is distributed in the hope that it will be useful, >+# but WITHOUT ANY WARRANTY; without even the implied warranty of >+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >+# GNU General Public License for more details. >+# >+# You should have received a copy of the GNU General Public License >+# along with this program. If not, see <http://www.gnu.org/licenses/>. >+ >+# Please email any bugs, comments, and/or additions to this file to: >+# bug-gdb@gnu.org >+ >+# This file is part of the gdb testsuite. >+ >+# Test basis recognization of DW_TAG_interface_type. >+# GCC java_classify_record() produces it if returns RECORD_IS_INTERFACE. >+ >+if $tracelevel { >+ strace $tracelevel >+} >+ >+set prms_id 0 >+set bug_id 0 >+ >+if {![istarget "i?86-*-*"] && ![istarget "x86_64-*-*"]} then { >+ verbose "Skipping i386 Java DW_TAG_interface_type test." >+ return >+} >+ >+set testfile "i386-interface" >+set srcfile ${testfile}.S >+set binfile ${objdir}/${subdir}/${testfile}.o >+ >+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" object {debug additional_flags=-m32}] != "" } { >+ untested i386-gnu-cfi.exp >+ return -1 >+} >+ >+# Get things started. >+ >+gdb_exit >+gdb_start >+gdb_reinitialize_dir $srcdir/$subdir >+gdb_load ${binfile} >+ >+gdb_test "set language java" >+ >+set test "ptype Interface" >+gdb_test_multiple $test $test { >+ -re "type = class Interface *extends java.lang.Object \{" { >+ pass $test >+ } >+} >+ >+set test "ptype Class" >+gdb_test_multiple $test $test { >+ -re "type = class Class *extends java.lang.Object implements Interface \{" { >+ pass $test >+ } >+}
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 426600
: 290300