https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89134

Jiangning Liu <jiangning.liu at amperecomputing dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |UNCONFIRMED
         Resolution|INVALID                     |---

--- Comment #2 from Jiangning Liu <jiangning.liu at amperecomputing dot com> ---
The original case is only a simple example, and what if GCC can figure out it
is NOT an infinite loop? For example,

std::map<KidsBook, BookEntry, comp> BookTable;

BookTable::iterator iter;
BookTable booktable;
for (iter = booktable.begin(); iter!=booktable.end(); ++iter) {
   if (b) {
      b = do_something();
   }
}

Then GCC should be able to figure out this loop is a finite loop due to using
standard C++ STL std::map. The cost of iterating std::map might be high, so
we'd better consider optimize away the empty loop.

Reply via email to