store.c:415:30: runtime error: left shift of negative value -32

Description

Hi Everyone,

I am acceptance testing ICU 66.1, ICU4C. I am building it form source tarball. I am working on Ubuntu 18.04 x86_64 fully patched. Bionic provides GCC 7.4.0.

I added -fsanitize=undefined to CFLAGS, CXXFLAGS and LDFLAGS. I then ran a make && make check.

It looks like there is some undefined behavior present:

The shifts are usually fairly easy to clear. Also see https://github.com/noloader/Build-Scripts/blob/master/patch/icu.patch .

The one I could not clear is:

uobjtest.cpp:344:5: runtime error: reference binding to null pointer of type 'const struct Normalizer2'

I also noticed .travis.yml included address and thread sanitizers, but lacks undefined behavior sanitizer. It may be a good idea to add undefined behavior sanitizer testing to Travis. It may be a good idea to use Bionic for the latest GCC compiler (i.e., os: linux and dist: bionic).

Assignee

Elango Cheran

Reporter

Jeffrey Walton

Components

Labels

None

Reviewer

None

Priority

major

Time Needed

Hours

Fix versions

Configure