-#define GST_CAT_LEVEL_LOG(cat,level,args...) /* NOP */
-
-#define GST_CAT_ERROR_OBJECT(args...) /* NOP */
-#define GST_CAT_WARNING_OBJECT(args...) /* NOP */
-#define GST_CAT_INFO_OBJECT(args...) /* NOP */
-#define GST_CAT_DEBUG_OBJECT(args...) /* NOP */
-#define GST_CAT_LOG_OBJECT(args...) /* NOP */
-
-#define GST_CAT_ERROR(args...) /* NOP */
-#define GST_CAT_WARNING(args...) /* NOP */
-#define GST_CAT_INFO(args...) /* NOP */
-#define GST_CAT_DEBUG(args...) /* NOP */
-#define GST_CAT_LOG(args...) /* NOP */
-
-#define GST_ERROR_OBJECT(args...) /* NOP */
-#define GST_WARNING_OBJECT(args...) /* NOP */
-#define GST_INFO_OBJECT(args...) /* NOP */
-#define GST_DEBUG_OBJECT(args...) /* NOP */
-#define GST_LOG_OBJECT(args...) /* NOP */
-
-#define GST_ERROR(args...) /* NOP */
-#define GST_WARNING(args...) /* NOP */
-#define GST_INFO(args...) /* NOP */
-#define GST_DEBUG(args...) /* NOP */
-#define GST_LOG(args...) /* NOP */
-
-#else
+#define GST_CAT_LEVEL_LOG(cat,level,args...) G_STMT_START{ }G_STMT_END
+
+#define GST_CAT_ERROR_OBJECT(args...) G_STMT_START{ }G_STMT_END
+#define GST_CAT_WARNING_OBJECT(args...) G_STMT_START{ }G_STMT_END
+#define GST_CAT_INFO_OBJECT(args...) G_STMT_START{ }G_STMT_END
+#define GST_CAT_DEBUG_OBJECT(args...) G_STMT_START{ }G_STMT_END
+#define GST_CAT_LOG_OBJECT(args...) G_STMT_START{ }G_STMT_END
+#define GST_CAT_FIXME_OBJECT(args...) G_STMT_START{ }G_STMT_END
+#define GST_CAT_TRACE_OBJECT(args...) G_STMT_START{ }G_STMT_END
+
+#define GST_CAT_ERROR(args...) G_STMT_START{ }G_STMT_END
+#define GST_CAT_WARNING(args...) G_STMT_START{ }G_STMT_END
+#define GST_CAT_INFO(args...) G_STMT_START{ }G_STMT_END
+#define GST_CAT_DEBUG(args...) G_STMT_START{ }G_STMT_END
+#define GST_CAT_LOG(args...) G_STMT_START{ }G_STMT_END
+#define GST_CAT_FIXME(args...) G_STMT_START{ }G_STMT_END
+#define GST_CAT_TRACE(args...) G_STMT_START{ }G_STMT_END
+
+#define GST_ERROR_OBJECT(args...) G_STMT_START{ }G_STMT_END
+#define GST_WARNING_OBJECT(args...) G_STMT_START{ }G_STMT_END
+#define GST_INFO_OBJECT(args...) G_STMT_START{ }G_STMT_END
+#define GST_DEBUG_OBJECT(args...) G_STMT_START{ }G_STMT_END
+#define GST_LOG_OBJECT(args...) G_STMT_START{ }G_STMT_END
+#define GST_FIXME_OBJECT(args...) G_STMT_START{ }G_STMT_END
+#define GST_TRACE_OBJECT(args...) G_STMT_START{ }G_STMT_END
+
+#define GST_ERROR(args...) G_STMT_START{ }G_STMT_END
+#define GST_WARNING(args...) G_STMT_START{ }G_STMT_END
+#define GST_INFO(args...) G_STMT_START{ }G_STMT_END
+#define GST_DEBUG(args...) G_STMT_START{ }G_STMT_END
+#define GST_LOG(args...) G_STMT_START{ }G_STMT_END
+#define GST_FIXME(args...) G_STMT_START{ }G_STMT_END
+#define GST_TRACE(args...) G_STMT_START{ }G_STMT_END
+
+#else /* !G_HAVE_GNUC_VARARGS */