]> git.ipfire.org Git - thirdparty/gcc.git/commit
Fix PR c++/70452 (regression in C++ parsing performance)
authorPatrick Palka <ppalka@gcc.gnu.org>
Tue, 5 Apr 2016 16:40:00 +0000 (16:40 +0000)
committerPatrick Palka <ppalka@gcc.gnu.org>
Tue, 5 Apr 2016 16:40:00 +0000 (16:40 +0000)
commitc0daf32d0cd8c1ddac7f347058ea42caf15afd96
tree37e8ab52937bf7489cef7d365c164152b6294e91
parentbf867841b453a347ec0d9dca45758f20949fd89a
Fix PR c++/70452 (regression in C++ parsing performance)

gcc/cp/ChangeLog:

PR c++/70452
* constexpr.c (struct fundef_copy): New struct.
(struct fundef_copies_table_t): New struct.
(fundef_copies_table): New static variable.
(maybe_initialize_fundef_copies_table): New static function.
(get_fundef_copy): New static function.
(save_fundef_copy): New static function.
(cxx_eval_call_expression): Use get_fundef_copy, and
save_fundef_copy.
(constexpr_call_table): Add "deletable" GTY marker.

gcc/testsuite/ChangeLog:

PR c++/70452
* g++.dg/ext/constexpr-vla4.C: New test.

From-SVN: r234753
gcc/cp/ChangeLog
gcc/cp/constexpr.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/ext/constexpr-vla4.C [new file with mode: 0644]