aboutsummaryrefslogtreecommitdiff
path: root/gold/gold.h
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@google.com>2006-08-04 23:10:59 +0000
committerIan Lance Taylor <iant@google.com>2006-08-04 23:10:59 +0000
commitbae7f79e03d6405f5ceec0e3e24671e6b30f29ed (patch)
tree4b9df8c6433411b45963dd75e3a6dcad9a22518e /gold/gold.h
parentc17d87de17351aed016a9d0b0712cdee4cca5f9e (diff)
downloadfsf-binutils-gdb-bae7f79e03d6405f5ceec0e3e24671e6b30f29ed.zip
fsf-binutils-gdb-bae7f79e03d6405f5ceec0e3e24671e6b30f29ed.tar.gz
fsf-binutils-gdb-bae7f79e03d6405f5ceec0e3e24671e6b30f29ed.tar.bz2
Initial CVS checkin of gold
Diffstat (limited to 'gold/gold.h')
-rw-r--r--gold/gold.h65
1 files changed, 65 insertions, 0 deletions
diff --git a/gold/gold.h b/gold/gold.h
new file mode 100644
index 0000000..757449f
--- /dev/null
+++ b/gold/gold.h
@@ -0,0 +1,65 @@
+// gold.h -- general definitions for gold -*- C++ -*-
+
+#ifndef GOLD_GOLD_H
+
+#include "config.h"
+#include "ansidecl.h"
+
+#ifdef ENABLE_NLS
+# include <libintl.h>
+# define _(String) gettext (String)
+# ifdef gettext_noop
+# define N_(String) gettext_noop (String)
+# else
+# define N_(String) (String)
+# endif
+#else
+# define gettext(Msgid) (Msgid)
+# define dgettext(Domainname, Msgid) (Msgid)
+# define dcgettext(Domainname, Msgid, Category) (Msgid)
+# define textdomain(Domainname) while (0) /* nothing */
+# define bindtextdomain(Domainname, Dirname) while (0) /* nothing */
+# define _(String) (String)
+# define N_(String) (String)
+#endif
+
+// Figure out how to get a hash set and a hash map. The fallback is
+// to just use set and map.
+
+#include <tr1/unordered_set>
+#include <tr1/unordered_map>
+
+// We need a template typedef here.
+
+#define Unordered_set std::tr1::unordered_set
+#define Unordered_map std::tr1::unordered_map
+
+namespace gold
+{
+
+// The name of the program as used in error messages.
+extern const char* program_name;
+
+// This function is called to exit the program. Status is true to
+// exit success (0) and false to exit failure (1).
+extern void
+gold_exit(bool status) ATTRIBUTE_NORETURN;
+
+// This function is called to emit an unexpected error message and a
+// newline, and then exit with failure. If PERRNO is true, it reports
+// the error in errno.
+extern void
+gold_fatal(const char* msg, bool perrno) ATTRIBUTE_NORETURN;
+
+// This is function is called in some cases if we run out of memory.
+extern void
+gold_nomem() ATTRIBUTE_NORETURN;
+
+// This function is called in cases which can not arise if the code is
+// written correctly.
+extern void
+gold_unreachable() ATTRIBUTE_NORETURN;
+
+} // End namespace gold.
+
+#endif // !defined(GOLD_GOLD_H)