I downloaded several versions of glibc namely 2.18, 2.19, 2.20, 2.23 and am trying to find the file iso646.h but cannot find it. I thought it was a standard part of glibc so it should be there. Anyone know why it isn't there?
I have, however, found it on my local machine in the /usr/lib/gcc directory. So Im assuming it was installed with gcc. But I still don't know why I cant find it in the glibc sources. I'm pasting the contents of the one I found below:
/* Copyright (C) 1997-2014 Free Software Foundation, Inc. This file is part of GCC. GCC 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 3, or (at your option) any later version. GCC 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. Under Section 7 of GPL version 3, you are granted additional permissions described in the GCC Runtime Library Exception, version 3.1, as published by the Free Software Foundation. You should have received a copy of the GNU General Public License and a copy of the GCC Runtime Library Exception along with this program; see the files COPYING3 and COPYING.RUNTIME respectively. If not, see <http://www.gnu.org/licenses/>. */ /* * ISO C Standard: 7.9 Alternative spellings <iso646.h> */ #ifndef _ISO646_H #define _ISO646_H #ifndef __cplusplus #define and && #define and_eq &= #define bitand & #define bitor | #define compl ~ #define not ! #define not_eq != #define or || #define or_eq |= #define xor ^ #define xor_eq ^= #endif #endif Edit: The only file I found (which kinda resembles iso646.h) in each of the glibc sources I downloaded(from gnu.org) was conform/data/iso646.h-data which looks like this:
#if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4 macro and macro and_eq macro bitand macro bitor macro compl macro not macro not_eq macro or macro or_eq macro xor macro xor_eq #if !defined ISO && !defined ISO99 && !defined ISO11 allow *_t #endif #endif But since I dont how macro is defined here, or where it is defined, this file is incomprehensible to me.
macrowas defined, or in what filemacrowas defined in, I couldnt understand that file and didn't bother including it in the question. Please see the EDIT section I added to my question.