This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

does this code break the strict-aliasing rules ?


Hi,

encountering strange results, I'm unsure whether this code is affected
by strict-aliasing rules:

static void *CreateRes(PrexecTresource eRes, void *pvVal)
{
    switch(eRes) {
    case PrexecNprintCommand:
    case PrexecNoptHost:
    case PrexecNoptHostString:
    case PrexecNoptDest:
    case PrexecNoptDestString:
    case PrexecNoptFileString:
        if (pvVal != NULL) {
            pvVal = (void*)strdup((char*)pvVal);
        }
        break;
    default:
        break;
    }

    return pvVal;
}

Specifically the casts around the 'strdup'...

Thanks,
  /haubi/



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]