diff options
-rw-r--r-- | gcc/gdbhooks.py | 6 | ||||
-rw-r--r-- | gcc/read-rtl-function.cc | 9 | ||||
-rw-r--r-- | gcc/vec.cc | 2 |
3 files changed, 9 insertions, 8 deletions
diff --git a/gcc/gdbhooks.py b/gcc/gdbhooks.py index e29bd45..32ddaf6 100644 --- a/gcc/gdbhooks.py +++ b/gcc/gdbhooks.py @@ -133,10 +133,10 @@ vector: attempting to do so instead gives you the vec itself (for vec[0]), or a (probably) invalid cast to vec<> for the memory after the vec (for vec[1] onwards). -Instead (for now) you must access m_vecdata: - (gdb) p bb->preds->m_vecdata[0] +Instead (for now) you must access the payload directly: + (gdb) p ((edge_def**)(bb->preds+1))[0] $20 = <edge 0x7ffff044d380 (3 -> 5)> - (gdb) p bb->preds->m_vecdata[1] + (gdb) p ((edge_def**)(bb->preds+1))[1] $21 = <edge 0x7ffff044d3b8 (4 -> 5)> """ import os.path diff --git a/gcc/read-rtl-function.cc b/gcc/read-rtl-function.cc index 74bd4dd..b89a811 100644 --- a/gcc/read-rtl-function.cc +++ b/gcc/read-rtl-function.cc @@ -622,10 +622,11 @@ function_reader::parse_block () These can get out-of-sync when basic blocks are optimized away. They get back in sync by "compact_blocks". - We reconstruct cfun->cfg->x_basic_block_info->m_vecdata with NULL - values in it for any missing basic blocks, so that (a) == (b) for - all of the blocks we create. The doubly-linked list of basic - blocks (next_bb/prev_bb) skips over these "holes". */ + We reconstruct cfun->cfg->x_basic_block_info->address () pointed + vector elements with NULL values in it for any missing basic blocks, + so that (a) == (b) for all of the blocks we create. The + doubly-linked list of basic blocks (next_bb/prev_bb) skips over + these "holes". */ if (m_highest_bb_idx < bb_idx) m_highest_bb_idx = bb_idx; @@ -568,7 +568,7 @@ test_auto_delete_vec () ASSERT_EQ (dtor_count, 2); } -/* Verify accesses to m_vecdata are done indirectly. */ +/* Verify accesses to vector elements are done indirectly. */ static void test_auto_alias () |