# OBSOLETE //
# OBSOLETE //  Mitsubishi Electric Corp. D30V Simulator.
# OBSOLETE //  Copyright (C) 1997, Free Software Foundation, Inc.
# OBSOLETE //  Contributed by Cygnus Solutions Inc.
# OBSOLETE //
# OBSOLETE //  This file is part of GDB, the GNU debugger.
# OBSOLETE //
# OBSOLETE //  This program is free software; you can redistribute it and/or modify
# OBSOLETE //  it under the terms of the GNU General Public License as published by
# OBSOLETE //  the Free Software Foundation; either version 2 of the License, or
# OBSOLETE //  (at your option) any later version.
# OBSOLETE //
# OBSOLETE //  This program is distributed in the hope that it will be useful,
# OBSOLETE //  but WITHOUT ANY WARRANTY; without even the implied warranty of
# OBSOLETE //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# OBSOLETE //  GNU General Public License for more details.
# OBSOLETE //
# OBSOLETE //  You should have received a copy of the GNU General Public License
# OBSOLETE //  along with this program; if not, write to the Free Software
# OBSOLETE //  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# OBSOLETE //
# OBSOLETE switch: 4: 13: 4: 13
