On 10/4/19 10:26 AM, Segher Boessenkool wrote: > On Thu, Oct 03, 2019 at 05:25:55PM +0200, Jakub Jelinek wrote: >> On Thu, Oct 03, 2019 at 03:17:47PM +0000, Bernd Edlinger wrote: >>> this fixes -Wshadow=local warnings in the RTL_FLAG_CHECKx macros, >>> which happen when this macro is used recursively in a macro >>> argument. The __typeof (RTX) const _rtx in the inner macro >>> expansions shadows the outer macro expansions. >>> >>> So reworked the macro to not use statement expressions but >>> use templates instead. Since the 7-argument overload is not >>> used anywhere removed RTL_FLAG_CHECK7 for now. >> >> What effect does this have on the cc1/cc1plus .text sizes? >> Does this affect debuggability of --enable-checking=yes,rtl compilers? >> I mean, often when we replace some macros with inlines step in GDB >> becomes a bigger nightmare, having to go through tons of inline frames. >> gdbinit.in has a lengthy list of inlines to skip in rtl.h, shouldn't this be >> added to that list? Not 100% sure how well it will work on rtl checking >> vs. non-rtl checking builds. > > Also, how much slower does it make RTL checking builds? >
Okay, I bootstrapped r276457: with patch, --enable-languages=all --enable-checking=yes,rtl 1:03:30 unpatched, --enable-languages=all --enable-checking=yes,rtl 1:03:18 unpatched, --enable-languages=all 0:58:41 The difference is only small, if at all significant. I used the later version of the patch here: https://gcc.gnu.org/ml/gcc-patches/2019-10/msg00365.html since the original version did not work with --enable-checking=rtl. Bernd.