diff options
Diffstat (limited to 'gdb/gcc.patch')
-rw-r--r-- | gdb/gcc.patch | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/gdb/gcc.patch b/gdb/gcc.patch index 04aeec3..e69de29 100644 --- a/gdb/gcc.patch +++ b/gdb/gcc.patch @@ -1,72 +0,0 @@ -In the 2.3.2 release of gcc/g++, how the compiler handles resolving -multiple inheritance lattices was reworked to properly discover -ambiguities. We recently found an example which causes this new -algorithm to fail in a very subtle way. For the time being, this -patch will make the compiler use the old algorithm, which works for -the failing case we've found. Note it will revert the compiler's -ability to properly deduce MI ambiguities in many cases (to its state -in 2.2.2 and 2.3.1). This bug will be fixed in the next gcc/g++ -release. - -Brendan Kehoe (brendan@cygnus.com) - -*** cp-search.c.~1~ Thu Feb 18 18:03:24 1993 ---- cp-search.c Thu Feb 18 18:03:27 1993 -*************** -*** 2389,2392 **** ---- 2389,2393 ---- - if ((*qfn)(base_binfo)) - { -+ #if 0 - if (fn == dfs_init_vbase_pointers) - { -*************** -*** 2464,2467 **** ---- 2465,2469 ---- - saw_first_vbase = save_saw_first_vbase; - } else -+ #endif - dfs_walk (base_binfo, fn, qfn); - } -*************** dfs_init_vbase_pointers (binfo) -*** 2658,2661 **** ---- 2660,2664 ---- - return; - -+ #if 0 - this_vbase_ptr = vbase_decl_ptr_intermediate; - -*************** dfs_init_vbase_pointers (binfo) -*** 2662,2668 **** - if (TYPE_POINTER_TO (type) != TREE_TYPE (this_vbase_ptr)) - my_friendly_abort (125); - -- #if 0 - distance = get_base_distance (type, TREE_TYPE (vbase_decl), 0, &path); - if (distance == -2) - { ---- 2665,2672 ---- - if (TYPE_POINTER_TO (type) != TREE_TYPE (this_vbase_ptr)) - my_friendly_abort (125); -+ #endif - - distance = get_base_distance (type, TREE_TYPE (vbase_decl), 0, &path); -+ #if 0 - if (distance == -2) - { -*************** dfs_init_vbase_pointers (binfo) -*** 2669,2672 **** ---- 2673,2677 ---- - error ("inheritance lattice too complex below"); - } -+ #endif - while (path) - { -*************** dfs_init_vbase_pointers (binfo) -*** 2682,2685 **** ---- 2687,2691 ---- - this_vbase_ptr = convert_pointer_to (type, vbase_decl_ptr); - -+ #if 0 - /* This happens when it is ambiguous. */ - if (this_vbase_ptr == error_mark_node) |