Peter Maydell <peter.mayd...@linaro.org> writes:

> On 10 March 2014 12:21, Markus Armbruster <arm...@redhat.com> wrote:
>> My local clang doesn't complain.  May I have your clang version, exact
>> invocation and output?
>
> clang version 3.3 (tags/RELEASE_33/final)
>
> mkdir build/clang
> (cd build/clang && '../../configure' '--cc=clang' '--cxx=clang++'
> '--enable-gtk' '--target-list=arm-softmmu'
> '--extra-cflags=-fsanitize=undefined')
> make -C build/clang -j4
> cd build/clang
> tests/test-qmp-input-strict
>
> Output is:
>
> /visitor/input-strict/pass/struct: OK
> /visitor/input-strict/pass/struct-nested: OK
> /visitor/input-strict/pass/list: OK
> /visitor/input-strict/pass/union: OK
> /visitor/input-strict/pass/union-flat: OK
> /visitor/input-strict/pass/union-anon: OK
> /visitor/input-strict/fail/struct: OK
> /visitor/input-strict/fail/struct-nested: OK
> /visitor/input-strict/fail/list: OK
> /visitor/input-strict/fail/union: OK
> /visitor/input-strict/fail/union-flat: tests/test-qapi-visit.c:462:33:
> runtime error: member access within null pointer of type 'UserDefA'
> (aka 'struct UserDefA')
> OK
> /visitor/input-strict/fail/union-anon: OK

Turns out my clang installation doesn't support -fsanitize=undefined: it
lacks libclang_rt.san-x86_64.a.

Test works fine without -fsanitize=undefined.  I set a breakpoint on
visit_type_UserDefA_fields, and there's no null pointer to be found.

Looks like I have to upgrade clang before I can make progress.

Reply via email to