[PATCH weston] sdk: make C++11 plugins build again

Kristian Høgsberg hoegsberg at gmail.com
Mon Dec 9 15:57:16 PST 2013


On Mon, Dec 09, 2013 at 10:47:58PM +0100, Giulio Camuffo wrote:
> compositor.h must not define a 'static_assert' macro, since that
> conflicts with the new 'static_assert' in the standard and breaks
> the build.

Ugh, ok, sorry.  Maybe we need a private header file where we can hide
all our C macros - ARRAY_LENGTH, static_assert, container_of etc.

Anyway, applied this patch for now, thanks.

Kristian

> ---
>  desktop-shell/shell.c | 4 ++++
>  src/compositor.h      | 4 ----
>  2 files changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c
> index 5f6bd6d..9fbac00 100644
> --- a/desktop-shell/shell.c
> +++ b/desktop-shell/shell.c
> @@ -43,6 +43,10 @@
>  #define DEFAULT_NUM_WORKSPACES 1
>  #define DEFAULT_WORKSPACE_CHANGE_ANIMATION_LENGTH 200
>  
> +#ifndef static_assert
> +#define static_assert(cond, msg)
> +#endif
> +
>  struct focus_state {
>  	struct weston_seat *seat;
>  	struct workspace *ws;
> diff --git a/src/compositor.h b/src/compositor.h
> index ab3de19..9f34d40 100644
> --- a/src/compositor.h
> +++ b/src/compositor.h
> @@ -45,10 +45,6 @@ extern "C" {
>  
>  #define ARRAY_LENGTH(a) (sizeof (a) / sizeof (a)[0])
>  
> -#ifndef static_assert
> -#define static_assert(cond, msg)
> -#endif
> -
>  #define container_of(ptr, type, member) ({				\
>  	const __typeof__( ((type *)0)->member ) *__mptr = (ptr);	\
>  	(type *)( (char *)__mptr - offsetof(type,member) );})
> -- 
> 1.8.5.1
> 
> _______________________________________________
> wayland-devel mailing list
> wayland-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/wayland-devel


More information about the wayland-devel mailing list