This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/48226] New: Boost does not build on power7
- From: "meissner at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 21 Mar 2011 21:43:27 +0000
- Subject: [Bug target/48226] New: Boost does not build on power7
- Auto-submitted: auto-generated
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48226
Summary: Boost does not build on power7
Product: gcc
Version: 4.7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
AssignedTo: meissner@gcc.gnu.org
ReportedBy: meissner@gcc.gnu.org
Host: powerpc64-linux
Target: powerpc64-linux
Build: powerpc64-linux
GCC's -mcpu=power7 (or --with-cpu=power7 used in configuration) enables the
Altivec vector interface. This interface marks vector as a conditional macro,
which when expanded will either be just 'vector' in the normal case, or
__attribute__((altivec(vector__))) if the next token is a standard type (or
bool/pixel followed by a standard type).
The library boost has a template of the form:
typedef typename Iterator::vector vector;
The processing of the conditional macros did not handle the case where the
vector keyword was repeated. This caused the conditional macro handling to be
recusrively called, and the code is expanded as:
typedef typename Iterator::vector;
The fix is to specifically handle vector vector to prevent the recursive call.