Removing -qsrcmsg (AIX)
Noah Misch <noah@leadboat.com>
From: Noah Misch <noah@leadboat.com>
To: pgsql-hackers@postgresql.org
Date: 2019-10-03T06:41:05Z
Lists: pgsql-hackers
Attachments
- qsrcmsg-v1.patch (text/plain) patch v1
With AIX xlc v16.1.0, various compilations get internal errors:
/opt/IBM/xlc/16.1.0/bin/xlc_r -qmaxmem=33554432 -qnoansialias -g -O2 -qsrcmsg -I/scratch/nm/farmlike/../cmpx/src/interfaces/libpq -I../../../src/include -I/scratch/nm/farmlike/../cmpx/src/include -c -o pg_backup_utils.o /scratch/nm/farmlike/../cmpx/src/bin/pg_dump/pg_backup_utils.c
/opt/IBM/xlc/16.1.0/bin/.orig/xlc_r: 1501-230 (S) Internal compiler error; please contact your Service Representative. For more information visit:
http://www.ibm.com/support/docview.wss?uid=swg21110810
I tracked this down to our use of -qsrcmsg, which I plan to remove from the
default CFLAGS, including back branches. While this is a compiler bug, it's
not worth breaking plausible builds to default-enable the minor change
-qsrcmsg provides:
$ echo 'break me' >x.c
$ /opt/IBM/xlc/16.1.0/bin/xlc_r x.c
"x.c", line 1.1: 1506-275 (S) Unexpected text 'break' encountered.
"x.c", line 1.7: 1506-166 (S) Definition of function me requires parentheses.
"x.c", line 1.9: 1506-204 (S) Unexpected end of file.
$ /opt/IBM/xlc/16.1.0/bin/xlc_r -qsrcmsg x.c
1 | break me
a.....b.c
a - 1506-275 (S) Unexpected text 'break' encountered.
b - 1506-166 (S) Definition of function me requires parentheses.
c - 1506-204 (S) Unexpected end of file.
Commits
-
AIX: Stop adding option -qsrcmsg.
- e40eb31c0d9b 9.5.20 landed
- b705582b4800 9.4.25 landed
- e5b4926ef611 11.6 landed
- c73f4f680e40 9.6.16 landed
- 77cc4a5957d0 10.11 landed
- 3fb14cfcbd79 12.1 landed
- 5f3d271d03b2 13.0 landed