dev-db/mariadb fails to build with llvm-next |
||
Issue descriptionThis happens when testing the next version of llvm: https://bugs.chromium.org/p/chromium/issues/detail?id=800984 In the host sdk, dev-db/mariadb build fails with new error: /var/tmp/portage/dev-db/mariadb-5.5.32-r9/work/mysql/client/mysql.cc:2834:37: error: assigning to 'char *' from incompatible type 'char' field_names[i][num_fields*2]= '\0'; ^~~~
,
Jan 23 2018
Still more errors after the above two are fixed, this time due to [-Wc++11-narrowing]:
/var/tmp/portage/dev-db/mariadb-5.5.32-r10/work/mysql/sql/sql_trigger.cc:195:5: error: non-constant-expression cannot be narrowed from type 'size_t' (aka 'unsigned long') to 'int' in initializer list [-Wc++11-narrowing]
my_offsetof(class Table_triggers_list, definitions_list),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/tmp/portage/dev-db/mariadb-5.5.32-r10/work/mysql/include/my_global.h:869:9: note: expanded from macro 'my_offsetof'
((size_t)((char *)&(((TYPE *)0x10)->MEMBER) - (char*)0x10))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/tmp/portage/dev-db/mariadb-5.5.32-r10/work/mysql/sql/sql_trigger.cc:195:5: note: insert an explicit cast to silence this issue
my_offsetof(class Table_triggers_list, definitions_list),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
static_cast<int>( )
/var/tmp/portage/dev-db/mariadb-5.5.32-r10/work/mysql/include/my_global.h:869:9: note: expanded from macro 'my_offsetof'
((size_t)((char *)&(((TYPE *)0x10)->MEMBER) - (char*)0x10))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/tmp/portage/dev-db/mariadb-5.5.32-r10/work/mysql/sql/sql_trigger.cc:200:5: error: non-constant-expression cannot be narrowed from type 'size_t' (aka 'unsigned long') to 'int' in initializer list [-Wc++11-narrowing]
my_offsetof(class Table_triggers_list, definition_modes_list),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
...
/var/tmp/portage/dev-db/mariadb-5.5.32-r10/work/mysql/sql/sql_trigger.cc:205:5: error: non-constant-expression cannot be narrowed from type 'size_t' (aka 'unsigned long') to 'int' in initializer list [-Wc++11-narrowing]
my_offsetof(class Table_triggers_list, definers_list),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
...
/var/tmp/portage/dev-db/mariadb-5.5.32-r10/work/mysql/sql/sql_trigger.cc:210:5: error: non-constant-expression cannot be narrowed from type 'size_t' (aka 'unsigned long') to 'int' in initializer list [-Wc++11-narrowing]
my_offsetof(class Table_triggers_list, client_cs_names),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
...
/var/tmp/portage/dev-db/mariadb-5.5.32-r10/work/mysql/sql/sql_trigger.cc:215:5: error: non-constant-expression cannot be narrowed from type 'size_t' (aka 'unsigned long') to 'int' in initializer list [-Wc++11-narrowing]
my_offsetof(class Table_triggers_list, connection_cl_names),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
...
/var/tmp/portage/dev-db/mariadb-5.5.32-r10/work/mysql/sql/sql_trigger.cc:220:5: error: non-constant-expression cannot be narrowed from type 'size_t' (aka 'unsigned long') to 'int' in initializer list [-Wc++11-narrowing]
my_offsetof(class Table_triggers_list, db_cl_names),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
...
/var/tmp/portage/dev-db/mariadb-5.5.32-r10/work/mysql/sql/sql_trigger.cc:229:3: error: non-constant-expression cannot be narrowed from type 'size_t' (aka 'unsigned long') to 'int' in initializer list [-Wc++11-narrowing]
my_offsetof(class Table_triggers_list, definition_modes_list),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
...
,
Jan 25 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/740f240bcf1afca148978cb4b2294d3d48e7e6d5 commit 740f240bcf1afca148978cb4b2294d3d48e7e6d5 Author: Rahul Chaudhry <rahulchaudhry@chromium.org> Date: Thu Jan 25 04:24:44 2018 dev-db/mariadb: fix build issue with llvm-next. BUG= chromium:805000 TEST='sudo emerge dev-db/mariadb' works with llvm-next. Change-Id: I987176504f258e4838fc45a02263f8e6763273db Reviewed-on: https://chromium-review.googlesource.com/882007 Commit-Ready: Rahul Chaudhry <rahulchaudhry@chromium.org> Tested-by: Rahul Chaudhry <rahulchaudhry@chromium.org> Reviewed-by: Mike Frysinger <vapier@chromium.org> [add] https://crrev.com/740f240bcf1afca148978cb4b2294d3d48e7e6d5/dev-db/mariadb/files/mariadb-5.5.32-mysql-narrowing.patch [add] https://crrev.com/740f240bcf1afca148978cb4b2294d3d48e7e6d5/dev-db/mariadb/files/mariadb-5.5.32-mysql-type-mismatch.patch [rename] https://crrev.com/740f240bcf1afca148978cb4b2294d3d48e7e6d5/dev-db/mariadb/mariadb-5.5.32-r10.ebuild [modify] https://crrev.com/740f240bcf1afca148978cb4b2294d3d48e7e6d5/dev-db/mariadb/mariadb-5.5.32.ebuild
,
Jan 26 2018
|
||
►
Sign in to add a comment |
||
Comment 1 by rahulchaudhry@chromium.org
, Jan 23 2018Additional error after the first one is fixed: /var/tmp/portage/dev-db/mariadb-5.5.32-r10/work/mysql/sql/sql_partition.cc:285:47: error: cannot initialize a parameter of type 'HA_CREATE_INFO *' (aka 'st_ha_create_information *') with an rvalue of type 'ulonglong' (aka 'unsigned long long') (ulonglong)0, (uint)0); ^~~~~~~~~~~~ /var/tmp/portage/dev-db/mariadb-5.5.32-r10/work/mysql/sql/partition_info.h:281:72: note: passing argument to parameter 'info' here bool set_up_defaults_for_partitioning(handler *file, HA_CREATE_INFO *info, ^