merge from gcc
This commit is contained in:
		| @@ -1,3 +1,12 @@ | |||||||
|  | 2009-05-31  Ian Lance Taylor  <iant@google.com> | ||||||
|  |  | ||||||
|  | 	* ansidecl.h: Add extern "C" when compiling with C++.  Treat C++ | ||||||
|  | 	the way we treat an ISO C compiler.  Don't define inline as a | ||||||
|  | 	macdro when compiling with C++. | ||||||
|  | 	* dyn-string.h: Add header guard DYN_STRING_H.  Add extern "C" | ||||||
|  | 	when compiling with C++. | ||||||
|  | 	* fibheap.h: Add extern "C" when compiling with C++. | ||||||
|  |  | ||||||
| 2009-05-25  Tristan Gingold  <gingold@adacore.com> | 2009-05-25  Tristan Gingold  <gingold@adacore.com> | ||||||
|  |  | ||||||
| 	* fopen-vms.h (FOPEN_RB, FOPEN_WB, FOPEN_AB, FOPEN_RUB, FOPEN_WUB, | 	* fopen-vms.h (FOPEN_RB, FOPEN_WB, FOPEN_AB, FOPEN_RUB, FOPEN_WUB, | ||||||
|   | |||||||
| @@ -1,5 +1,6 @@ | |||||||
| /* ANSI and traditional C compatability macros | /* ANSI and traditional C compatability macros | ||||||
|    Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 |    Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, | ||||||
|  |    2002, 2003, 2004, 2005, 2006, 2007, 2009 | ||||||
|    Free Software Foundation, Inc. |    Free Software Foundation, Inc. | ||||||
|    This file is part of the GNU C Library. |    This file is part of the GNU C Library. | ||||||
|  |  | ||||||
| @@ -114,6 +115,10 @@ Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. | |||||||
| #ifndef	_ANSIDECL_H | #ifndef	_ANSIDECL_H | ||||||
| #define _ANSIDECL_H	1 | #define _ANSIDECL_H	1 | ||||||
|  |  | ||||||
|  | #ifdef __cplusplus | ||||||
|  | extern "C" { | ||||||
|  | #endif | ||||||
|  |  | ||||||
| /* Every source file includes this file, | /* Every source file includes this file, | ||||||
|    so they will all get the switch for lint.  */ |    so they will all get the switch for lint.  */ | ||||||
| /* LINTLIBRARY */ | /* LINTLIBRARY */ | ||||||
| @@ -136,7 +141,7 @@ So instead we use the macro below and test it against specific values.  */ | |||||||
| #define GCC_VERSION (__GNUC__ * 1000 + __GNUC_MINOR__) | #define GCC_VERSION (__GNUC__ * 1000 + __GNUC_MINOR__) | ||||||
| #endif /* GCC_VERSION */ | #endif /* GCC_VERSION */ | ||||||
|  |  | ||||||
| #if defined (__STDC__) || defined (_AIX) || (defined (__mips) && defined (_SYSTYPE_SVR4)) || defined(_WIN32) || (defined(__alpha) && defined(__cplusplus)) | #if defined (__STDC__) || defined(__cplusplus) || defined (_AIX) || (defined (__mips) && defined (_SYSTYPE_SVR4)) || defined(_WIN32) | ||||||
| /* All known AIX compilers implement these things (but don't always | /* All known AIX compilers implement these things (but don't always | ||||||
|    define __STDC__).  The RISC/OS MIPS compiler defines these things |    define __STDC__).  The RISC/OS MIPS compiler defines these things | ||||||
|    in SVR4 mode, but does not define __STDC__.  */ |    in SVR4 mode, but does not define __STDC__.  */ | ||||||
| @@ -173,7 +178,7 @@ So instead we use the macro below and test it against specific values.  */ | |||||||
| /* inline requires special treatment; it's in C99, and GCC >=2.7 supports | /* inline requires special treatment; it's in C99, and GCC >=2.7 supports | ||||||
|    it too, but it's not in C89.  */ |    it too, but it's not in C89.  */ | ||||||
| #undef inline | #undef inline | ||||||
| #if __STDC_VERSION__ > 199901L | #if __STDC_VERSION__ > 199901L || defined(__cplusplus) | ||||||
| /* it's a keyword */ | /* it's a keyword */ | ||||||
| #else | #else | ||||||
| # if GCC_VERSION >= 2007 | # if GCC_VERSION >= 2007 | ||||||
| @@ -390,4 +395,8 @@ So instead we use the macro below and test it against specific values.  */ | |||||||
| #define __extension__ | #define __extension__ | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
|  | #ifdef __cplusplus | ||||||
|  | } | ||||||
|  | #endif | ||||||
|  |  | ||||||
| #endif	/* ansidecl.h	*/ | #endif	/* ansidecl.h	*/ | ||||||
|   | |||||||
| @@ -1,5 +1,6 @@ | |||||||
| /* An abstract string datatype. | /* An abstract string datatype. | ||||||
|    Copyright (C) 1998, 1999, 2000, 2002, 2004 Free Software Foundation, Inc. |    Copyright (C) 1998, 1999, 2000, 2002, 2004, 2005, 2009 | ||||||
|  |    Free Software Foundation, Inc. | ||||||
|    Contributed by Mark Mitchell (mark@markmitchell.com). |    Contributed by Mark Mitchell (mark@markmitchell.com). | ||||||
|  |  | ||||||
| This file is part of GCC. | This file is part of GCC. | ||||||
| @@ -19,6 +20,12 @@ along with GCC; see the file COPYING.  If not, write to | |||||||
| the Free Software Foundation, 51 Franklin Street - Fifth Floor, | the Free Software Foundation, 51 Franklin Street - Fifth Floor, | ||||||
| Boston, MA 02110-1301, USA.  */ | Boston, MA 02110-1301, USA.  */ | ||||||
|  |  | ||||||
|  | #ifndef DYN_STRING_H | ||||||
|  | #define DYN_STRING_H | ||||||
|  |  | ||||||
|  | #ifdef __cplusplus | ||||||
|  | extern "C" { | ||||||
|  | #endif | ||||||
|  |  | ||||||
| typedef struct dyn_string | typedef struct dyn_string | ||||||
| { | { | ||||||
| @@ -58,3 +65,9 @@ extern int dyn_string_append_cstr (dyn_string_t, const char *); | |||||||
| extern int dyn_string_append_char (dyn_string_t, int); | extern int dyn_string_append_char (dyn_string_t, int); | ||||||
| extern int dyn_string_substring (dyn_string_t,  dyn_string_t, int, int); | extern int dyn_string_substring (dyn_string_t,  dyn_string_t, int, int); | ||||||
| extern int dyn_string_eq (dyn_string_t, dyn_string_t); | extern int dyn_string_eq (dyn_string_t, dyn_string_t); | ||||||
|  |  | ||||||
|  | #ifdef __cplusplus | ||||||
|  | } | ||||||
|  | #endif | ||||||
|  |  | ||||||
|  | #endif /* !defined (DYN_STRING_H) */ | ||||||
|   | |||||||
| @@ -1,5 +1,6 @@ | |||||||
| /* A Fibonacci heap datatype. | /* A Fibonacci heap datatype. | ||||||
|    Copyright 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. |    Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2009 | ||||||
|  |    Free Software Foundation, Inc. | ||||||
|    Contributed by Daniel Berlin (dan@cgsoftware.com). |    Contributed by Daniel Berlin (dan@cgsoftware.com). | ||||||
|  |  | ||||||
| This file is part of GCC. | This file is part of GCC. | ||||||
| @@ -42,6 +43,10 @@ Boston, MA 02110-1301, USA.  */ | |||||||
|  |  | ||||||
| #include "ansidecl.h" | #include "ansidecl.h" | ||||||
|  |  | ||||||
|  | #ifdef __cplusplus | ||||||
|  | extern "C" { | ||||||
|  | #endif | ||||||
|  |  | ||||||
| typedef long fibheapkey_t; | typedef long fibheapkey_t; | ||||||
|  |  | ||||||
| typedef struct fibheap | typedef struct fibheap | ||||||
| @@ -83,4 +88,8 @@ extern void *fibheap_delete_node (fibheap_t, fibnode_t); | |||||||
| extern void fibheap_delete (fibheap_t); | extern void fibheap_delete (fibheap_t); | ||||||
| extern fibheap_t fibheap_union (fibheap_t, fibheap_t); | extern fibheap_t fibheap_union (fibheap_t, fibheap_t); | ||||||
|  |  | ||||||
|  | #ifdef __cplusplus | ||||||
|  | } | ||||||
|  | #endif | ||||||
|  |  | ||||||
| #endif /* _FIBHEAP_H_ */ | #endif /* _FIBHEAP_H_ */ | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user