src/cairo-fixed.c makes assumptions on the behaviour of shifting a negative int that aren't guaranteed by C89 spec. These assumptions may well hold on all platforms we care about for all I know, but it still highlights the fact that there's currently no unit testing on the src/cairo-fixed.c routines. I attach a new unit test (as a patch to test/Makefile.am and a new file test/cairo-fixed.c). Possible issue: The new source file test/cairo-fixed.c has the same basename as src/cairo-fixed.c. Clear what it's testing, but may present a problem for some build tools. (`make check' works fine for me.) Feel free to rename to test/cairo-fixed-test.c (with corresponding changes to test/Makefile.am).
Created attachment 6503 [details] [review] diffs to test/Makefile.am
Created attachment 6504 [details] new unit test source file test/cairo-fixed.c
Moved to test-suite TODO.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.