Mercurial > hg > CbC > CbC_gcc
diff gcc/config/pdp11/2bsd.h @ 0:a06113de4d67
first commit
author | kent <kent@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 17 Jul 2009 14:47:48 +0900 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gcc/config/pdp11/2bsd.h Fri Jul 17 14:47:48 2009 +0900 @@ -0,0 +1,65 @@ +/* Definitions of target machine for GNU compiler, for a PDP with 2BSD + Copyright (C) 1995, 1996, 1999, 2000, 2007 Free Software Foundation, Inc. + Contributed by Michael K. Gschwind (mike@vlsivie.tuwien.ac.at). + +This file is part of GCC. + +GCC 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, or (at your option) +any later version. + +GCC 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 GCC; see the file COPYING3. If not see +<http://www.gnu.org/licenses/>. */ + +#define TWO_BSD + +/* EXIT_IGNORE_STACK should be nonzero if, when returning from a function, + the stack pointer does not matter. The value is tested only in + functions that have frame pointers. + No definition is equivalent to always zero. */ + +#undef EXIT_IGNORE_STACK +#define EXIT_IGNORE_STACK 1 + +#undef INITIAL_FRAME_POINTER_OFFSET +#define INITIAL_FRAME_POINTER_OFFSET(DEPTH_VAR) \ +{ \ + int offset; \ + offset = get_frame_size(); \ + offset = (offset <= 2)? 0: (offset -2); \ + (DEPTH_VAR) = offset+10; \ +} + +/* Value should be nonzero if functions must have frame pointers. + Zero means the frame pointer need not be set up (and parms + may be accessed via the stack pointer) in functions that seem suitable. + This is computed in `reload', in reload1.c. + */ + +#undef FRAME_POINTER_REQUIRED +#define FRAME_POINTER_REQUIRED 1 + +/* Offset within stack frame to start allocating local variables at. + If FRAME_GROWS_DOWNWARD, this is the offset to the END of the + first local allocated. Otherwise, it is the offset to the BEGINNING + of the first local allocated. */ +#undef STARTING_FRAME_OFFSET +#define STARTING_FRAME_OFFSET -8 + + +#undef ASM_DECLARE_FUNCTION_NAME +#define ASM_DECLARE_FUNCTION_NAME(STREAM, NAME, DECL) \ +do { \ +ASM_OUTPUT_LABEL (STREAM, NAME); \ +fprintf (STREAM, "~~%s:\n", NAME); \ +} while (0) + +#undef TARGET_UNIX_ASM_DEFAULT +#define TARGET_UNIX_ASM_DEFAULT MASK_UNIX_ASM