[be] fix amazingly stupid conditional expression handling
[smatch.git] / validation / preprocessor6.c
blob87b79431d4e1d1ba36c29231fe7e0fe79ec9c999
1 /*
2 * We get '##' wrong for the kernel.
4 * It could possibly be argued that the kernel usage
5 * is undefined (since the different sides of the '##'
6 * are not proper tokens), but that's probably a load
7 * of bull. We should just try to do it right.
9 * This _should_ result in
11 * static char __vendorstr_003d[] __devinitdata = "Lockheed Martin-Marietta Corp";
13 * but we break up the "003d" into two tokens ('003' and 'd')
14 * and then we also put the 'o' marker to mark the token 003
15 * as an octal number, so we end up with
17 * static char __vendorstr_o03 d [ ] __devinitdata = "Lockheed Martin-Marietta Corp";
19 * which doesn't work, of course.
22 #define __devinitdata __attribute__((section(".devinit")))
24 #define VENDOR( vendor, name ) \
25 static char __vendorstr_##vendor[] __devinitdata = name;
26 VENDOR(003d,"Lockheed Martin-Marietta Corp")