source: trunk/third/gcc/bc-optab.h @ 8834

Revision 8834, 2.6 KB checked in by ghudson, 28 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r8833, which included commits to RCS files with non-trunk default branches.
Line 
1/* Bytecode token definitions for GNU C-compiler.
2   Copyright (C) 1993 Free Software Foundation, Inc.
3
4This file is part of GNU CC.
5
6GNU CC is free software; you can redistribute it and/or modify
7it under the terms of the GNU General Public License as published by
8the Free Software Foundation; either version 2, or (at your option)
9any later version.
10
11GNU CC is distributed in the hope that it will be useful,
12but WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14GNU General Public License for more details.
15
16You should have received a copy of the GNU General Public License
17along with GNU CC; see the file COPYING.  If not, write to
18the Free Software Foundation, 59 Temple Place - Suite 330,
19Boston, MA 02111-1307, USA.  */
20
21
22extern void bc_expand_conversion ();
23extern void bc_expand_truth_conversion ();
24extern void bc_expand_binary_operation ();
25extern void bc_expand_unary_operation ();
26
27struct binary_operator
28{
29  enum bytecode_opcode opcode;
30  enum typecode result;
31  enum typecode arg0;
32  enum typecode arg1;
33};
34
35extern struct binary_operator optab_plus_expr[];
36extern struct binary_operator optab_minus_expr[];
37extern struct binary_operator optab_mult_expr[];
38extern struct binary_operator optab_trunc_div_expr[];
39extern struct binary_operator optab_trunc_mod_expr[];
40extern struct binary_operator optab_rdiv_expr[];
41extern struct binary_operator optab_bit_and_expr[];
42extern struct binary_operator optab_bit_ior_expr[];
43extern struct binary_operator optab_bit_xor_expr[];
44extern struct binary_operator optab_lshift_expr[];
45extern struct binary_operator optab_rshift_expr[];
46extern struct binary_operator optab_truth_and_expr[];
47extern struct binary_operator optab_truth_or_expr[];
48extern struct binary_operator optab_lt_expr[];
49extern struct binary_operator optab_le_expr[];
50extern struct binary_operator optab_ge_expr[];
51extern struct binary_operator optab_gt_expr[];
52extern struct binary_operator optab_eq_expr[];
53extern struct binary_operator optab_ne_expr[];
54
55struct unary_operator
56{
57  enum bytecode_opcode opcode;
58  enum typecode result;
59  enum typecode arg0;
60};
61
62extern struct unary_operator optab_negate_expr[];
63extern struct unary_operator optab_bit_not_expr[];
64extern struct unary_operator optab_truth_not_expr[];
65
66struct increment_operator
67{
68  enum bytecode_opcode opcode;
69  enum typecode arg;
70};
71
72extern struct increment_operator optab_predecrement_expr[];
73extern struct increment_operator optab_preincrement_expr[];
74extern struct increment_operator optab_postdecrement_expr[];
75extern struct increment_operator optab_postincrement_expr[];
Note: See TracBrowser for help on using the repository browser.