The error: non-const static data member must be initialized out of line
can be fixed by declaring the _a and _b variables in MAX() as const. Then only the following error remains: statement expression not allowed at file scope I don't know how this could be fixed and it might be considered a clang bug. The problem is that MAX() is written as a statement expression (correctly so) and is used at "file scope" according to clang. I do think that this is incorrect and a union definition isn't file scope, but I could be wrong. clang disallowed statement expressions at file scope in 2009: http://llvm.org/bugs/show_bug.cgi?id=3062 A relevant bug report was later filed but nobody looked into it: http://llvm.org/bugs/show_bug.cgi?id=6857 _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel