Handle constexpr shift left 0 of max bits

__builtin_clz(0) is undefined and was causing a failure to be missed
locally, but it was caught by the fuzzer.
Handle the 0 case by returning the max number of bits in that type.
Make sure left shift exponent doesn't excede the number of bits in the
type when it is 0.

Test: aidl_parser_fuzzer tests/corpus/shift_zero_left_32
Fixes: 169905365
Change-Id: If3f22c423b0b1904be4aa91b178c7a0eb2f0f8ec
2 files changed