Update years in copyright notice for the GDB files.
[deliverable/binutils-gdb.git] / sim / igen / misc.h
index 60351b4419ff64e0887d24fcbeb2cf6a11cb384b..e9c23234c5e3c249e4967b3fff6052759882d7c7 100644 (file)
@@ -1,28 +1,57 @@
-/*  This file is part of the program psim.
+/* The IGEN simulator generator for GDB, the GNU Debugger.
 
-    Copyright (C) 1994-1995, Andrew Cagney <cagney@highland.com.au>
+   Copyright 2002-2013 Free Software Foundation, Inc.
 
-    This program 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 of the License, or
-    (at your option) any later version.
+   Contributed by Andrew Cagney.
+
+   This file is part of GDB.
+
+   This program 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 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or 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 this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or 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 this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-    */
 
 
 /* Frustrating header junk */
 
 #include "config.h"
 
+
+enum
+{
+  default_insn_bit_size = 32,
+  max_insn_bit_size = 64,
+};
+
+
+/* Define a 64bit data type */
+
+#if defined __GNUC__ || defined _WIN32
+#ifdef __GNUC__
+
+typedef long long signed64;
+typedef unsigned long long unsigned64;
+
+#else /* _WIN32 */
+
+typedef __int64 signed64;
+typedef unsigned __int64 unsigned64;
+
+#endif /* _WIN32 */
+#else /* Not GNUC or WIN32 */
+/* Not supported */
+#endif
+
+
 #include <stdio.h>
 #include <ctype.h>
 
 
 #include "filter_host.h"
 
-extern void error
-(char *msg, ...);
+typedef struct _line_ref line_ref;
+struct _line_ref
+{
+  const char *file_name;
+  int line_nr;
+};
+
+/* Error appends a new line, warning and notify do not */
+typedef void error_func (const line_ref *line, char *msg, ...);
+
+extern error_func error;
+extern error_func warning;
+extern error_func notify;
+
+
+#define ERROR(EXPRESSION) \
+do { \
+  line_ref line; \
+  line.file_name = filter_filename (__FILE__); \
+  line.line_nr = __LINE__; \
+  error (&line, EXPRESSION); \
+} while (0)
 
 #define ASSERT(EXPRESSION) \
 do { \
   if (!(EXPRESSION)) { \
-    error("%s:%d: assertion failed - %s\n", \
-         filter_filename (__FILE__), __LINE__, #EXPRESSION); \
+    line_ref line; \
+    line.file_name = filter_filename (__FILE__); \
+    line.line_nr = __LINE__; \
+    error(&line, "assertion failed - %s\n", #EXPRESSION); \
   } \
 } while (0)
 
-#define ZALLOC(TYPE) (TYPE*)zalloc(sizeof(TYPE))
+#define ZALLOC(TYPE) ((TYPE*) zalloc (sizeof(TYPE)))
+#define NZALLOC(TYPE,N) ((TYPE*) zalloc (sizeof(TYPE) * (N)))
 
-extern void *zalloc
-(long size);
+extern void *zalloc (long size);
 
-extern void dumpf
-(int indent, char *msg, ...);
+extern unsigned target_a2i (int ms_bit_nr, const char *a);
 
-extern unsigned target_a2i
-(int ms_bit_nr,
- const char *a);
+extern unsigned i2target (int ms_bit_nr, unsigned bit);
 
-extern unsigned i2target
-(int ms_bit_nr,
- unsigned bit);
+extern unsigned long long a2i (const char *a);
 
-extern unsigned long long a2i
-(const char *a);
 
 /* Try looking for name in the map table (returning the corresponding
-   integer value).  If that fails, try converting the name into an
-   integer */
+   integer value).
+
+   If the the sentinal (NAME == NULL) its value if >= zero is returned
+   as the default. */
 
-typedef struct _name_map {
+typedef struct _name_map
+{
   const char *name;
   int i;
-} name_map;
+}
+name_map;
 
-extern int name2i
-(const char *name,
- const name_map *map);
+extern int name2i (const char *name, const name_map * map);
 
-extern const char *i2name
-(const int i,
- const name_map *map);
+extern const char *i2name (const int i, const name_map * map);
This page took 0.023862 seconds and 4 git commands to generate.