X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=libcpp%2Fsystem.h;h=5bdfeeda018c5aea26e9eb5e665c66b3a95f0bc6;hb=0591727a9d083d76618d8a57926932e63b0434d3;hp=560fa18406ba9f7ec4ef1ceee67e35a58617c418;hpb=077a3c999ec3b9553024d85edb14f08c78a8e6c8;p=pf3gnuchains%2Fgcc-fork.git
diff --git a/libcpp/system.h b/libcpp/system.h
index 560fa18406b..5bdfeeda018 100644
--- a/libcpp/system.h
+++ b/libcpp/system.h
@@ -1,13 +1,13 @@
/* Get common system includes and various definitions and declarations based
on autoconf macros.
- Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004
+ Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2009, 2010
Free Software Foundation, Inc.
-This file is part of libcpp (aka cpplib).
+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 2, or (at your option) any later
+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
@@ -16,9 +16,8 @@ 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 GCC; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA. */
+along with GCC; see the file COPYING3. If not see
+. */
#ifndef LIBCPP_SYSTEM_H
@@ -30,6 +29,12 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#ifdef HAVE_STDDEF_H
# include
#endif
+#ifdef HAVE_STDINT_H
+# include
+#endif
+#ifdef HAVE_INTTYPES_H
+# include
+#endif
#include
@@ -38,6 +43,11 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#define NULL 0
#endif
+/* Use the unlocked open routines from libiberty. */
+#define fopen(PATH,MODE) fopen_unlocked(PATH,MODE)
+#define fdopen(FILDES,MODE) fdopen_unlocked(FILDES,MODE)
+#define freopen(PATH,MODE,STREAM) freopen_unlocked(PATH,MODE,STREAM)
+
/* The compiler is not a multi-threaded application and therefore we
do not have to use the locking functions. In fact, using the locking
functions can cause the compiler to be significantly slower under
@@ -337,10 +347,14 @@ extern void abort (void);
#include "libiberty.h"
#include "safe-ctype.h"
-/* 1 if we have C99 designated initializers. */
+/* 1 if we have C99 designated initializers.
+
+ ??? C99 designated initializers are not supported by most C++
+ compilers, including G++. -- gdr, 2005-05-18 */
#if !defined(HAVE_DESIGNATED_INITIALIZERS)
#define HAVE_DESIGNATED_INITIALIZERS \
- ((GCC_VERSION >= 2007) || (__STDC_VERSION__ >= 199901L))
+ ((!defined(__cplusplus) && (GCC_VERSION >= 2007)) \
+ || (__STDC_VERSION__ >= 199901L))
#endif
/* Be conservative and only use enum bitfields with GCC.
@@ -374,7 +388,9 @@ extern void abort (void);
#undef TRUE
#undef FALSE
+#ifndef __cplusplus
#define bool unsigned char
+#endif
#define true 1
#define false 0