diff options
author | Richard Sandiford <rdsandiford@googlemail.com> | 2010-07-12 19:03:35 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2010-07-12 19:03:35 +0000 |
commit | fa19795ec4394113e1d79f4660d97b2da23cfaca (patch) | |
tree | 62ef72086ece76b905d83fddffb7913f0ad12b2e /gcc/builtins.h | |
parent | c371bb73807c48f1a708c51f113caea45f0347b1 (diff) | |
download | gcc-fa19795ec4394113e1d79f4660d97b2da23cfaca.zip gcc-fa19795ec4394113e1d79f4660d97b2da23cfaca.tar.gz gcc-fa19795ec4394113e1d79f4660d97b2da23cfaca.tar.bz2 |
Makefile.in (target-globals.o): Depend on builtins.h.
gcc/
* Makefile.in (target-globals.o): Depend on builtins.h.
* builtins.h: New file.
* builtins.c: Include builtins.h.
(default_target_builtins): New variable.
(this_target_builtins): New conditional variable.
(apply_args_mode, apply_result_mode): Redefine as macros.
* target-globals.h (this_target_builtins): Declare.
(target_globals): Add a builtins field.
(restore_target_globals): Copy the builtins field to
this_target_builtins.
* target-globals.c: Include builtins.h.
(default_target_globals): Initialize the builtins field.
(save_target_globals): Likewise.
From-SVN: r162105
Diffstat (limited to 'gcc/builtins.h')
-rw-r--r-- | gcc/builtins.h | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/gcc/builtins.h b/gcc/builtins.h new file mode 100644 index 0000000..a7d1458 --- /dev/null +++ b/gcc/builtins.h @@ -0,0 +1,49 @@ +/* Expand builtin functions. + Copyright (C) 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, + 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 + Free Software Foundation, Inc. + +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/>. */ + +#ifndef GCC_BUILTINS_H +#define GCC_BUILTINS_H + +/* Target-dependent globals. */ +struct target_builtins { + /* For each register that may be used for calling a function, this + gives a mode used to copy the register's value. VOIDmode indicates + the register is not used for calling a function. If the machine + has register windows, this gives only the outbound registers. + INCOMING_REGNO gives the corresponding inbound register. */ + enum machine_mode x_apply_args_mode[FIRST_PSEUDO_REGISTER]; + + /* For each register that may be used for returning values, this gives + a mode used to copy the register's value. VOIDmode indicates the + register is not used for returning values. If the machine has + register windows, this gives only the outbound registers. + INCOMING_REGNO gives the corresponding inbound register. */ + enum machine_mode x_apply_result_mode[FIRST_PSEUDO_REGISTER]; +}; + +extern GTY(()) struct target_builtins default_target_builtins; +#if SWITCHABLE_TARGET +extern struct target_builtins *this_target_builtins; +#else +#define this_target_builtins (&default_target_builtins) +#endif + +#endif |