Summary: | sys-devel/gcc-4.4.4-r2 inappropriately predefines 'bool' if option -maltivec is used on ppc or ppc64 | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Stephen Lewis <lewis+gentoo> |
Component: | [OLD] GCC Porting | Assignee: | Gentoo Toolchain Maintainers <toolchain> |
Status: | RESOLVED INVALID | ||
Severity: | normal | CC: | ppc64, ppc |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | PPC64 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Stephen Lewis
2011-02-15 20:51:49 UTC
On further study this seems to be a feature and not a bug info gcc for 4.3.4 says: * Compiling with `-maltivec' adds keywords `__vector', `__pixel', and `__bool'. Macros `vector', `pixel', and `bool' are defined in `<altivec.h>' and can be undefined. info gcc 4.4.4 has been changed to say: * Compiling with `-maltivec' adds keywords `__vector', `vector', `__pixel', `pixel', `__bool' and `bool'. When compiling ISO C, the context-sensitive substitution of the keywords `vector', `pixel' and `bool' is disabled. To use them, you must include `<altivec.h>' instead. So I guess code using the (now) keyword 'bool' (or 'vector' or 'pixel') needs to be changed to comply with compiler change in 4.4.4 or the option -maltivec should not be applied during compilation include <stdbool.h> if you want to use "bool" |