Delete whitespace at EOL.
[gcc.git] / include / libiberty.h
index 893d2a937298993f65054a4afbd1cdf7eae495fc..6fb29d212237b9c1c61475a500acf83373ae5a02 100644 (file)
 #ifndef LIBIBERTY_H
 #define LIBIBERTY_H
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 #include "ansidecl.h"
 
 /* Build an argument vector from a string.  Allocates memory using
@@ -21,6 +25,12 @@ extern char **buildargv PARAMS ((char *));
 
 extern void freeargv PARAMS ((char **));
 
+/* Duplicate an argument vector. Allocates memory using malloc.  Use
+   freeargv to free the vector.  */
+
+extern char **dupargv PARAMS ((char **));
+
+
 /* Return the last component of a path name.  Note that we can't use a
    prototype here because the parameter is declared inconsistently
    across different systems, sometimes as "char *" and sometimes as
@@ -101,8 +111,7 @@ extern int xatexit PARAMS ((void (*fn) (void)));
 #ifndef __GNUC__
 extern void xexit PARAMS ((int status));
 #else
-typedef void libiberty_voidfn PARAMS ((int status));
-__volatile__ libiberty_voidfn xexit;
+void xexit PARAMS ((int status)) __attribute__ ((noreturn));
 #endif
 
 /* Set the program name used by xmalloc.  */
@@ -158,4 +167,9 @@ extern int pexecute PARAMS ((const char *, char * const *, const char *,
 
 extern int pwait PARAMS ((int, int *, int));
 
+#ifdef __cplusplus
+}
+#endif
+
+
 #endif /* ! defined (LIBIBERTY_H) */