Created attachment 153695 [details]
Change inline const rotate functions to macros
During the exp-run in bug 197395, it was found that games/stepmania-devel gives errors with clang 3.6.0:
These errors all because the embedded copy of libtomcrypt uses the 'I' and 'J' asm constraints incorrectly. These can only be used with compile-time integer constants (e.g. numeric literals).
I propose the attached patch, which changes the ROLc/RORc inline function to macros, so the constraints requirements are satisfied at compile time. It is almost exactly the same as the patch for libtomcrypt itself, in bug 198017.
The produced code is exactly the same, as far as I can determine. I tested this on i386 and amd64.
A commit references this bug:
Date: Thu Mar 19 19:23:10 UTC 2015
New revision: 381678
games/stepmania-devel: fix clang 3.6 build
Submitted by: Dimitry Andric <dim@FreeBSD.org>
Committed, thanks for your work!