Bug#776965: llvm-toolchain-3.6: FTBFS on hurd-i386
Svante Signell
svante.signell at gmail.com
Tue Feb 3 16:37:01 UTC 2015
Source: llvm-toolchain-3.6
Version: 1:3.6~+rc2-1
Severity: important
Tags: patch
User: debian-hurd at lists.debian.org
Usertags: hurd
Hello,
Currently llvmtoolchain-3.6 (~+rc1-1 and ~+rc2-1) fails to build from
source due to usage of a reserved identifier in C/C++11/POSIX.1, see
e.g.:
http://stackoverflow.com/questions/228783/what-are-the-rules-about-using-an-underscore-in-a-c-identifier
Other restrictions might apply. For example, the POSIX standard reserves
a lot of identifiers that are likely to show up in normal code:
*Names beginning with a capital 'E' followed a digit or uppercase letter
*may be used for additional error code names.
http://www.gnu.org/software/libc/manual/html_node/Reserved-Names.html
Some additional classes of identifier names are reserved for future
extensions to the C language or the POSIX.1 environment. While using
these names for your own purposes right now might not cause a problem,
they do raise the possibility of conflict with future versions of the C
or POSIX standards, so you should avoid these names.
...
Names beginning with a capital ‘E’ followed a digit or uppercase letter
may be used for additional error code names. See Error Reporting.
http://docs.oracle.com/cd/E19205-01/819-5265/bjaky/index.html
Sun Studio 12: C User's Guide
6.8.3 Names Reserved for Expansion
In addition to all the names explicitly reserved, the 1990 ISO/IEC C
standard also reserves (for implementations and future standards) names
matching certain patterns:
Table 6–3 Names Reserved for Expansion
errno.h E[0-9A-Z].*
ISO/IEC 9899:TC3 Committee Draft — September 7, 2007 WG14/N1256
http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf
page 166: 7.1.3 Reseved Identifiers
The attached patch hurd.diff fixes that by renaming EIOIO to E_IOIO.
The already included patch: hurd-EIEIO-undef.diff is non-functional and
should be removed. Since this is a standard violation, this patch should
be submitted upstream.
Test summary from the build is:
Expected Passes : 7892
Expected Failures : 14
Unsupported Tests : 23
Unexpected Failures: 16
Additionally the patch debian_rules.diff adds an option to help2man:
--no-discard-stderr to get output even if --help is written to stderr.
This changes is made unconditionally, but could be modified of course if
it causes problems for other architectures.
Thanks!
-------------- next part --------------
A non-text attachment was scrubbed...
Name: hurd.diff
Type: text/x-patch
Size: 672 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-llvm-team/attachments/20150203/a940bf75/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: rules.diff
Type: text/x-patch
Size: 837 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-llvm-team/attachments/20150203/a940bf75/attachment-0001.bin>
More information about the Pkg-llvm-team
mailing list