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, 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA. */
#include "config.h"
#define obstack_chunk_free free
extern char *xmalloc ();
-extern void free ();
/* Table relating interpreter typecodes to machine modes. */
#define GET_TYPECODE_MODE(CODE) (typecode_mode[((int) CODE)])
static struct conversion_recipe
{
unsigned char *opcodes; /* Bytecodes to emit in order. */
- int nopcodes; /* Count of bytecodes. */
- int cost; /* A rather arbitrary cost function. */
+ int nopcodes; /* Count of bytecodes. */
+ int cost; /* A rather arbitrary cost function. */
} conversion_recipe[NUM_TYPECODES][NUM_TYPECODES];
/* Binary operator tables. */
* Either sign extensions or zero extensions may be present, but not both.
* No widening conversions occur after a signed/unsigned conversion.
* The sequence of sizes must be strict nonincreasing or nondecreasing. */
+
static int
conversion_reasonable_p (conversion, list)
struct conversion_info *conversion;
/* Exhaustively search all reasonable conversions to find one to
convert the given types. */
+
static struct conversion_recipe
deduce_conversion (from, to)
enum typecode from, to;
/* Emit a conversion between the given scalar types. */
+
void
emit_typecode_conversion (from, to)
enum typecode from, to;
/* Initialize mode_to_code_map[] */
+
void
bc_init_mode_to_code_map ()
{
}
/* Given a machine mode return the preferred typecode. */
+
enum typecode
preferred_typecode (mode, unsignedp)
enum machine_mode mode;
/* Expand a conversion between the given types. */
+
void
bc_expand_conversion (from, to)
tree from, to;
}
/* Expand a conversion of the given type to a truth value. */
+
void
bc_expand_truth_conversion (from)
tree from;
}
/* Emit an appropriate binary operation. */
+
void
bc_expand_binary_operation (optab, resulttype, arg0, arg1)
struct binary_operator optab[];
}
/* Emit an appropriate unary operation. */
+
void
bc_expand_unary_operation (optab, resulttype, arg0)
struct unary_operator optab[];
/* Emit an appropriate increment. */
+
void
bc_expand_increment (optab, type)
struct increment_operator optab[];