line continuation with DOS-style line endings in rpmio source files
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
RPM |
Fix Committed
|
Medium
|
Jeff Johnson |
Bug Description
Building from CVS (20131017) on x86_64-
Unlike gcc, the Studio compiler warns about source files that have DOS-style line endings. Generally this is only an annoyance (the warning can be turned off), but when the source file also uses \ for line continuation, it becomes an error, because Studio treats \r\n as two characters, and the line continuation is only affecting the \r.
Quite a number of the source files in rpmio have DOS style line endings, so this results in compilation errors for a number of them:
gmake[4]: Entering directory `/local/
source='edon-r.c' object='edon-r.lo' libtool=yes \
DEPDIR=.deps depmode=none /bin/bash ../depcomp \
/bin/bash ../libtool --tag=CC --mode=compile cc -m64 -DHAVE_CONFIG_H -I. -I.. -I. -I.. -I../build -I../lib -I../lib -I../rpmdb -I../rpmio -I../misc -I../beecrypt/
libtool: compile: cc -m64 -DHAVE_CONFIG_H -I. -I.. -I. -I.. -I../build -I../lib -I../lib -I../rpmdb -I../rpmio -I../misc -I../beecrypt/
cc: Warning: Optimizer level changed from 0 to 3 to support parallelized code.
"edon-r.c", line 2: warning: invalid white space character in directive
"edon-r.c", line 3: warning: invalid white space character in directive
"edon-r.c", line 10: warning: invalid white space character in directive
"edon-r.c", line 11: warning: invalid white space character in directive
"edon-r.c", line 13: warning: invalid white space character in directive
"edon-r.c", line 14: warning: invalid white space character in directive
"edon-r.c", line 61: warning: invalid white space character in directive
"edon-r.c", line 62: warning: invalid white space character in directive
"edon-r.c", line 63: warning: invalid white space character in directive
"edon-r.c", line 64: warning: invalid white space character in directive
"edon-r.c", line 66: warning: invalid white space character in directive
"edon-r.c", line 67: invalid source character: '\'
"edon-r.c", line 77: invalid source character: '\'
"edon-r.c", line 78: syntax error before or at: t0
"edon-r.c", line 78: invalid source character: '\'
"edon-r.c", line 79: invalid source character: '\'
"edon-r.c", line 80: invalid source character: '\'
"edon-r.c", line 81: invalid source character: '\'
"edon-r.c", line 82: invalid source character: '\'
"edon-r.c", line 83: invalid source character: '\'
"edon-r.c", line 84: invalid source character: '\'
"edon-r.c", line 85: invalid source character: '\'
"edon-r.c", line 86: invalid source character: '\'
"edon-r.c", line 87: invalid source character: '\'
"edon-r.c", line 88: invalid source character: '\'
"edon-r.c", line 89: invalid source character: '\'
"edon-r.c", line 90: invalid source character: '\'
"edon-r.c", line 91: invalid source character: '\'
"edon-r.c", line 92: invalid source character: '\'
"edon-r.c", line 93: invalid source character: '\'
"edon-r.c", line 94: invalid source character: '\'
"edon-r.c", line 95: invalid source character: '\'
"edon-r.c", line 96: invalid source character: '\'
"edon-r.c", line 97: invalid source character: '\'
"edon-r.c", line 98: invalid source character: '\'
"edon-r.c", line 99: invalid source character: '\'
"edon-r.c", line 100: invalid source character: '\'
"edon-r.c", line 101: invalid source character: '\'
"edon-r.c", line 102: invalid source character: '\'
"edon-r.c", line 103: invalid source character: '\'
"edon-r.c", line 113: invalid source character: '\'
"edon-r.c", line 114: invalid source character: '\'
"edon-r.c", line 115: invalid source character: '\'
"edon-r.c", line 116: invalid source character: '\'
"edon-r.c", line 117: invalid source character: '\'
"edon-r.c", line 118: invalid source character: '\'
"edon-r.c", line 119: invalid source character: '\'
"edon-r.c", line 120: invalid source character: '\'
"edon-r.c", line 121: invalid source character: '\'
"edon-r.c", line 122: invalid source character: '\'
"edon-r.c", line 123: invalid source character: '\'
"edon-r.c", line 124: invalid source character: '\'
"edon-r.c", line 125: invalid source character: '\'
"edon-r.c", line 126: invalid source character: '\'
"edon-r.c", line 127: invalid source character: '\'
"edon-r.c", line 128: invalid source character: '\'
"edon-r.c", line 129: invalid source character: '\'
"edon-r.c", line 130: invalid source character: '\'
"edon-r.c", line 131: invalid source character: '\'
"edon-r.c", line 132: invalid source character: '\'
"edon-r.c", line 133: invalid source character: '\'
"edon-r.c", line 134: invalid source character: '\'
"edon-r.c", line 135: invalid source character: '\'
"edon-r.c", line 136: invalid source character: '\'
"edon-r.c", line 137: invalid source character: '\'
"edon-r.c", line 138: invalid source character: '\'
"edon-r.c", line 141: warning: invalid white space character in directive
"edon-r.c", line 142: invalid source character: '\'
"edon-r.c", line 152: invalid source character: '\'
"edon-r.c", line 153: invalid source character: '\'
"edon-r.c", line 154: invalid source character: '\'
"edon-r.c", line 155: invalid source character: '\'
"edon-r.c", line 156: invalid source character: '\'
"edon-r.c", line 157: invalid source character: '\'
"edon-r.c", line 158: invalid source character: '\'
"edon-r.c", line 159: invalid source character: '\'
"edon-r.c", line 160: invalid source character: '\'
"edon-r.c", line 161: invalid source character: '\'
"edon-r.c", line 162: invalid source character: '\'
"edon-r.c", line 163: invalid source character: '\'
"edon-r.c", line 164: invalid source character: '\'
"edon-r.c", line 165: invalid source character: '\'
"edon-r.c", line 166: invalid source character: '\'
"edon-r.c", line 167: invalid source character: '\'
"edon-r.c", line 168: invalid source character: '\'
"edon-r.c", line 169: invalid source character: '\'
"edon-r.c", line 170: invalid source character: '\'
"edon-r.c", line 171: invalid source character: '\'
"edon-r.c", line 172: invalid source character: '\'
"edon-r.c", line 173: invalid source character: '\'
"edon-r.c", line 174: invalid source character: '\'
"edon-r.c", line 175: invalid source character: '\'
"edon-r.c", line 176: invalid source character: '\'
"edon-r.c", line 177: invalid source character: '\'
"edon-r.c", line 178: invalid source character: '\'
"edon-r.c", line 188: invalid source character: '\'
"edon-r.c", line 189: invalid source character: '\'
"edon-r.c", line 190: invalid source character: '\'
"edon-r.c", line 191: invalid source character: '\'
"edon-r.c", line 192: invalid source character: '\'
"edon-r.c", line 193: invalid source character: '\'
"edon-r.c", line 194: invalid source character: '\'
"edon-r.c", line 195: invalid source character: '\'
"edon-r.c", line 196: invalid source character: '\'
"edon-r.c", line 197: invalid source character: '\'
"edon-r.c", line 198: invalid source character: '\'
"edon-r.c", line 199: invalid source character: '\'
"edon-r.c", line 200: invalid source character: '\'
"edon-r.c", line 201: invalid source character: '\'
"edon-r.c", line 202: invalid source character: '\'
"edon-r.c", line 203: invalid source character: '\'
"edon-r.c", line 204: invalid source character: '\'
"edon-r.c", line 205: invalid source character: '\'
"edon-r.c", line 206: invalid source character: '\'
"edon-r.c", line 207: invalid source character: '\'
"edon-r.c", line 208: invalid source character: '\'
"edon-r.c", line 209: invalid source character: '\'
"edon-r.c", line 210: invalid source character: '\'
"edon-r.c", line 211: invalid source character: '\'
"edon-r.c", line 212: invalid source character: '\'
"edon-r.c", line 213: invalid source character: '\'
"edon-r.c", line 300: invalid source character: '\'
"edon-r.c", line 303: invalid source character: '\'
"edon-r.c", line 308: invalid source character: '\'
"edon-r.c", line 311: invalid source character: '\'
"edon-r.c", line 316: invalid source character: '\'
"edon-r.c", line 319: invalid source character: '\'
"edon-r.c", line 324: invalid source character: '\'
"edon-r.c", line 327: invalid source character: '\'
"edon-r.c", line 392: invalid source character: '\'
"edon-r.c", line 395: invalid source character: '\'
"edon-r.c", line 400: invalid source character: '\'
"edon-r.c", line 403: invalid source character: '\'
"edon-r.c", line 408: invalid source character: '\'
"edon-r.c", line 411: invalid source character: '\'
"edon-r.c", line 416: invalid source character: '\'
"edon-r.c", line 419: invalid source character: '\'
"edon-r.c", line 480: invalid source character: '\'
"edon-r.c", line 504: invalid source character: '\'
"edon-r.c", line 507: invalid source character: '\'
"edon-r.c", line 512: invalid source character: '\'
"edon-r.c", line 515: invalid source character: '\'
"edon-r.c", line 520: invalid source character: '\'
"edon-r.c", line 523: invalid source character: '\'
"edon-r.c", line 528: invalid source character: '\'
"edon-r.c", line 531: invalid source character: '\'
"edon-r.c", line 566: invalid source character: '\'
"edon-r.c", line 589: invalid source character: '\'
"edon-r.c", line 592: invalid source character: '\'
"edon-r.c", line 597: invalid source character: '\'
"edon-r.c", line 600: invalid source character: '\'
"edon-r.c", line 605: invalid source character: '\'
"edon-r.c", line 608: invalid source character: '\'
"edon-r.c", line 613: invalid source character: '\'
"edon-r.c", line 616: invalid source character: '\'
cc: acomp failed for edon-r.c
gmake[4]: *** [edon-r.lo] Error 1
gmake[4]: Leaving directory `/local/
There are similar problems in echo.h, echo.c, md6.h, md6.c, shabal.c, and luffa.c.
As a workaround, I've taken to running this before running "gmake":
cd rpmio
dos2unix echo.h echo.h
dos2unix echo.c echo.c
dos2unix edon-r.c edon-r.c
dos2unix md6.h md6.h
dos2unix md6.c md6.c
dos2unix shabal.c shabal.c
dos2unix luffa.c luffa.c
cd ..
Eeek! Fleas!