[Bug c/68187] Poor error message from -Wmisleading-indentation on glibc's ../stdlib/strtol_l.c

bernd.edlinger at hotmail dot de gcc-bugzilla@gcc.gnu.org
Mon Dec 14 10:17:00 GMT 2015


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

Bernd Edlinger <bernd.edlinger at hotmail dot de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bernd.edlinger at hotmail dot de

--- Comment #1 from Bernd Edlinger <bernd.edlinger at hotmail dot de> ---
Hi, I have another similar misleading warning in openssl-1.0.1p:


HREADS -D_REENTRANT -O3 -fomit-frame-pointer -Wall   -c -o eng_lib.o eng_lib.c
eng_lib.c: In Funktion »engine_free_util«:
eng_lib.c:120:9: Warnung: statement is indented as if it were guarded by...
[-Wmisleading-indentation]
         if (i > 0)
         ^~

eng_lib.c:117:5: Anmerkung: ...this »else« clause, but it is not
     else
     ^~~~


in crypto/engine/eng_lib.c:

int engine_free_util(ENGINE *e, int locked)
{
    int i;

    if (e == NULL) {
        ENGINEerr(ENGINE_F_ENGINE_FREE_UTIL, ERR_R_PASSED_NULL_PARAMETER);
        return 0;
    }
    if (locked)
        i = CRYPTO_add(&e->struct_ref, -1, CRYPTO_LOCK_ENGINE);
    else
        i = --e->struct_ref;
    engine_ref_debug(e, 0, -1)
        if (i > 0)
        return 1;
#ifdef REF_CHECK
    if (i < 0) {
        fprintf(stderr, "ENGINE_free, bad structural reference count\n");
        abort();
    }


More information about the Gcc-bugs mailing list