aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2023-04-18 16:58:26 +0200
committerRichard Biener <rguenther@suse.de>2023-04-21 15:53:21 +0200
commitc39cdd9e654540f74cd2478019c40f1611554a44 (patch)
tree89e7769e75c3d7c2fd7884f15103b9fddfa2b8db /gcc
parent68c0df8da73cf46e29834cc825f488f4d6b33f98 (diff)
downloadgcc-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.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/gimple-iterator.h4
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);