PATCH: More stdbool tweaking
Ian Lance Taylor
ian@airs.com
Thu Feb 7 14:19:00 GMT 2002
More information about the Binutils mailing list
Thu Feb 7 14:19:00 GMT 2002
- Previous message (by thread): PATCH: More stdbool tweaking
- Next message (by thread): PATCH: More stdbool tweaking
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Daniel Jacobowitz <drow@mvista.com> writes: > > The only bfd.h issue is the definitions of true and false. Daniel has > > proposed a simple patch which works provided stdbool.h is included first. I > > already proposed a simple patch which should work in all cases: > > http://sources.redhat.com/ml/binutils/2002-02/msg00068.html > > However, I have not tested it. > > (Is the assumption that the first thing in an enum has value 0 always > valid? I think so, but not sure.) Yes. If it were not, the current code would not work. A lot of code in BFD uses a boolean by saying if (b) If false were not 0, this would fail. > In any case, your patch would not finesse the problem. False is > defined to 'false', an enum value, in <stdbool.h>. While the value > false evalutates to 0, that would not fix the problem, since it is not > the same. Not in the version of stdbool.h distributed with gcc 3.0.3. I have appended it. Can you send a copy of the stdbool.h which you are looking at? Don't get confused by the C++ code. Ian /* Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc. This file is part of GNU CC. GNU CC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU CC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU CC; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* As a special exception, if you include this header file into source files compiled by GCC, this header file does not by itself cause the resulting executable to be covered by the GNU General Public License. This exception does not however invalidate any other reasons why the executable file might be covered by the GNU General Public License. */ /* * ISO C Standard: 7.16 Boolean type and values <stdbool.h> */ #ifndef _STDBOOL_H #define _STDBOOL_H #ifndef __cplusplus #define bool _Bool #define true 1 #define false 0 #else /* __cplusplus */ /* Supporting <stdbool.h> in C++ is a GCC extension. */ #define _Bool bool #define bool bool #define false false #define true true #endif /* __cplusplus */ /* Signal that all the definitions are present. */ #define __bool_true_false_are_defined 1 #endif /* stdbool.h */
- Previous message (by thread): PATCH: More stdbool tweaking
- Next message (by thread): PATCH: More stdbool tweaking
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Binutils mailing list