Commit f795fb5b by Richard Kenner

Support NT Graphics programs; also bug fixes.

From-SVN: r9001
parent bb5d01e5
/* Definitions of target machine for GNU compiler
for an Intel i386 or later processor running Windows NT 3.x.
Copyright (C) 1994 Free Software Foundation, Inc.
Contributed by Douglas B. Rupp (drupp@cs.washington.edu)
/* Operating system specific defines to be used when targeting GCC for
Windows NT 3.x on an i386.
Copyright (C) 1994, 1995 Free Software Foundation, Inc.
Contributed by Douglas B. Rupp (drupp@cs.washington.edu).
This file is part of GNU CC.
......@@ -17,16 +17,74 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#define YES_UNDERSCORES
#include "i386/gas.h"
#include "winnt/winnt.h"
/* Value is the number of bytes of arguments automatically
popped when returning from a subroutine call.
FUNDECL is the declaration node of the function (as a tree),
FUNTYPE is the data type of the function (as a tree),
or for a library call it is an identifier node for the subroutine name.
SIZE is the number of bytes of arguments passed on the stack.
This only happens if the function declaration has the STDCALL attribute and
the number of arguments is not variable */
#undef RETURN_POPS_ARGS
#define RETURN_POPS_ARGS(FUNDECL,FUNTYPE,SIZE) \
( \
TREE_CODE (FUNTYPE) == IDENTIFIER_NODE \
? \
0 \
: \
( \
((FUNDECL && (TREE_CODE_CLASS (TREE_CODE (FUNDECL)) == 'd') ? \
chain_member_value (get_identifier ("stdcall"), \
DECL_MACHINE_ATTRIBUTES (FUNDECL) \
) : 0 \
) \
) \
&& \
( \
TYPE_ARG_TYPES (FUNTYPE) == 0 \
|| \
TREE_VALUE (tree_last (TYPE_ARG_TYPES (FUNTYPE))) \
== void_type_node \
) \
) \
? \
(SIZE) \
: \
(aggregate_value_p (TREE_TYPE (FUNTYPE))) \
? \
GET_MODE_SIZE (Pmode) \
: \
0 \
)
#undef FUNCTION_PROLOGUE
#define FUNCTION_PROLOGUE(FILE,SIZE) \
winnt_function_prologue (FILE, SIZE)
#ifdef CPP_PREDEFINES
#undef CPP_PREDEFINES
#define CPP_PREDEFINES "-Dunix -Di386 -DWINNT -D_M_IX86 -D_X86_ -D__STDC__=0 \
-DALMOST_STDC -Asystem(unix) -Asystem(winnt) -Acpu(i386) -Amachine(i386)"
#endif
#define CPP_PREDEFINES "-Dunix -Di386 -DWIN32 -D_WIN32 \
-DWINNT -D_M_IX86=300 -D_X86_=1 -DALMOST_STDC -D_MSC_VER=800\
-Asystem(unix) -Asystem(winnt) -Acpu(i386) -Amachine(i386)"
#define SIZE_TYPE "unsigned int"
#define PTRDIFF_TYPE "int"
#define WCHAR_UNSIGNED 1
#define WCHAR_TYPE_SIZE 16
#define WCHAR_TYPE "short unsigned int"
#undef LONG_DOUBLE_TYPE_SIZE
#define LONG_DOUBLE_TYPE_SIZE 64
#define HAVE_ATEXIT 1
#undef EXTRA_SECTIONS
#define EXTRA_SECTIONS in_ctor, in_dtor
......@@ -36,7 +94,6 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
CTOR_SECTION_FUNCTION \
DTOR_SECTION_FUNCTION
#undef CTOR_SECTION_FUNCTION
#define CTOR_SECTION_FUNCTION \
void \
ctor_section () \
......@@ -48,7 +105,6 @@ ctor_section () \
} \
}
#undef DTOR_SECTION_FUNCTION
#define DTOR_SECTION_FUNCTION \
void \
dtor_section () \
......@@ -60,7 +116,6 @@ dtor_section () \
} \
}
#undef ASM_OUTPUT_CONSTRUCTOR
#define ASM_OUTPUT_CONSTRUCTOR(FILE,NAME) \
do { \
ctor_section (); \
......@@ -69,7 +124,6 @@ dtor_section () \
fprintf (FILE, "\n"); \
} while (0)
#undef ASM_OUTPUT_DESTRUCTOR
#define ASM_OUTPUT_DESTRUCTOR(FILE,NAME) \
do { \
dtor_section (); \
......@@ -77,3 +131,9 @@ dtor_section () \
assemble_name (FILE, NAME); \
fprintf (FILE, "\n"); \
} while (0)
#define HAVE_probe 1
#define gen_probe() gen_rtx(ASM_INPUT, VOIDmode, "call __stkchk\n")
#include "winnt/winnt.h"
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment