On Mon, May 18, 2009 at 5:28 PM, Ben Elliston <b...@au1.ibm.com> wrote: > Hi Ian > > In the last couple of days, I have started seeing the following warnings > when building target-libiberty: > > /home/bje/source/gcc-clean/libiberty/cp-demangle.c:723: warning: logical > ‘and’ of mutually exclusive tests is always false > /home/bje/source/gcc-clean/libiberty/cp-demangle.c:742: warning: logical > ‘and’ of mutually exclusive tests is always false > > The code around line 723 is: > > if (p == NULL > || name == NULL > || (kind < gnu_v3_complete_object_ctor > && kind > gnu_v3_complete_object_allocating_ctor)) > return 0; >
We have enum gnu_v3_ctor_kinds { gnu_v3_complete_object_ctor = 1, gnu_v3_base_object_ctor, gnu_v3_complete_object_allocating_ctor }; What does (kind < gnu_v3_complete_object_ctor && kind > gnu_v3_complete_object_allocating_ctor) try to check? It looks like a typo to me. -- H.J.