diff --git a/lib-src/libnyquist/nyquist/cmupv/src/cmupv.c b/lib-src/libnyquist/nyquist/cmupv/src/cmupv.c index 8c1c7b5a8..e05c28dd9 100644 --- a/lib-src/libnyquist/nyquist/cmupv/src/cmupv.c +++ b/lib-src/libnyquist/nyquist/cmupv/src/cmupv.c @@ -600,6 +600,7 @@ double pv_get_effective_pos(Phase_vocoder x) return -(pv->ratio * pv->fftsize / 2.0); } // I can't think of any other case. assert(FALSE); + return(0); } diff --git a/lib-src/libnyquist/nyquist/xlisp/xlbfun.c b/lib-src/libnyquist/nyquist/xlisp/xlbfun.c index 37ab60479..f434a674d 100644 --- a/lib-src/libnyquist/nyquist/xlisp/xlbfun.c +++ b/lib-src/libnyquist/nyquist/xlisp/xlbfun.c @@ -603,7 +603,10 @@ LVAL xcleanup(void) { xllastarg(); xlcleanup(); - /* compiler might (wrongly) complain there is no return value */ + /* this point will never be reached because xlcleanup() does a + longjmp(). The return is added to avoid false positive + error messages from static analyzers and compilers */ + return (NIL); } /* xtoplevel - special form 'top-level' */ diff --git a/lib-src/portsmf/allegro.cpp b/lib-src/portsmf/allegro.cpp index a87117e38..d4717855a 100644 --- a/lib-src/portsmf/allegro.cpp +++ b/lib-src/portsmf/allegro.cpp @@ -2905,6 +2905,9 @@ Alg_event_ptr &Alg_seq::operator[](int i) tr++; } assert(false); // out of bounds + Alg_event_ptr ab_track; + return ab_track; // Fix false positive error: control reaches end of non-void function [-Werror=return-type] + // Ignores the assert A gcc bug? } #pragma warning(default: 4715)