gdb: Convert language la_get_symbol_name_matcher field to a method
[deliverable/binutils-gdb.git] / bfd / cpu-m32c.c
index f61ff980f6381669e83e23ff46784f195059896f..95d5e4d016b01c468a11543a8e05bf04c7a32b91 100644 (file)
@@ -1,11 +1,11 @@
 /* BFD support for the M16C/M32C processors.
 /* BFD support for the M16C/M32C processors.
-   Copyright (C) 2004, 2007 Free Software Foundation, Inc.
+   Copyright (C) 2004-2020 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
    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
 
    This file is part of BFD, the Binary File Descriptor library.
 
    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
+   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,
    (at your option) any later version.
 
    This program is distributed in the hope that it will be useful,
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
 
    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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+   MA 02110-1301, USA.  */
 
 #include "sysdep.h"
 #include "bfd.h"
 #include "libbfd.h"
 
 
 #include "sysdep.h"
 #include "bfd.h"
 #include "libbfd.h"
 
-static const bfd_arch_info_type arch_info_struct[] =
+/* Like bfd_default_scan but if the string is just "m32c" then
+   skip the m16c architecture.  */
+
+static bfd_boolean
+m32c_scan (const bfd_arch_info_type * info, const char * string)
 {
 {
-  {
-    32,                                /* bits per word */
-    32,                                /* bits per address */
-    8,                         /* bits per byte */
-    bfd_arch_m32c,             /* architecture */
-    bfd_mach_m32c,             /* machine */
-    "m32c",                    /* architecture name */
-    "m32c",                    /* printable name */
-    3,                         /* section align power */
-    FALSE,                     /* the default ? */
-    bfd_default_compatible,    /* architecture comparison fn */
-    bfd_default_scan,          /* string to architecture convert fn */
-    NULL                       /* next in list */
-  },
-};
+  if (strcmp (string, "m32c") == 0
+      && info->mach == bfd_mach_m16c)
+    return FALSE;
+
+  return bfd_default_scan (info, string);
+}
+
+#define N(number, print, align, default, next)                    \
+{ 32, 32, 8, bfd_arch_m32c, number, "m32c", print, align, default, \
+  bfd_default_compatible, m32c_scan, bfd_arch_default_fill, next, 0 }
+
+static const bfd_arch_info_type arch_info_struct =
+  N (bfd_mach_m32c, "m32c", 3, FALSE, NULL);
 
 const bfd_arch_info_type bfd_m32c_arch =
 
 const bfd_arch_info_type bfd_m32c_arch =
-{
-  32,                          /* Bits per word.  */
-  32,                          /* Bits per address.  */
-  8,                           /* Bits per byte.  */
-  bfd_arch_m32c,               /* Architecture.  */
-  bfd_mach_m16c,               /* Machine.  */
-  "m32c",                      /* Architecture name.  */
-  "m16c",                      /* Printable name.  */
-  4,                           /* Section align power.  */
-  TRUE,                                /* The default ?  */
-  bfd_default_compatible,      /* Architecture comparison fn.  */
-  bfd_default_scan,            /* String to architecture convert fn.  */
-  &arch_info_struct[0],                /* Next in list.  */
-};
+  N (bfd_mach_m16c, "m16c", 4, TRUE, &arch_info_struct);
+
This page took 0.023385 seconds and 4 git commands to generate.