Messages in this thread | | | Date | Mon, 17 Jan 2011 16:50:16 +0800 | From | Américo Wang <> | Subject | Re: [UPDATE] gcc NULL strings passed from ternary operators in kernel modules |
| |
On Thu, Jan 13, 2011 at 12:56:39AM -0700, Jeffrey Merkey wrote: >might help if my examples are correct -- geez... > >interesting case with gcc. The following code example: > >printk("%s\n", (value & 1) ? "set": "clear"); > >will evaluate to NULL unless the ":" character has a space after >static string declaration. > >this version > >printk("%s\n", (value & 1) ? "set" : "clear"); > >works. > >go figure. Looks like gcc assumes this case is a C++ construct of >some sort and >evaluates it to NULL. >
Huh? How can gcc assume that is C++ code?! Whitespaces definitely should not bother the code.
Which version of gcc are you using?
| |