Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 5 Mar 2019 16:14:55 +0000 (UTC)
From:      Jan Beich <jbeich@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r494708 - in head/www: iridium/files qt5-webengine/files
Message-ID:  <201903051614.x25GEtTH070430@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jbeich
Date: Tue Mar  5 16:14:55 2019
New Revision: 494708
URL: https://svnweb.freebsd.org/changeset/ports/494708

Log:
  www/qt5-webengine: unbreak with clang8 and gcc8 on i386
  
  https://bugs.chromium.org/p/chromium/issues/detail?id=900406
  
  In file included from ../../../../qtwebengine-opensource-src-5.9.5/src/3rdparty/chromium/mojo/public/c/system/thunks.cc:5:
  In file included from ../../../../qtwebengine-opensource-src-5.9.5/src/3rdparty/chromium/mojo/public/c/system/thunks.h:13:
  In file included from ../../../../qtwebengine-opensource-src-5.9.5/src/3rdparty/chromium/mojo/public/c/system/core.h:12:
  ../../../../qtwebengine-opensource-src-5.9.5/src/3rdparty/chromium/mojo/public/c/system/buffer.h:43:1: error: static_assert failed due to requirement 'alignof(long long) == 8' "int64_t has weird alignment"
  MOJO_STATIC_ASSERT(MOJO_ALIGNOF(int64_t) == 8, "int64_t has weird alignment");
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  ../../../../qtwebengine-opensource-src-5.9.5/src/3rdparty/chromium/mojo/public/c/system/macros.h:15:39: note: expanded from macro 'MOJO_STATIC_ASSERT'
   #define MOJO_STATIC_ASSERT(expr, msg) static_assert(expr, msg)
                                         ^             ~~~~
  In file included from ../../../../qtwebengine-opensource-src-5.9.5/src/3rdparty/chromium/mojo/public/c/system/thunks.cc:5:
  In file included from ../../../../qtwebengine-opensource-src-5.9.5/src/3rdparty/chromium/mojo/public/c/system/thunks.h:13:
  In file included from ../../../../qtwebengine-opensource-src-5.9.5/src/3rdparty/chromium/mojo/public/c/system/core.h:13:
  ../../../../qtwebengine-opensource-src-5.9.5/src/3rdparty/chromium/mojo/public/c/system/data_pipe.h:44:1: error: static_assert failed due to requirement 'alignof(long long) == 8' "int64_t has weird alignment"
  MOJO_STATIC_ASSERT(MOJO_ALIGNOF(int64_t) == 8, "int64_t has weird alignment");
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  ../../../../qtwebengine-opensource-src-5.9.5/src/3rdparty/chromium/mojo/public/c/system/macros.h:15:39: note: expanded from macro 'MOJO_STATIC_ASSERT'
   #define MOJO_STATIC_ASSERT(expr, msg) static_assert(expr, msg)
                                         ^             ~~~~
  In file included from ../../../../qtwebengine-opensource-src-5.9.5/src/3rdparty/chromium/mojo/public/c/system/thunks.cc:5:
  In file included from ../../../../qtwebengine-opensource-src-5.9.5/src/3rdparty/chromium/mojo/public/c/system/thunks.h:13:
  In file included from ../../../../qtwebengine-opensource-src-5.9.5/src/3rdparty/chromium/mojo/public/c/system/core.h:16:
  ../../../../qtwebengine-opensource-src-5.9.5/src/3rdparty/chromium/mojo/public/c/system/message_pipe.h:49:1: error: static_assert failed due to requirement 'alignof(long long) == 8' "int64_t has weird alignment"
  MOJO_STATIC_ASSERT(MOJO_ALIGNOF(int64_t) == 8, "int64_t has weird alignment");
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  ../../../../qtwebengine-opensource-src-5.9.5/src/3rdparty/chromium/mojo/public/c/system/macros.h:15:39: note: expanded from macro 'MOJO_STATIC_ASSERT'
   #define MOJO_STATIC_ASSERT(expr, msg) static_assert(expr, msg)
                                         ^             ~~~~
  3 errors generated.
  
  Reported by:	pkg-fallout
  Obtained from:	upstream
  Approved by:	portmgr blanket

Added:
  head/www/iridium/files/patch-mojo_edk_system_options__validation__unittest.cc   (contents, props changed)
  head/www/iridium/files/patch-mojo_public_c_system_buffer.h   (contents, props changed)
  head/www/iridium/files/patch-mojo_public_c_system_data__pipe.h   (contents, props changed)
  head/www/iridium/files/patch-mojo_public_c_system_message__pipe.h   (contents, props changed)
  head/www/iridium/files/patch-mojo_public_c_system_tests_macros__unittest.cc   (contents, props changed)
  head/www/qt5-webengine/files/patch-src_3rdparty_chromium_mojo_edk_system_options__validation__unittest.cc   (contents, props changed)
  head/www/qt5-webengine/files/patch-src_3rdparty_chromium_mojo_public_c_system_buffer.h   (contents, props changed)
  head/www/qt5-webengine/files/patch-src_3rdparty_chromium_mojo_public_c_system_data__pipe.h   (contents, props changed)
  head/www/qt5-webengine/files/patch-src_3rdparty_chromium_mojo_public_c_system_message__pipe.h   (contents, props changed)

