[Bug 281477] audio/libaudiofile: fix build with clang 19, enable tests
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 13 Sep 2024 09:11:22 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=281477 Bug ID: 281477 Summary: audio/libaudiofile: fix build with clang 19, enable tests Product: Ports & Packages Version: Latest Hardware: Any OS: Any Status: New Severity: Affects Some People Priority: --- Component: Individual Port(s) Assignee: gnome@FreeBSD.org Reporter: dim@FreeBSD.org Assignee: gnome@FreeBSD.org Flags: maintainer-feedback?(gnome@FreeBSD.org) Clang 19 has become more strict about initialization with undefined behavior, resulting in errors similar to: ./SimpleModule.h:126:40: error: in-class initializer for static data member is not a constant expression 126 | static const int kMinSignedValue = -1 << kScaleBits; | ~~~^~~~~~~~~~~~~ ./SimpleModule.h:176:22: note: in instantiation of template class 'signConverter<kInt8>' requested here 176 | transform<typename signConverter<Format>::signedToUnsigned>(src, dst, count); | ^ ./SimpleModule.h:183:5: note: in instantiation of function template specialization 'ConvertSign::convertSignedToUnsigned<kInt8>' requested here 183 | convertSignedToUnsigned<kInt8>(src, dst, count); | ^ This is because left-shifting negative values is undefined. Replace -1 with ~0u which results in the expected value. While here, add a few other patches to remove warnings about undefined left-shifts, and add support for the "make test" target. -- You are receiving this mail because: You are the assignee for the bug.