[Bug sanitizer/85777] [7/8/9/10 Regression] -fsanitize=undefined makes a -Wmaybe-uninitialized warning disappear

egallager at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Jun 11 05:54:00 GMT 2019


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85777

--- Comment #11 from Eric Gallager <egallager at gcc dot gnu.org> ---
(In reply to Vincent Lefèvre from comment #10)
> (In reply to Jakub Jelinek from comment #9)
> > That is not true, automake is highly customizable, you can e.g. override
> > COMPILE/LTCOMPILE variables in Makefile.am or something similar.
> 
> The issue is that what COMPILE/LTCOMPILE should contain is not specified, so
> that it is impossible to write a replacement that will be guaranteed to work
> in a portable way.
> 
> For instance, the following is generated:
> 
> LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
>         $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
>         $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
>         $(AM_CFLAGS) $(CFLAGS)
> 
> but the AM_V_lt variable is nowhere documented. Thus replacing
> COMPILE/LTCOMPILE would require the developer to use obscure internals. I
> will never do that!
> 
> Anyway, this would not be these variables that one would need to change, but
> the Make rules that invoke the compiler, like:
> 
> .c.o:
>         $(AM_V_CC)depbase=`echo $@ | sed
> 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
>         $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
>         $(am__mv) $$depbase.Tpo $$depbase.Po
> #       $(AM_V_CC)source='$<' object='$@' libtool=no \
> #       DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
> #       $(AM_V_CC_no)$(COMPILE) -c -o $@ $<
> 
> But this is even worse: more internals, more code that is
> platform-dependent...

The lack of specification/documentation sounds more like a bug with
automake/libtool than with anything under GCC's control. I'd suggest reporting
the issue to automake/libtool instead, but they're not exactly very actively
maintained these days, so... YMMV.


More information about the Gcc-bugs mailing list