2018-03-11 20:57 GMT-03:00 Jonathan de Boyne Pollard: > > The macro generates no warning in the GNU C library in Debian 9, but I > should have caught that overload that was not passing by reference. It is > fixed now, thank you. The in-development source archive for 1.38 is in the > usual place.
Yes, both G++ warnings are gone now. BTW, the removal of the macros from <sys/types.h> has already been committed, so it looks like it is going to happen for GNU libc version 2.28: * https://sourceware.org/git/?p=glibc.git;a=commit;h=e16deca62e16f645213dffd4ecd1153c37765f17 However, a new warning has appeared: In file included from set-control-group-knob.cpp:23:0: popt.h:85:16: warning: 'virtual bool popt::table_definition::execute(popt::processor&, char, const char*)' was hidden [-Woverloaded-virtual] virtual bool execute(processor &, char c, const char * s); ^~~~~~~ popt.h:100:16: warning: by 'popt::top_table_definition::execute' [-Woverloaded-virtual] virtual bool execute(processor &, const char * s); ^~~~~~~ I believe this is because the 1.38 development version dropped a 'using table_definition::execute;' declaration from the definition of class popt::top_table_definition that was present in 1.37, so the three parameter version of popt::table_definition::execute() would now be hidden. I only did a quick 'redo set-control-group-knob.o' test, so I'm not sure if it is important or if it affects anything, though. Thanks, G.