Hi all,

I've noticed that compilation warnings for regexp.c and wildcard.c are 
suppressed by CFLAGS_GNULIB. Removing it expose ftbs caused by both missing 
defines for gnulib and compilation warnings (see attached patch). I'm not sure 
how we should handle missing defines but I think that we should not suppresed 
warnings like it is done now.

Currently only regexp uses gnulib so this problem is not so important, but in 
future more modules might start using it and this should be handled somewhat 
better.  Yet, I'm not sure how.. maybe a wrapper header or CFLAGS_GNULIB_USER 
in conf/Makefile.common?

-- 
Szymon K. Janc
szy...@janc.net.pl // GG: 1383435
=== modified file 'grub-core/Makefile.core.def'
--- grub-core/Makefile.core.def	2010-11-14 22:36:20 +0000
+++ grub-core/Makefile.core.def	2010-11-23 22:05:06 +0000
@@ -429,7 +429,7 @@
   common = commands/regexp.c;
   common = commands/wildcard.c;
   ldadd = libgnulib.a;
-  cflags = '$(CFLAGS_POSIX) $(CFLAGS_GNULIB)';
+  cflags = '$(CFLAGS_POSIX)';
   cppflags = '$(CPPFLAGS_POSIX) $(CPPFLAGS_GNULIB)';
 };
 

=== modified file 'grub-core/commands/regexp.c'
--- grub-core/commands/regexp.c	2010-09-14 21:06:01 +0000
+++ grub-core/commands/regexp.c	2010-11-24 16:26:24 +0000
@@ -25,6 +25,15 @@
 #include <grub/extcmd.h>
 #include <grub/i18n.h>
 #include <grub/script_sh.h>
+
+#ifndef __STRICT_ANSI__
+#define __STRICT_ANSI__ 0
+#endif
+
+#ifndef __STDC_VERSION__
+#define __STDC_VERSION__ 0
+#endif
+
 #include <regex.h>
 
 static const struct grub_arg_option options[] =
@@ -87,7 +96,6 @@
 static grub_err_t
 grub_cmd_regexp (grub_extcmd_context_t ctxt, int argc, char **args)
 {
-  int argn = 0;
   regex_t regex;
   int ret;
   grub_size_t s;

=== modified file 'grub-core/commands/wildcard.c'
--- grub-core/commands/wildcard.c	2010-09-12 18:15:30 +0000
+++ grub-core/commands/wildcard.c	2010-11-24 16:27:46 +0000
@@ -24,6 +24,14 @@
 #include <grub/device.h>
 #include <grub/script_sh.h>
 
+#ifndef __STRICT_ANSI__
+#define __STRICT_ANSI__ 0
+#endif
+
+#ifndef __STDC_VERSION__
+#define __STDC_VERSION__ 0
+#endif
+
 #include <regex.h>
 
 static inline int isregexop (char ch);
@@ -266,7 +274,6 @@
 	     const regex_t *regexp)
 {
   int i;
-  int error;
   char **files;
   unsigned nfile;
   char *dir;
@@ -276,7 +283,7 @@
   grub_device_t dev;
 
   auto int match (const char *name, const struct grub_dirhook_info *info);
-  int match (const char *name, const struct grub_dirhook_info *info)
+  int match (const char *name, const struct grub_dirhook_info *info __attribute__ ((unused)))
   {
     char **t;
     char *buffer;
@@ -440,8 +447,6 @@
 
 	  else if (*start == '/') /* no device part */
 	    {
-	      char **r;
-	      unsigned n;
 	      char *root;
 	      char *prefix;
 

_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to