compilers/imcc/pbc.c:182: warning

Joshua Hoblitt jhoblitt at ifa.hawaii.edu
Sun Apr 5 21:29:45 UTC 2009


Building Parrot for the first time in _way to long_ today, I noticed this
compiler warning:

    compilers/imcc/pbc.c:182: warning: 'old_blocks' declared 'static' but never defined

Which bothered me.  It looks like in pbc.c there are prototypes for
old_blocks() declared twice.  One at line 182 and then again identically about
100 lines lower inside a #ifdef HAS_JIT.  old_block() itself also lives inside
of another #ifdef HAS_JIT.  Is there any good reason not to remove the
prototype that sits outside the HAS_JIT ifdefs?

Cheers,

-J

--
Index: compilers/imcc/pbc.c
===================================================================
--- compilers/imcc/pbc.c    (revision 37869)
+++ compilers/imcc/pbc.c    (working copy)
@@ -177,10 +177,6 @@
         __attribute__nonnull__(1)
         __attribute__nonnull__(2);
 
-PARROT_WARN_UNUSED_RESULT
-static int old_blocks(PARROT_INTERP)
-        __attribute__nonnull__(1);
-
 PARROT_CONST_FUNCTION
 PARROT_WARN_UNUSED_RESULT
 PARROT_CANNOT_RETURN_NULL
@@ -273,8 +269,6 @@
 #define ASSERT_ARGS_mk_multi_sig __attribute__unused__ int _ASSERT_ARGS_CHECK = \
        PARROT_ASSERT_ARG(interp) \
     || PARROT_ASSERT_ARG(r)
-#define ASSERT_ARGS_old_blocks __attribute__unused__ int _ASSERT_ARGS_CHECK = \
-       PARROT_ASSERT_ARG(interp)
 #define ASSERT_ARGS_slice_deb __attribute__unused__ int _ASSERT_ARGS_CHECK = 0
 #define ASSERT_ARGS_store_fixup __attribute__unused__ int _ASSERT_ARGS_CHECK = \
        PARROT_ASSERT_ARG(interp) \
@@ -293,6 +287,9 @@
 
 #ifdef HAS_JIT
 
+#define ASSERT_ARGS_old_blocks __attribute__unused__ int _ASSERT_ARGS_CHECK = \
+       PARROT_ASSERT_ARG(interp)
+
 PARROT_WARN_UNUSED_RESULT
 static int old_blocks(PARROT_INTERP)
         __attribute__nonnull__(1);


More information about the parrot-dev mailing list