Forbid unsized fields in patterns of binary generators

It makes no sense to be able to do `<<...,Rest/binary>> <= ...` in a
comprehension. The related Dialyzer test is removed.
Simplify v3_core's translation of bit string generators

Now that unsized binary segments are forbidden in patterns of bit string
generators, v3_core:append_tail_segment/2 does not need to check for an
existing unsized tail segment and can thus be changed to a simple '++'/2
call.
Silence a misleading warning with some comprehensions

When compiling comprehensions with generators which are foldable to
'true', a misleading warning is emitted by sys_core_fold because a
clause resulting from the compilation of the comprehension to Core
Erlang is not marked as generated by the compiler.

An example of such a comprehension is [ true || true ].
Update copyright years
Merge branch 'maint'
Fix binary construction on floating point middle-endian machines

This complements 933e701 (OTP-10209). Without this patch the test cases
"in_guard/1" and "coerce_to_float/1" in bs_construct_SUITE fail.

The added lines in bs_construct_SUITE cover all branches that were not
covered before (small and big numbers if BIT_OFFSET(erts_bin_offset) != 0).
Prepare release
Merge tag 'OTP_R16B01'

The R16B01 release

Conflicts:
	lib/sasl/vsn.mk
Merge branch 'nox/illegal-bitstring-gen-pattern/OTP-11186'

* nox/illegal-bitstring-gen-pattern/OTP-11186:
  Bootstrap added
  Simplify v3_core's translation of bit string generators
  Forbid unsized fields in patterns of binary generators
Restrict inlining of local fun references

Local fun references look like plain old variables in the Core Erlang
AST but should not be treated as such. Inlining of such expressions is
now restricted to application contexts as a local fun reference should
never occur in a guard.

This is not perfect as it forbids inlining in some safe situations, but
that is still better than a compiler crash.
Merge branch 'jw/fix-float-middle-endian/OTP-11201' into maint

* jw/fix-float-middle-endian/OTP-11201:
  Fix binary construction on floating point middle-endian machines
  Fix binary matching on floating point middle-endian machines
  Fix erlang:phash2() on floating point middle-endian machines
  Fix external term format BIFs on floating point middle-endian machines
Merge branch 'maint'
Merge branch 'nox/fix-fname-inlining/OTP-11211' into maint

* nox/fix-fname-inlining/OTP-11211:
  Added primary bootstrap
  Restrict inlining of local fun references
Merge branch 'maint'

Conflicts:
	bootstrap/lib/compiler/ebin/cerl_inline.beam
Merge branch 'nox/fix-comp-warnings/OTP-11212' into maint

* nox/fix-comp-warnings/OTP-11212:
  Bootstrap
  Silence a misleading warning with some comprehensions
Merge branch 'maint'

Conflicts:
	bootstrap/lib/compiler/ebin/v3_core.beam
Forbid returning a match context in beam_validator

If a match context is returned from a function without being converted
back to a plain old binary, the whole VM will crash.
Fix compiler crash for 'B and B' guard
Merge branch 'maint'

* maint:
  Fix compiler crash for 'B and B' guard
Merge branch 'nox/match-context-return/OTP-11247' into maint

* nox/match-context-return/OTP-11247:
  Added primary bootstrap
  Forbid returning a match context in beam_validator