This eliminates LAIR/C build log noise to the tune of 70,000 lines!
(c:decl 'sobj* 'current_block)
(c:scall "DECLARE_VARIABLES")
;; dlink is initialized right before perform_dispatch.
- (c:decl 'sobj* (c:dlink-reg))
+ (c:decl-unused 'sobj* (c:dlink-reg))
(register-declarations)
extra-decls
(c:line)
(if (default-object? val) "" (string-append " = " (c:expr val)))
";"))
+(define (c:decl-unused type var #!optional val)
+ (c:line (c:type type) " " (c:var var)
+ (if (default-object? val) "" (string-append " = " (c:expr val)))
+ " ATTRIBUTE((unused));"))
+
(define (c:var item)
(cond ((string? item) item)
((symbol? item) (symbol-name item))
extern SCHEME_OBJECT * sp_register;
\f
-#ifdef __GNUC__
-/* Add attributes to avoid warnings from -Wall for unreferenced labels */
-# define DEFLABEL(name) name : __attribute__((unused))
-#else
-# define DEFLABEL(name) name :
-#endif
+#define DEFLABEL(name) name : ATTRIBUTE((unused))
union machine_word_u
{