Hello, When I try to compile a program using the 'regex' module on Solaris 10, I get the output
/opt/solarisstudio12.3/bin/c99 -Xc -D_XPG6 -DHAVE_CONFIG_H -I. -I../.. -D_REENTRANT -I/opt/csw/include -c -o regex.o regex.c "regex_internal.h", line 105: warning: macro redefined: gettext "regex_internal.h", line 734: warning: token-less macro argument Assembler: "/tmp/yabeAAAiUaidC", line 19010 : Value out of range "/tmp/yabeAAAiUaidC", line 19031 : Value out of range Failure in /opt/solarisstudio12.3/prod/bin/fbe, status = 0x7f00 Fatal Error exec'ing /opt/solarisstudio12.3/prod/bin/fbe c99: acomp failed for regex.c The warnings about macros are harmless, but the "Value out of range" errors are fatal. I re-ran with the -S option to get assembler output: /opt/solarisstudio12.3/bin/c99 -Xc -D_XPG6 -DHAVE_CONFIG_H -I. -I../.. -D_REENTRANT -I/opt/csw/include -c -o regex.o regex.c -S Then if I try to compile the regex.o file: mv regex.o regex.S /opt/solarisstudio12.3/bin/c99 -Xc -D_XPG6 -DHAVE_CONFIG_H -I. -I../.. -D_REENTRANT -I/opt/csw/include -c -o regex.o regex.S Assembler: "regex.S", line 21273 : Value out of range "regex.S", line 21294 : Value out of range c99: fbe failed for regex.S Line 21273 is subl $4294967296,%eax Line 21294 is subl $4294967296,%eax I think the error is that these constants are too large. 4,294,967,296 is 2 ** 32 which is too big a value to fit in 32 bits. When I try again with the Gnulib from 2016-12-15, this file compiles OK, but when I apply the patch from http://lists.gnu.org/archive/html/emacs-devel/2016-12/msg00666.html the problem occurs. I believe that the faulty code is coming from the use of INT_ADD_WRAPV from intprops.h. I haven't investigated how exactly this macro leads to the faulty code. Hopefully I am on the right track here and someone will have an idea of how to fix it. If not, I will have to study what this macro does and why it is being used here. Thanks, Gavin PS please keep me CC'd in any responses