On Wednesday 30 June 2010 23:20:42 Justin P. Mattock wrote:
Hehe, ugly. How about making it a single string? GCC preprocessor
documentation suggests the same anyway ...
Neither `#error' nor `#warning' macro-expands its argument.
Internal whitespace sequences are each replaced with a single space.
The line must consist of complete tokens. It is wisest to make the
argument of these directives be a single string constant; this avoids
problems with apostrophes and the like.
What this is telling you is to put the text into a string constant, which
means you add quotation marks at the beginning and end of the line, like
#warning "see http://example.com/"
From 45f24db45faa06aad01cfc62ff4b475380e5cb11 Mon Sep 17 00:00:00 2001
From: Justin P. Mattock<justinmattock@xxxxxxxxx>
Date: Wed, 30 Jun 2010 14:06:18 -0700
Subject: [PATCH]kernel.h Fix #warning message according to the GCC
preprocessor docs.
BTW, your mail client adds incorrect word wrapping.
--- a/include/linux/kernel.h
+++ b/include/linux/kernel.h
@@ -730,7 +730,7 @@ extern int do_sysinfo(struct sysinfo *info);
#ifndef __EXPORTED_HEADERS__
#ifndef __KERNEL__
-#warning Attempt to use kernel headers from user space, see
http://kernelnewbies.org/KernelHeaders
+#warning Attempt to use kernel headers from user space!
#endif /* __KERNEL__ */
#endif /* __EXPORTED_HEADERS__ */
Here, too.
Also, since you're already touching the warning message, it would be
nice to move it from kernel.h to types.h, which is much more commonly
used. When I introduced the message, I made the mistake to think
that kernel.h was universally used by the majority of all headers,
which turned out to be wrong. linux/types.h (or possibly linux/stddef.h)
seems to be the most commonly used one, so that would be a more
adequate place.
Arnd