GCC compile time string comparison

Pintu Agarwal pintu.agarwal@gmail.com
Thu Aug 18 10:52:00 GMT 2011


Hi,

I wanted to do compile time string const comparison in a macro call
but I could not find anything in GCC.

I tried using __builtin_ extended option but it is not working inside a macro.
Here is the sample code:

#define STRCMP(s1,s2)       __builtin_strcmp(s1,s2)

int main()
{
        #if STRCMP("pintu1","pintu2")
                printf("Equal...\n");
        #else
                printf("Not Equal...\n");
        #endif

        return 0;
}

But I am getting this error : error: missing binary operator before token "("

I tried other option such as __builtin_expect, __builtin_constant_p
etc but same problem when used inside macro call

Please help.


Thanks,
Pintu



More information about the Gcc-help mailing list