[Bug c++/115165] ICE on -ftime-report with module and c++2b
cvs-commit at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Jul 18 03:08:51 GMT 2024
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115165
--- Comment #3 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-14 branch has been updated by Nathaniel Shead
<nshead@gcc.gnu.org>:
https://gcc.gnu.org/g:f0c3a1c16af234b55f48cf1cfe299417f93f163c
commit r14-10453-gf0c3a1c16af234b55f48cf1cfe299417f93f163c
Author: Nathaniel Shead <nathanieloshead@gmail.com>
Date: Sun Jul 7 23:19:52 2024 +1000
c++/modules: Conditionally start timer during lazy load [PR115165]
While lazy loading, instantiation of pendings can sometimes recursively
perform name lookup and begin further lazy loading. When using the
'-ftime-report' functionality this causes ICEs as we could start an
already-running timer for the importing.
This patch fixes the issue by using the 'timevar_cond*' API instead to
support such recursive calls.
PR c++/115165
gcc/cp/ChangeLog:
* module.cc (lazy_load_binding): Use 'timevar_cond*' APIs.
(lazy_load_pendings): Likewise.
gcc/testsuite/ChangeLog:
* g++.dg/modules/timevar-1_a.H: New test.
* g++.dg/modules/timevar-1_b.C: New test.
Signed-off-by: Nathaniel Shead <nathanieloshead@gmail.com>
More information about the Gcc-bugs
mailing list