aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>2011-07-25 14:26:58 +0000
committerRainer Orth <ro@gcc.gnu.org>2011-07-25 14:26:58 +0000
commita024b70f1064beaa99d433f6e82e4cb4c9bf2945 (patch)
treec36b78c8587a510ed8115e947d3bcae844686652
parent4d1c74214ef76216ad529b233dfac63ccf0cf7b5 (diff)
downloadgcc-a024b70f1064beaa99d433f6e82e4cb4c9bf2945.zip
gcc-a024b70f1064beaa99d433f6e82e4cb4c9bf2945.tar.gz
gcc-a024b70f1064beaa99d433f6e82e4cb4c9bf2945.tar.bz2
system.h [...]: Wrap C function declarations in extern "C".
* system.h [__cplusplus]: Wrap C function declarations in extern "C". -This line, and those below, will be ignored-- M ChangeLog M system.h From-SVN: r176748
-rw-r--r--libcpp/ChangeLog4
-rw-r--r--libcpp/system.h16
2 files changed, 20 insertions, 0 deletions
diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog
index e500332..b7d8d00 100644
--- a/libcpp/ChangeLog
+++ b/libcpp/ChangeLog
@@ -1,3 +1,7 @@
+2011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * system.h [__cplusplus]: Wrap C function declarations in extern "C".
+
2011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
diff --git a/libcpp/system.h b/libcpp/system.h
index d1fb87e..0f15e12 100644
--- a/libcpp/system.h
+++ b/libcpp/system.h
@@ -84,6 +84,10 @@ along with GCC; see the file COPYING3. If not see
# define fputc(C, Stream) fputc_unlocked (C, Stream)
# endif
+#ifdef __cplusplus
+extern "C" {
+#endif
+
# ifdef HAVE_CLEARERR_UNLOCKED
# undef clearerr
# define clearerr(Stream) clearerr_unlocked (Stream)
@@ -164,6 +168,10 @@ extern int fprintf_unlocked (FILE *, const char *, ...);
# endif
# endif
+#ifdef __cplusplus
+}
+#endif
+
#endif
/* ??? Glibc's fwrite/fread_unlocked macros cause
@@ -286,10 +294,18 @@ extern int errno;
here. These checks will be in the undefined state while configure
is running so be careful to test "defined (HAVE_DECL_*)". */
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#if defined (HAVE_DECL_ABORT) && !HAVE_DECL_ABORT
extern void abort (void);
#endif
+#ifdef __cplusplus
+}
+#endif
+
#if HAVE_SYS_STAT_H
# include <sys/stat.h>
#endif