diff options
author | Richard Biener <rguenther@suse.de> | 2023-04-18 16:58:26 +0200 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2023-04-21 15:53:21 +0200 |
commit | c39cdd9e654540f74cd2478019c40f1611554a44 (patch) | |
tree | 89e7769e75c3d7c2fd7884f15103b9fddfa2b8db | |
parent | 68c0df8da73cf46e29834cc825f488f4d6b33f98 (diff) | |
download | gcc-c39cdd9e654540f74cd2478019c40f1611554a44.zip gcc-c39cdd9e654540f74cd2478019c40f1611554a44.tar.gz gcc-c39cdd9e654540f74cd2478019c40f1611554a44.tar.bz2 |
Add operator* to gimple_stmt_iterator and gphi_iterator
This allows STL style iterator dereference. It's the same
as gsi_stmt () or .phi ().
* gimple-iterator.h (gimple_stmt_iterator::operator*): Add.
(gphi_iterator::operator*): Likewise.
-rw-r--r-- | gcc/gimple-iterator.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/gimple-iterator.h b/gcc/gimple-iterator.h index 38352aa..b709923 100644 --- a/gcc/gimple-iterator.h +++ b/gcc/gimple-iterator.h @@ -24,6 +24,8 @@ along with GCC; see the file COPYING3. If not see struct gimple_stmt_iterator { + gimple *operator * () const { return ptr; } + /* Sequence node holding the current statement. */ gimple_seq_node ptr; @@ -38,6 +40,8 @@ struct gimple_stmt_iterator /* Iterator over GIMPLE_PHI statements. */ struct gphi_iterator : public gimple_stmt_iterator { + gphi *operator * () const { return as_a <gphi *> (ptr); } + gphi *phi () const { return as_a <gphi *> (ptr); |