On 6/8/15, Stuart Henderson <st...@openbsd.org> wrote:
> On 2015/06/08 10:51, patrick keshishian wrote:
>> lo_send is a macro that is defined in lo/lo_macros.h as:
>>
>> #define lo_send(targ, path, types...) \
>>         lo_send_internal(targ, __FILE__, __LINE__, path, types, \
>>                       LO_MARKER_A, LO_MARKER_B)
>>
>> and the LO_MARKERS_{A,B} as:
>>
>> /* an internal value, ignored in transmission but check against LO_MARKER
>> in the
>>  * argument list. Used to do primitive bounds checking */
>> #    define LO_MARKER_A (void *)0xdeadbeefdeadbeefL
>> #    define LO_MARKER_B (void *)0xf00baa23f00baa23L
>>
>> It seems there is your error's source on i386.
>
> This has been building without problem for ages though, the error only
> occurred in the last build, and nothing changed in the source.

audio/liblo was updated by jasper@ on June 3rd:

revision 1.7
date: 2015/06/03 07:00:29;  author: jasper;  state: Exp;  lines: +3
-4;  commitid: yqEfAjc5XyWkweUr;
update to liblo-0.28

that's where the lo/lo_macros.h header comes from.

Here is diff of that file between version 0.26 and 0.28:


--- liblo-0.26/lo/lo_macros.h   Thu Mar  5 23:09:26 2009
+++ /usr/ports/pobj/liblo-0.28/liblo-0.28/lo/lo_macros.h        Sun Jan 26
06:08:24 2014
@@ -1,5 +1,5 @@
 /*
- *  Copyright (C) 2004 Steve Harris
+ *  Copyright (C) 2014 Steve Harris et al. (see AUTHORS)
  *
  *  This program is free software; you can redistribute it and/or
  *  modify it under the terms of the GNU Lesser General Public License
@@ -36,15 +36,32 @@ extern "C" {

 /* an internal value, ignored in transmission but check against
LO_MARKER in the
  * argument list. Used to do primitive bounds checking */
-#define LO_MARKER_A 0xdeadbeef
-#define LO_MARKER_B 0xf00baa23
+#      define LO_MARKER_A (void *)0xdeadbeefdeadbeefL
+#      define LO_MARKER_B (void *)0xf00baa23f00baa23L
+
 #define LO_ARGS_END LO_MARKER_A, LO_MARKER_B

 #define lo_message_add_varargs(msg, types, list) \
     lo_message_add_varargs_internal(msg, types, list, __FILE__, __LINE__)

-#ifdef __GNUC__
+#ifdef _MSC_VER
+#ifndef USE_ANSI_C
+#define USE_ANSI_C
+#endif
+#endif

+#if defined(USE_ANSI_C) || defined(DLL_EXPORT)
+
+/* In non-GCC compilers, there is no support for variable-argument
+ * macros, so provide "internal" vararg functions directly instead. */
+
+int lo_message_add(lo_message msg, const char *types, ...);
+int lo_send(lo_address targ, const char *path, const char *types, ...);
+int lo_send_timestamped(lo_address targ, lo_timetag ts, const char
*path, const char *types, ...);
+int lo_send_from(lo_address targ, lo_server from, lo_timetag ts,
const char *path, const char *types, ...);
+
+#else // !USE_ANSI_C
+
 #define lo_message_add(msg, types...)                         \
     lo_message_add_internal(msg, __FILE__, __LINE__, types,   \
                             LO_MARKER_A, LO_MARKER_B)
@@ -61,17 +78,7 @@ extern "C" {
         lo_send_from_internal(targ, from, __FILE__, __LINE__, ts, path, \
                                     types, LO_MARKER_A, LO_MARKER_B)

-#else
-
-/* In non-GCC compilers, there is no support for variable-argument
- * macros, so provide "internal" vararg functions directly instead. */
-
-int lo_message_add(lo_message msg, const char *types, ...);
-int lo_send(lo_address targ, const char *path, const char *types, ...);
-int lo_send_timestamped(lo_address targ, lo_timetag ts, const char
*path, const char *types, ...);
-int lo_send_from(lo_address targ, lo_server from, lo_timetag ts,
const char *path, const char *types, ...);
-
-#endif
+#endif // USE_ANSI_C

 #ifdef __cplusplus
 }

Reply via email to