From 7a1f3177c92556c4ca224d28fc881686845c5052 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Mon, 14 Jul 2014 16:24:07 +0200 Subject: util/Cast: reimplement as template without macro --- src/output/plugins/httpd/HttpdInternal.hxx | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) (limited to 'src/output/plugins') diff --git a/src/output/plugins/httpd/HttpdInternal.hxx b/src/output/plugins/httpd/HttpdInternal.hxx index a16c60bc3..5c113520d 100644 --- a/src/output/plugins/httpd/HttpdInternal.hxx +++ b/src/output/plugins/httpd/HttpdInternal.hxx @@ -152,19 +152,13 @@ public: HttpdOutput(EventLoop &_loop); ~HttpdOutput(); -#if GCC_CHECK_VERSION(4,6) || defined(__clang__) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Winvalid-offsetof" +#if defined(__clang__) || GCC_CHECK_VERSION(4,7) + constexpr #endif - - static constexpr HttpdOutput *Cast(AudioOutput *ao) { - return ContainerCast(ao, HttpdOutput, base); + static HttpdOutput *Cast(AudioOutput *ao) { + return &ContainerCast(*ao, &HttpdOutput::base); } -#if GCC_CHECK_VERSION(4,6) || defined(__clang__) -#pragma GCC diagnostic pop -#endif - using DeferredMonitor::GetEventLoop; bool Init(const config_param ¶m, Error &error); -- cgit v1.2.3