On Sat, 23 Jun 2018 at 12:39, U.Mutlu wrote: > > Hi, > when building the languages=c,c++ with "-g0 -DNDEBUG", then the following > error happens: > > ../../../gcc_trunk/libitm/method-serial.cc: In member function 'void > GTM::gtm_thread::serialirr_mode()': > ../../../gcc_trunk/libitm/method-serial.cc:309:12: error: unused variable 'ok' > [-Werror=unused-variable] > bool ok = disp->trycommit (priv_time); > ^~ > > Of course one can get rid of it by giving also -Wno-error=unused-variable. > > > But nevertheless, someone more knowledgeable should check & possibly fix that > assert related error: > > bool ok = disp->trycommit (priv_time); > // Given that we're already serial, the trycommit better work. > assert (ok); > > I think maybe so: > > // Given that we're already serial, the trycommit better work. > #ifndef NDEBUG > const bool ok = disp->trycommit (priv_time); > assert (ok); > #else > disp->trycommit (priv_time); > #endif
No, because now the statement has to be maintained twice. This is what __attribute__((unused)) is for. This belongs in bugzilla really, not this mailing list.