Added: head/www/iridium/files/patch-mojo_edk_system_options__validation__unittest.cc
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/iridium/files/patch-mojo_edk_system_options__validation__unittest.cc	Tue Mar  5 16:14:55 2019	(r494708)
@@ -0,0 +1,11 @@
+--- mojo/edk/system/options_validation_unittest.cc.orig	2018-05-09 19:05:53 UTC
++++ mojo/edk/system/options_validation_unittest.cc
+@@ -18,7 +18,7 @@ namespace {
+ 
+ using TestOptionsFlags = uint32_t;
+ 
+-static_assert(MOJO_ALIGNOF(int64_t) == 8, "int64_t has weird alignment");
++static_assert(MOJO_ALIGNOF(int64_t) <= 8, "int64_t has weird alignment");
+ struct MOJO_ALIGNAS(8) TestOptions {
+   uint32_t struct_size;
+   TestOptionsFlags flags;

Added: head/www/iridium/files/patch-mojo_public_c_system_buffer.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/iridium/files/patch-mojo_public_c_system_buffer.h	Tue Mar  5 16:14:55 2019	(r494708)
@@ -0,0 +1,11 @@
+--- mojo/public/c/system/buffer.h.orig	2018-05-09 19:05:53 UTC
++++ mojo/public/c/system/buffer.h
+@@ -35,7 +35,7 @@ const MojoCreateSharedBufferOptionsFlags
+   ((MojoCreateSharedBufferOptionsFlags)0)
+ #endif
+ 
+-MOJO_STATIC_ASSERT(MOJO_ALIGNOF(int64_t) == 8, "int64_t has weird alignment");
++MOJO_STATIC_ASSERT(MOJO_ALIGNOF(int64_t) <= 8, "int64_t has weird alignment");
+ struct MOJO_ALIGNAS(8) MojoCreateSharedBufferOptions {
+   uint32_t struct_size;
+   MojoCreateSharedBufferOptionsFlags flags;

Added: head/www/iridium/files/patch-mojo_public_c_system_data__pipe.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/iridium/files/patch-mojo_public_c_system_data__pipe.h	Tue Mar  5 16:14:55 2019	(r494708)
@@ -0,0 +1,11 @@
+--- mojo/public/c/system/data_pipe.h.orig	2018-05-09 19:05:53 UTC
++++ mojo/public/c/system/data_pipe.h
+@@ -46,7 +46,7 @@ const MojoCreateDataPipeOptionsFlags MOJO_CREATE_DATA_
+   ((MojoCreateDataPipeOptionsFlags)0)
+ #endif
+ 
+-MOJO_STATIC_ASSERT(MOJO_ALIGNOF(int64_t) == 8, "int64_t has weird alignment");
++MOJO_STATIC_ASSERT(MOJO_ALIGNOF(int64_t) <= 8, "int64_t has weird alignment");
+ struct MOJO_ALIGNAS(8) MojoCreateDataPipeOptions {
+   MOJO_ALIGNAS(4) uint32_t struct_size;
+   MOJO_ALIGNAS(4) MojoCreateDataPipeOptionsFlags flags;

Added: head/www/iridium/files/patch-mojo_public_c_system_message__pipe.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/iridium/files/patch-mojo_public_c_system_message__pipe.h	Tue Mar  5 16:14:55 2019	(r494708)
@@ -0,0 +1,11 @@
+--- mojo/public/c/system/message_pipe.h.orig	2018-05-09 19:05:53 UTC
++++ mojo/public/c/system/message_pipe.h
+@@ -44,7 +44,7 @@ const MojoCreateMessagePipeOptionsFlags
+   ((MojoCreateMessagePipeOptionsFlags)0)
+ #endif
+ 
+-MOJO_STATIC_ASSERT(MOJO_ALIGNOF(int64_t) == 8, "int64_t has weird alignment");
++MOJO_STATIC_ASSERT(MOJO_ALIGNOF(int64_t) <= 8, "int64_t has weird alignment");
+ struct MOJO_ALIGNAS(8) MojoCreateMessagePipeOptions {
+   uint32_t struct_size;
+   MojoCreateMessagePipeOptionsFlags flags;

Added: head/www/iridium/files/patch-mojo_public_c_system_tests_macros__unittest.cc
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/iridium/files/patch-mojo_public_c_system_tests_macros__unittest.cc	Tue Mar  5 16:14:55 2019	(r494708)
@@ -0,0 +1,16 @@
+--- mojo/public/c/system/tests/macros_unittest.cc.orig	2018-05-09 19:05:53 UTC
++++ mojo/public/c/system/tests/macros_unittest.cc
+@@ -34,8 +34,11 @@ TEST(MacrosTest, Alignof) {
+   // all the platforms we currently support.
+   EXPECT_EQ(1u, MOJO_ALIGNOF(char));
+   EXPECT_EQ(4u, MOJO_ALIGNOF(int32_t));
+-  EXPECT_EQ(8u, MOJO_ALIGNOF(int64_t));
+-  EXPECT_EQ(8u, MOJO_ALIGNOF(double));
++
++  // 'double' and 'int64_t' are usually 8 byte aligned, except some 32-bit x86
++  // platforms, or when -malign-double is passed.
++  EXPECT_TRUE(8u == MOJO_ALIGNOF(int64_t) || 4u == MOJO_ALIGNOF(int64_t));
++  EXPECT_TRUE(8u == MOJO_ALIGNOF(double) || 4u == MOJO_ALIGNOF(double));
+ }
+ 
+ // These structs are used in the Alignas test. Define them globally to avoid

Added: head/www/qt5-webengine/files/patch-src_3rdparty_chromium_mojo_edk_system_options__validation__unittest.cc
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/qt5-webengine/files/patch-src_3rdparty_chromium_mojo_edk_system_options__validation__unittest.cc	Tue Mar  5 16:14:55 2019	(r494708)
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/mojo/edk/system/options_validation_unittest.cc.orig	2018-04-10 14:05:55 UTC
++++ src/3rdparty/chromium/mojo/edk/system/options_validation_unittest.cc
+@@ -18,7 +18,7 @@ namespace {
+ 
+ using TestOptionsFlags = uint32_t;
+ 
+-static_assert(MOJO_ALIGNOF(int64_t) == 8, "int64_t has weird alignment");
++static_assert(MOJO_ALIGNOF(int64_t) <= 8, "int64_t has weird alignment");
+ struct MOJO_ALIGNAS(8) TestOptions {
+   uint32_t struct_size;
+   TestOptionsFlags flags;

Added: head/www/qt5-webengine/files/patch-src_3rdparty_chromium_mojo_public_c_system_buffer.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/qt5-webengine/files/patch-src_3rdparty_chromium_mojo_public_c_system_buffer.h	Tue Mar  5 16:14:55 2019	(r494708)
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/mojo/public/c/system/buffer.h.orig	2018-04-10 14:05:55 UTC
++++ src/3rdparty/chromium/mojo/public/c/system/buffer.h
+@@ -40,7 +40,7 @@ const MojoCreateSharedBufferOptionsFlags
+   ((MojoCreateSharedBufferOptionsFlags)0)
+ #endif
+ 
+-MOJO_STATIC_ASSERT(MOJO_ALIGNOF(int64_t) == 8, "int64_t has weird alignment");
++MOJO_STATIC_ASSERT(MOJO_ALIGNOF(int64_t) <= 8, "int64_t has weird alignment");
+ struct MOJO_ALIGNAS(8) MojoCreateSharedBufferOptions {
+   uint32_t struct_size;
+   MojoCreateSharedBufferOptionsFlags flags;

Added: head/www/qt5-webengine/files/patch-src_3rdparty_chromium_mojo_public_c_system_data__pipe.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/qt5-webengine/files/patch-src_3rdparty_chromium_mojo_public_c_system_data__pipe.h	Tue Mar  5 16:14:55 2019	(r494708)
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/mojo/public/c/system/data_pipe.h.orig	2018-04-10 14:05:55 UTC
++++ src/3rdparty/chromium/mojo/public/c/system/data_pipe.h
+@@ -41,7 +41,7 @@ const MojoCreateDataPipeOptionsFlags MOJO_CREATE_DATA_
+   ((MojoCreateDataPipeOptionsFlags)0)
+ #endif
+ 
+-MOJO_STATIC_ASSERT(MOJO_ALIGNOF(int64_t) == 8, "int64_t has weird alignment");
++MOJO_STATIC_ASSERT(MOJO_ALIGNOF(int64_t) <= 8, "int64_t has weird alignment");
+ struct MOJO_ALIGNAS(8) MojoCreateDataPipeOptions {
+   MOJO_ALIGNAS(4) uint32_t struct_size;
+   MOJO_ALIGNAS(4) MojoCreateDataPipeOptionsFlags flags;

Added: head/www/qt5-webengine/files/patch-src_3rdparty_chromium_mojo_public_c_system_message__pipe.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/qt5-webengine/files/patch-src_3rdparty_chromium_mojo_public_c_system_message__pipe.h	Tue Mar  5 16:14:55 2019	(r494708)
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/mojo/public/c/system/message_pipe.h.orig	2018-04-10 14:05:55 UTC
++++ src/3rdparty/chromium/mojo/public/c/system/message_pipe.h
+@@ -46,7 +46,7 @@ const MojoCreateMessagePipeOptionsFlags
+   ((MojoCreateMessagePipeOptionsFlags)0)
+ #endif
+ 
+-MOJO_STATIC_ASSERT(MOJO_ALIGNOF(int64_t) == 8, "int64_t has weird alignment");
++MOJO_STATIC_ASSERT(MOJO_ALIGNOF(int64_t) <= 8, "int64_t has weird alignment");
+ struct MOJO_ALIGNAS(8) MojoCreateMessagePipeOptions {
+   uint32_t struct_size;
+   MojoCreateMessagePipeOptionsFlags flags;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201903051614.x25GEtTH070430>