clang6 is much stricter than previous compilers. Hundreds of packages are no longer buildable due to this. (This affects both -CURRENT and 11-STABLE.)
Advice on how to fix these would be appreciated!
Tracking PR
tracking PR for regressions on clang6
Types Of Errors Seen
Here is an excerpt from the sorted analysis of build errors from the latest armv7 run as built by linimon. The whole list is available.
- (*29) invalid suffix on literal; C++11 requires a space between literal and identifier [-Wreserved-user-defined-literal]
- (*20) non-constant-expression cannot be narrowed from type '[foo]' in initializer list [-Wc++11-narrowing]
- (*15) invalid operands to binary expression ('[foo]')
- (*12) constant expression evaluates to [foo] which cannot be narrowed to type '[foo]' [-Wc++11-narrowing]
- (*9) comparison between pointer and integer ('[foo]')
- (*8) assigning to '[foo]'
- (*7) cannot initialize return object of type '[foo]'
- (*6) no matching function for call to '[foo]'
- (*5) unresolvable R_ARM_MOVW_ABS_NC relocation against symbol '[foo]'
- (*3) in-class initializer for static data member of type '[foo]' specifier [-Wstatic-float-init]
- (*3) UNREACHABLE executed at /tank/poudriere/jails/head-2018Q2-armv7/usr/src/contrib/llvm/lib/CodeGen/IfConversion.cpp:2004!
Here are some other cases that do not sort as easily:
- cannot compute sizeof (unsigned short), 77; not always 'unsigned short'. These seem to be in the configure phase.
Notes
Some of MarkLinimon's raw notes are here, here, and here.
How To Help
MarkLinimon can provide the wrkdirs on request. (The whole directory is kind of large.)