Open64 (mfef90, whirl2f, and IR tools)
TAG: version-openad; SVN changeset: 916
|
00001 /* 00002 00003 Copyright (C) 2000, 2001 Silicon Graphics, Inc. All Rights Reserved. 00004 00005 This program is free software; you can redistribute it and/or modify it 00006 under the terms of version 2 of the GNU General Public License as 00007 published by the Free Software Foundation. 00008 00009 This program is distributed in the hope that it would be useful, but 00010 WITHOUT ANY WARRANTY; without even the implied warranty of 00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 00012 00013 Further, this software is distributed without any warranty that it is 00014 free of the rightful claim of any third person regarding infringement 00015 or the like. Any license provided herein, whether implied or 00016 otherwise, applies only to this software file. Patent licenses, if 00017 any, provided herein do not apply to combinations of this program with 00018 other software, or any other product whatsoever. 00019 00020 You should have received a copy of the GNU General Public License along 00021 with this program; if not, write the Free Software Foundation, Inc., 59 00022 Temple Place - Suite 330, Boston MA 02111-1307, USA. 00023 00024 Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pky, 00025 Mountain View, CA 94043, or: 00026 00027 http://www.sgi.com 00028 00029 For further information regarding this notice, see: 00030 00031 http://oss.sgi.com/projects/GenInfo/NoticeExplan 00032 00033 */ 00034 00035 00036 00037 /* USMID: "\n@(#)5.0_pl/headers/s_cnstrct.h 5.3 06/11/99 08:54:22\n" */ 00038 00039 long64 words_in_constructor; 00040 long64 bits_in_constructor; 00041 long_type result_value[MAX_WORDS_FOR_NUMERIC]; 00042 char *char_result_buffer = NULL; 00043 long64 char_result_len = 0; 00044 long64 char_result_buffer_len = 0; 00045 long64 char_result_offset = 0; 00046 long64 the_cn_bit_offset; 00047 int the_cn_idx; 00048 long64 bcast_cn_bit_offset; 00049 boolean in_array_constructor = FALSE; 00050 boolean no_result_value = FALSE; 00051 boolean unequal_char_lens; 00052 boolean do_constructor_init = TRUE; 00053 boolean single_value_array; 00054 opnd_type single_value_opnd; 00055 00056 struct save_env_entry { 00057 long64 words_in_constructor; 00058 long64 bits_in_constructor; 00059 long64 char_result_len; 00060 long64 char_result_offset; 00061 long64 the_cn_bit_offset; 00062 int the_cn_idx; 00063 long64 bcast_cn_bit_offset; 00064 boolean no_result_value; 00065 boolean unequal_char_lens; 00066 boolean do_constructor_init; 00067 boolean check_type_conversion; 00068 int target_type_idx; 00069 int target_char_len_idx; 00070 opnd_type init_target_opnd; 00071 boolean single_value_array; 00072 opnd_type single_value_opnd; 00073 }; 00074 00075 typedef struct save_env_entry save_env_type; 00076 00077 00078 extern exp_tbl_type bin_add_tbl[Num_Linear_Types][Num_Linear_Types]; 00079 extern exp_tbl_type bin_sub_tbl[Num_Linear_Types][Num_Linear_Types]; 00080 extern exp_tbl_type mult_div_tbl[Num_Linear_Types][Num_Linear_Types]; 00081 extern exp_tbl_type power_tbl[Num_Linear_Types][Num_Linear_Types]; 00082 extern exp_tbl_type eq_ne_tbl[Num_Linear_Types][Num_Linear_Types]; 00083 extern exp_tbl_type gt_lt_tbl[Num_Linear_Types][Num_Linear_Types]; 00084 extern exp_tbl_type and_or_tbl[Num_Linear_Types][Num_Linear_Types]; 00085 extern exp_tbl_type asg_tbl[Num_Linear_Types][Num_Linear_Types]; 00086 extern exp_tbl_type un_plus_tbl[Num_Linear_Types]; 00087 extern exp_tbl_type not_tbl[Num_Linear_Types];