intrinsic.h 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652
  1. /* Header file for intrinsics check, resolve and simplify function
  2. prototypes.
  3. Copyright (C) 2000-2015 Free Software Foundation, Inc.
  4. Contributed by Andy Vaught & Katherine Holcomb
  5. This file is part of GCC.
  6. GCC is free software; you can redistribute it and/or modify it under
  7. the terms of the GNU General Public License as published by the Free
  8. Software Foundation; either version 3, or (at your option) any later
  9. version.
  10. GCC is distributed in the hope that it will be useful, but WITHOUT ANY
  11. WARRANTY; without even the implied warranty of MERCHANTABILITY or
  12. FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
  13. for more details.
  14. You should have received a copy of the GNU General Public License
  15. along with GCC; see the file COPYING3. If not see
  16. <http://www.gnu.org/licenses/>. */
  17. /* Expression returned when simplification fails. */
  18. extern gfc_expr gfc_bad_expr;
  19. /* Check functions. */
  20. bool gfc_check_a_ikind (gfc_expr *, gfc_expr *);
  21. bool gfc_check_a_xkind (gfc_expr *, gfc_expr *);
  22. bool gfc_check_a_p (gfc_expr *, gfc_expr *);
  23. bool gfc_check_x_yd (gfc_expr *, gfc_expr *);
  24. bool gfc_check_abs (gfc_expr *);
  25. bool gfc_check_access_func (gfc_expr *, gfc_expr *);
  26. bool gfc_check_achar (gfc_expr *, gfc_expr *);
  27. bool gfc_check_all_any (gfc_expr *, gfc_expr *);
  28. bool gfc_check_allocated (gfc_expr *);
  29. bool gfc_check_associated (gfc_expr *, gfc_expr *);
  30. bool gfc_check_atan_2 (gfc_expr *, gfc_expr *);
  31. bool gfc_check_atan2 (gfc_expr *, gfc_expr *);
  32. bool gfc_check_atomic_cas (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *,
  33. gfc_expr *);
  34. bool gfc_check_atomic_def (gfc_expr *, gfc_expr *, gfc_expr *);
  35. bool gfc_check_atomic_fetch_op (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
  36. bool gfc_check_atomic_op (gfc_expr *, gfc_expr *, gfc_expr *);
  37. bool gfc_check_atomic_ref (gfc_expr *, gfc_expr *, gfc_expr *);
  38. bool gfc_check_besn (gfc_expr *, gfc_expr *);
  39. bool gfc_check_bessel_n2 (gfc_expr *, gfc_expr *, gfc_expr *);
  40. bool gfc_check_bge_bgt_ble_blt (gfc_expr *, gfc_expr *);
  41. bool gfc_check_bitfcn (gfc_expr *, gfc_expr *);
  42. bool gfc_check_char (gfc_expr *, gfc_expr *);
  43. bool gfc_check_chdir (gfc_expr *);
  44. bool gfc_check_chmod (gfc_expr *, gfc_expr *);
  45. bool gfc_check_cmplx (gfc_expr *, gfc_expr *, gfc_expr *);
  46. bool gfc_check_complex (gfc_expr *, gfc_expr *);
  47. bool gfc_check_co_broadcast (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
  48. bool gfc_check_co_minmax (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
  49. bool gfc_check_co_sum (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
  50. bool gfc_check_co_reduce (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *,
  51. gfc_expr *);
  52. bool gfc_check_count (gfc_expr *, gfc_expr *, gfc_expr *);
  53. bool gfc_check_cshift (gfc_expr *, gfc_expr *, gfc_expr *);
  54. bool gfc_check_ctime (gfc_expr *);
  55. bool gfc_check_datan2 (gfc_expr *, gfc_expr *);
  56. bool gfc_check_dcmplx (gfc_expr *, gfc_expr *);
  57. bool gfc_check_dble (gfc_expr *);
  58. bool gfc_check_digits (gfc_expr *);
  59. bool gfc_check_dot_product (gfc_expr *, gfc_expr *);
  60. bool gfc_check_dprod (gfc_expr *, gfc_expr *);
  61. bool gfc_check_dshift (gfc_expr *, gfc_expr *, gfc_expr *);
  62. bool gfc_check_eoshift (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
  63. bool gfc_check_dtime_etime (gfc_expr *);
  64. bool gfc_check_fgetputc (gfc_expr *, gfc_expr *);
  65. bool gfc_check_fgetput (gfc_expr *);
  66. bool gfc_check_float (gfc_expr *);
  67. bool gfc_check_fstat (gfc_expr *, gfc_expr *);
  68. bool gfc_check_ftell (gfc_expr *);
  69. bool gfc_check_fn_c (gfc_expr *);
  70. bool gfc_check_fn_d (gfc_expr *);
  71. bool gfc_check_fn_r (gfc_expr *);
  72. bool gfc_check_fn_rc (gfc_expr *);
  73. bool gfc_check_fn_rc2008 (gfc_expr *);
  74. bool gfc_check_fnum (gfc_expr *);
  75. bool gfc_check_hostnm (gfc_expr *);
  76. bool gfc_check_huge (gfc_expr *);
  77. bool gfc_check_hypot (gfc_expr *, gfc_expr *);
  78. bool gfc_check_i (gfc_expr *);
  79. bool gfc_check_iand (gfc_expr *, gfc_expr *);
  80. bool gfc_check_and (gfc_expr *, gfc_expr *);
  81. bool gfc_check_ibits (gfc_expr *, gfc_expr *, gfc_expr *);
  82. bool gfc_check_ichar_iachar (gfc_expr *, gfc_expr *);
  83. bool gfc_check_idnint (gfc_expr *);
  84. bool gfc_check_ieor (gfc_expr *, gfc_expr *);
  85. bool gfc_check_index (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
  86. bool gfc_check_int (gfc_expr *, gfc_expr *);
  87. bool gfc_check_intconv (gfc_expr *);
  88. bool gfc_check_ior (gfc_expr *, gfc_expr *);
  89. bool gfc_check_irand (gfc_expr *);
  90. bool gfc_check_isatty (gfc_expr *);
  91. bool gfc_check_isnan (gfc_expr *);
  92. bool gfc_check_ishft (gfc_expr *, gfc_expr *);
  93. bool gfc_check_ishftc (gfc_expr *, gfc_expr *, gfc_expr *);
  94. bool gfc_check_kill (gfc_expr *, gfc_expr *);
  95. bool gfc_check_kind (gfc_expr *);
  96. bool gfc_check_lbound (gfc_expr *, gfc_expr *, gfc_expr *);
  97. bool gfc_check_lcobound (gfc_expr *, gfc_expr *, gfc_expr *);
  98. bool gfc_check_len_lentrim (gfc_expr *, gfc_expr *);
  99. bool gfc_check_link (gfc_expr *, gfc_expr *);
  100. bool gfc_check_lge_lgt_lle_llt (gfc_expr *, gfc_expr *);
  101. bool gfc_check_loc (gfc_expr *);
  102. bool gfc_check_logical (gfc_expr *, gfc_expr *);
  103. bool gfc_check_min_max (gfc_actual_arglist *);
  104. bool gfc_check_min_max_integer (gfc_actual_arglist *);
  105. bool gfc_check_min_max_real (gfc_actual_arglist *);
  106. bool gfc_check_min_max_double (gfc_actual_arglist *);
  107. bool gfc_check_malloc (gfc_expr *);
  108. bool gfc_check_mask (gfc_expr *, gfc_expr *);
  109. bool gfc_check_matmul (gfc_expr *, gfc_expr *);
  110. bool gfc_check_merge (gfc_expr *, gfc_expr *, gfc_expr *);
  111. bool gfc_check_merge_bits (gfc_expr *, gfc_expr *, gfc_expr *);
  112. bool gfc_check_minloc_maxloc (gfc_actual_arglist *);
  113. bool gfc_check_minval_maxval (gfc_actual_arglist *);
  114. bool gfc_check_nearest (gfc_expr *, gfc_expr *);
  115. bool gfc_check_new_line (gfc_expr *);
  116. bool gfc_check_norm2 (gfc_expr *, gfc_expr *);
  117. bool gfc_check_null (gfc_expr *);
  118. bool gfc_check_num_images (gfc_expr *, gfc_expr *);
  119. bool gfc_check_pack (gfc_expr *, gfc_expr *, gfc_expr *);
  120. bool gfc_check_parity (gfc_expr *, gfc_expr *);
  121. bool gfc_check_precision (gfc_expr *);
  122. bool gfc_check_present (gfc_expr *);
  123. bool gfc_check_product_sum (gfc_actual_arglist *);
  124. bool gfc_check_radix (gfc_expr *);
  125. bool gfc_check_rand (gfc_expr *);
  126. bool gfc_check_range (gfc_expr *);
  127. bool gfc_check_rank (gfc_expr *);
  128. bool gfc_check_real (gfc_expr *, gfc_expr *);
  129. bool gfc_check_rename (gfc_expr *, gfc_expr *);
  130. bool gfc_check_repeat (gfc_expr *, gfc_expr *);
  131. bool gfc_check_reshape (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
  132. bool gfc_check_same_type_as (gfc_expr *, gfc_expr *);
  133. bool gfc_check_scale (gfc_expr *, gfc_expr *);
  134. bool gfc_check_scan (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
  135. bool gfc_check_second_sub (gfc_expr *);
  136. bool gfc_check_secnds (gfc_expr *);
  137. bool gfc_check_selected_char_kind (gfc_expr *);
  138. bool gfc_check_selected_int_kind (gfc_expr *);
  139. bool gfc_check_selected_real_kind (gfc_expr *, gfc_expr *, gfc_expr *);
  140. bool gfc_check_set_exponent (gfc_expr *, gfc_expr *);
  141. bool gfc_check_shape (gfc_expr *, gfc_expr *);
  142. bool gfc_check_shift (gfc_expr *, gfc_expr *);
  143. bool gfc_check_size (gfc_expr *, gfc_expr *, gfc_expr *);
  144. bool gfc_check_sign (gfc_expr *, gfc_expr *);
  145. bool gfc_check_signal (gfc_expr *, gfc_expr *);
  146. bool gfc_check_sizeof (gfc_expr *);
  147. bool gfc_check_c_associated (gfc_expr *, gfc_expr *);
  148. bool gfc_check_c_f_pointer (gfc_expr *, gfc_expr *, gfc_expr *);
  149. bool gfc_check_c_f_procpointer (gfc_expr *, gfc_expr *);
  150. bool gfc_check_c_funloc (gfc_expr *);
  151. bool gfc_check_c_loc (gfc_expr *);
  152. bool gfc_check_c_sizeof (gfc_expr *);
  153. bool gfc_check_sngl (gfc_expr *);
  154. bool gfc_check_spread (gfc_expr *, gfc_expr *, gfc_expr *);
  155. bool gfc_check_srand (gfc_expr *);
  156. bool gfc_check_stat (gfc_expr *, gfc_expr *);
  157. bool gfc_check_storage_size (gfc_expr *, gfc_expr *);
  158. bool gfc_check_sum (gfc_expr *, gfc_expr *, gfc_expr *);
  159. bool gfc_check_symlnk (gfc_expr *, gfc_expr *);
  160. bool gfc_check_transf_bit_intrins (gfc_actual_arglist *);
  161. bool gfc_check_transfer (gfc_expr *, gfc_expr *, gfc_expr *);
  162. bool gfc_check_transpose (gfc_expr *);
  163. bool gfc_check_trim (gfc_expr *);
  164. bool gfc_check_ttynam (gfc_expr *);
  165. bool gfc_check_ubound (gfc_expr *, gfc_expr *, gfc_expr *);
  166. bool gfc_check_ucobound (gfc_expr *, gfc_expr *, gfc_expr *);
  167. bool gfc_check_umask (gfc_expr *);
  168. bool gfc_check_unlink (gfc_expr *);
  169. bool gfc_check_unpack (gfc_expr *, gfc_expr *, gfc_expr *);
  170. bool gfc_check_verify (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
  171. bool gfc_check_x (gfc_expr *);
  172. /* Intrinsic subroutines. */
  173. bool gfc_check_alarm_sub (gfc_expr *, gfc_expr *, gfc_expr *);
  174. bool gfc_check_chdir_sub (gfc_expr *, gfc_expr *);
  175. bool gfc_check_chmod_sub (gfc_expr *, gfc_expr *, gfc_expr *);
  176. bool gfc_check_cpu_time (gfc_expr *);
  177. bool gfc_check_ctime_sub (gfc_expr *, gfc_expr *);
  178. bool gfc_check_system_clock (gfc_expr *, gfc_expr *, gfc_expr *);
  179. bool gfc_check_date_and_time (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
  180. bool gfc_check_exit (gfc_expr *);
  181. bool gfc_check_fdate_sub (gfc_expr *);
  182. bool gfc_check_flush (gfc_expr *);
  183. bool gfc_check_free (gfc_expr *);
  184. bool gfc_check_fstat_sub (gfc_expr *, gfc_expr *, gfc_expr *);
  185. bool gfc_check_gerror (gfc_expr *);
  186. bool gfc_check_getarg (gfc_expr *, gfc_expr *);
  187. bool gfc_check_getlog (gfc_expr *);
  188. bool gfc_check_move_alloc (gfc_expr *, gfc_expr *);
  189. bool gfc_check_mvbits (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *,
  190. gfc_expr *);
  191. bool gfc_check_random_number (gfc_expr *);
  192. bool gfc_check_random_seed (gfc_expr *, gfc_expr *, gfc_expr *);
  193. bool gfc_check_dtime_etime_sub (gfc_expr *, gfc_expr *);
  194. bool gfc_check_fgetputc_sub (gfc_expr *, gfc_expr *, gfc_expr *);
  195. bool gfc_check_fgetput_sub (gfc_expr *, gfc_expr *);
  196. bool gfc_check_fseek_sub (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
  197. bool gfc_check_ftell_sub (gfc_expr *, gfc_expr *);
  198. bool gfc_check_getcwd_sub (gfc_expr *, gfc_expr *);
  199. bool gfc_check_hostnm_sub (gfc_expr *, gfc_expr *);
  200. bool gfc_check_image_index (gfc_expr *, gfc_expr *);
  201. bool gfc_check_itime_idate (gfc_expr *);
  202. bool gfc_check_kill_sub (gfc_expr *, gfc_expr *, gfc_expr *);
  203. bool gfc_check_ltime_gmtime (gfc_expr *, gfc_expr *);
  204. bool gfc_check_perror (gfc_expr *);
  205. bool gfc_check_rename_sub (gfc_expr *, gfc_expr *, gfc_expr *);
  206. bool gfc_check_link_sub (gfc_expr *, gfc_expr *, gfc_expr *);
  207. bool gfc_check_symlnk_sub (gfc_expr *, gfc_expr *, gfc_expr *);
  208. bool gfc_check_signal_sub (gfc_expr *, gfc_expr *, gfc_expr *);
  209. bool gfc_check_sleep_sub (gfc_expr *);
  210. bool gfc_check_stat_sub (gfc_expr *, gfc_expr *, gfc_expr *);
  211. bool gfc_check_system_sub (gfc_expr *, gfc_expr *);
  212. bool gfc_check_this_image (gfc_expr *, gfc_expr *, gfc_expr *);
  213. bool gfc_check_ttynam_sub (gfc_expr *, gfc_expr *);
  214. bool gfc_check_umask_sub (gfc_expr *, gfc_expr *);
  215. bool gfc_check_unlink_sub (gfc_expr *, gfc_expr *);
  216. /* Simplification functions. */
  217. gfc_expr *gfc_simplify_abs (gfc_expr *);
  218. gfc_expr *gfc_simplify_achar (gfc_expr *, gfc_expr *);
  219. gfc_expr *gfc_simplify_acos (gfc_expr *);
  220. gfc_expr *gfc_simplify_acosh (gfc_expr *);
  221. gfc_expr *gfc_simplify_adjustl (gfc_expr *);
  222. gfc_expr *gfc_simplify_adjustr (gfc_expr *);
  223. gfc_expr *gfc_simplify_aimag (gfc_expr *);
  224. gfc_expr *gfc_simplify_aint (gfc_expr *, gfc_expr *);
  225. gfc_expr *gfc_simplify_all (gfc_expr *, gfc_expr *);
  226. gfc_expr *gfc_simplify_dint (gfc_expr *);
  227. gfc_expr *gfc_simplify_anint (gfc_expr *, gfc_expr *);
  228. gfc_expr *gfc_simplify_dnint (gfc_expr *);
  229. gfc_expr *gfc_simplify_and (gfc_expr *, gfc_expr *);
  230. gfc_expr *gfc_simplify_any (gfc_expr *, gfc_expr *);
  231. gfc_expr *gfc_simplify_asin (gfc_expr *);
  232. gfc_expr *gfc_simplify_asinh (gfc_expr *);
  233. gfc_expr *gfc_simplify_atan (gfc_expr *);
  234. gfc_expr *gfc_simplify_atanh (gfc_expr *);
  235. gfc_expr *gfc_simplify_atan2 (gfc_expr *, gfc_expr *);
  236. gfc_expr *gfc_simplify_bessel_j0 (gfc_expr *);
  237. gfc_expr *gfc_simplify_bessel_j1 (gfc_expr *);
  238. gfc_expr *gfc_simplify_bessel_jn (gfc_expr *, gfc_expr *);
  239. gfc_expr *gfc_simplify_bessel_jn2 (gfc_expr *, gfc_expr *, gfc_expr *);
  240. gfc_expr *gfc_simplify_bessel_y0 (gfc_expr *);
  241. gfc_expr *gfc_simplify_bessel_y1 (gfc_expr *);
  242. gfc_expr *gfc_simplify_bessel_yn (gfc_expr *, gfc_expr *);
  243. gfc_expr *gfc_simplify_bessel_yn2 (gfc_expr *, gfc_expr *, gfc_expr *);
  244. gfc_expr *gfc_simplify_bge (gfc_expr *, gfc_expr *);
  245. gfc_expr *gfc_simplify_bgt (gfc_expr *, gfc_expr *);
  246. gfc_expr *gfc_simplify_bit_size (gfc_expr *);
  247. gfc_expr *gfc_simplify_ble (gfc_expr *, gfc_expr *);
  248. gfc_expr *gfc_simplify_blt (gfc_expr *, gfc_expr *);
  249. gfc_expr *gfc_simplify_btest (gfc_expr *, gfc_expr *);
  250. gfc_expr *gfc_simplify_ceiling (gfc_expr *, gfc_expr *);
  251. gfc_expr *gfc_simplify_char (gfc_expr *, gfc_expr *);
  252. gfc_expr *gfc_simplify_cmplx (gfc_expr *, gfc_expr *, gfc_expr *);
  253. gfc_expr *gfc_simplify_compiler_options (void);
  254. gfc_expr *gfc_simplify_compiler_version (void);
  255. gfc_expr *gfc_simplify_complex (gfc_expr *, gfc_expr *);
  256. gfc_expr *gfc_simplify_conjg (gfc_expr *);
  257. gfc_expr *gfc_simplify_cos (gfc_expr *);
  258. gfc_expr *gfc_simplify_cosh (gfc_expr *);
  259. gfc_expr *gfc_simplify_count (gfc_expr *, gfc_expr *, gfc_expr *);
  260. gfc_expr *gfc_simplify_dcmplx (gfc_expr *, gfc_expr *);
  261. gfc_expr *gfc_simplify_dble (gfc_expr *);
  262. gfc_expr *gfc_simplify_digits (gfc_expr *);
  263. gfc_expr *gfc_simplify_dim (gfc_expr *, gfc_expr *);
  264. gfc_expr *gfc_simplify_dprod (gfc_expr *, gfc_expr *);
  265. gfc_expr *gfc_simplify_dot_product (gfc_expr *, gfc_expr *);
  266. gfc_expr *gfc_simplify_dreal (gfc_expr *);
  267. gfc_expr *gfc_simplify_dshiftl (gfc_expr *, gfc_expr *, gfc_expr *);
  268. gfc_expr *gfc_simplify_dshiftr (gfc_expr *, gfc_expr *, gfc_expr *);
  269. gfc_expr *gfc_simplify_epsilon (gfc_expr *);
  270. gfc_expr *gfc_simplify_erf (gfc_expr *);
  271. gfc_expr *gfc_simplify_erfc (gfc_expr *);
  272. gfc_expr *gfc_simplify_erfc_scaled (gfc_expr *);
  273. gfc_expr *gfc_simplify_exp (gfc_expr *);
  274. gfc_expr *gfc_simplify_exponent (gfc_expr *);
  275. gfc_expr *gfc_simplify_extends_type_of (gfc_expr *, gfc_expr *);
  276. gfc_expr *gfc_simplify_float (gfc_expr *);
  277. gfc_expr *gfc_simplify_floor (gfc_expr *, gfc_expr *);
  278. gfc_expr *gfc_simplify_fraction (gfc_expr *);
  279. gfc_expr *gfc_simplify_gamma (gfc_expr *);
  280. gfc_expr *gfc_simplify_huge (gfc_expr *);
  281. gfc_expr *gfc_simplify_hypot (gfc_expr *, gfc_expr *);
  282. gfc_expr *gfc_simplify_iachar (gfc_expr *, gfc_expr *);
  283. gfc_expr *gfc_simplify_iall (gfc_expr *, gfc_expr *, gfc_expr *);
  284. gfc_expr *gfc_simplify_iand (gfc_expr *, gfc_expr *);
  285. gfc_expr *gfc_simplify_iany (gfc_expr *, gfc_expr *, gfc_expr *);
  286. gfc_expr *gfc_simplify_ibclr (gfc_expr *, gfc_expr *);
  287. gfc_expr *gfc_simplify_ibits (gfc_expr *, gfc_expr *, gfc_expr *);
  288. gfc_expr *gfc_simplify_ibset (gfc_expr *, gfc_expr *);
  289. gfc_expr *gfc_simplify_ichar (gfc_expr *, gfc_expr *);
  290. gfc_expr *gfc_simplify_ieor (gfc_expr *, gfc_expr *);
  291. gfc_expr *gfc_simplify_image_index (gfc_expr *, gfc_expr *);
  292. gfc_expr *gfc_simplify_index (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
  293. gfc_expr *gfc_simplify_int (gfc_expr *, gfc_expr *);
  294. gfc_expr *gfc_simplify_int2 (gfc_expr *);
  295. gfc_expr *gfc_simplify_int8 (gfc_expr *);
  296. gfc_expr *gfc_simplify_long (gfc_expr *);
  297. gfc_expr *gfc_simplify_ifix (gfc_expr *);
  298. gfc_expr *gfc_simplify_idint (gfc_expr *);
  299. gfc_expr *gfc_simplify_ior (gfc_expr *, gfc_expr *);
  300. gfc_expr *gfc_simplify_iparity (gfc_expr *, gfc_expr *, gfc_expr *);
  301. gfc_expr *gfc_simplify_is_iostat_end (gfc_expr *);
  302. gfc_expr *gfc_simplify_is_iostat_eor (gfc_expr *);
  303. gfc_expr *gfc_simplify_isnan (gfc_expr *);
  304. gfc_expr *gfc_simplify_ishft (gfc_expr *, gfc_expr *);
  305. gfc_expr *gfc_simplify_ishftc (gfc_expr *, gfc_expr *, gfc_expr *);
  306. gfc_expr *gfc_simplify_kind (gfc_expr *);
  307. gfc_expr *gfc_simplify_lbound (gfc_expr *, gfc_expr *, gfc_expr *);
  308. gfc_expr *gfc_simplify_lcobound (gfc_expr *, gfc_expr *, gfc_expr *);
  309. gfc_expr *gfc_simplify_leadz (gfc_expr *);
  310. gfc_expr *gfc_simplify_len (gfc_expr *, gfc_expr *);
  311. gfc_expr *gfc_simplify_len_trim (gfc_expr *, gfc_expr *);
  312. gfc_expr *gfc_simplify_lgamma (gfc_expr *);
  313. gfc_expr *gfc_simplify_lge (gfc_expr *, gfc_expr *);
  314. gfc_expr *gfc_simplify_lgt (gfc_expr *, gfc_expr *);
  315. gfc_expr *gfc_simplify_lle (gfc_expr *, gfc_expr *);
  316. gfc_expr *gfc_simplify_llt (gfc_expr *, gfc_expr *);
  317. gfc_expr *gfc_simplify_log (gfc_expr *);
  318. gfc_expr *gfc_simplify_log10 (gfc_expr *);
  319. gfc_expr *gfc_simplify_logical (gfc_expr *, gfc_expr *);
  320. gfc_expr *gfc_simplify_lshift (gfc_expr *, gfc_expr *);
  321. gfc_expr *gfc_simplify_matmul (gfc_expr *, gfc_expr *);
  322. gfc_expr *gfc_simplify_maskl (gfc_expr *, gfc_expr *);
  323. gfc_expr *gfc_simplify_maskr (gfc_expr *, gfc_expr *);
  324. gfc_expr *gfc_simplify_merge (gfc_expr *, gfc_expr *, gfc_expr *);
  325. gfc_expr *gfc_simplify_merge_bits (gfc_expr *, gfc_expr *, gfc_expr *);
  326. gfc_expr *gfc_simplify_min (gfc_expr *);
  327. gfc_expr *gfc_simplify_minval (gfc_expr *, gfc_expr*, gfc_expr*);
  328. gfc_expr *gfc_simplify_max (gfc_expr *);
  329. gfc_expr *gfc_simplify_maxval (gfc_expr *, gfc_expr*, gfc_expr*);
  330. gfc_expr *gfc_simplify_maxexponent (gfc_expr *);
  331. gfc_expr *gfc_simplify_minexponent (gfc_expr *);
  332. gfc_expr *gfc_simplify_mod (gfc_expr *, gfc_expr *);
  333. gfc_expr *gfc_simplify_modulo (gfc_expr *, gfc_expr *);
  334. gfc_expr *gfc_simplify_mvbits (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *,
  335. gfc_expr *);
  336. gfc_expr *gfc_simplify_nearest (gfc_expr *, gfc_expr *);
  337. gfc_expr *gfc_simplify_new_line (gfc_expr *);
  338. gfc_expr *gfc_simplify_nint (gfc_expr *, gfc_expr *);
  339. gfc_expr *gfc_simplify_norm2 (gfc_expr *, gfc_expr *);
  340. gfc_expr *gfc_simplify_null (gfc_expr *);
  341. gfc_expr *gfc_simplify_num_images (gfc_expr *, gfc_expr *);
  342. gfc_expr *gfc_simplify_idnint (gfc_expr *);
  343. gfc_expr *gfc_simplify_not (gfc_expr *);
  344. gfc_expr *gfc_simplify_or (gfc_expr *, gfc_expr *);
  345. gfc_expr *gfc_simplify_pack (gfc_expr *, gfc_expr *, gfc_expr *);
  346. gfc_expr *gfc_simplify_parity (gfc_expr *, gfc_expr *);
  347. gfc_expr *gfc_simplify_popcnt (gfc_expr *);
  348. gfc_expr *gfc_simplify_poppar (gfc_expr *);
  349. gfc_expr *gfc_simplify_precision (gfc_expr *);
  350. gfc_expr *gfc_simplify_product (gfc_expr *, gfc_expr *, gfc_expr *);
  351. gfc_expr *gfc_simplify_radix (gfc_expr *);
  352. gfc_expr *gfc_simplify_range (gfc_expr *);
  353. gfc_expr *gfc_simplify_rank (gfc_expr *);
  354. gfc_expr *gfc_simplify_real (gfc_expr *, gfc_expr *);
  355. gfc_expr *gfc_simplify_realpart (gfc_expr *);
  356. gfc_expr *gfc_simplify_repeat (gfc_expr *, gfc_expr *);
  357. gfc_expr *gfc_simplify_reshape (gfc_expr *, gfc_expr *, gfc_expr *,
  358. gfc_expr *);
  359. gfc_expr *gfc_simplify_rrspacing (gfc_expr *);
  360. gfc_expr *gfc_simplify_rshift (gfc_expr *, gfc_expr *);
  361. gfc_expr *gfc_simplify_same_type_as (gfc_expr *, gfc_expr *);
  362. gfc_expr *gfc_simplify_scale (gfc_expr *, gfc_expr *);
  363. gfc_expr *gfc_simplify_scan (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
  364. gfc_expr *gfc_simplify_selected_char_kind (gfc_expr *);
  365. gfc_expr *gfc_simplify_selected_int_kind (gfc_expr *);
  366. gfc_expr *gfc_simplify_selected_real_kind (gfc_expr *, gfc_expr *, gfc_expr *);
  367. gfc_expr *gfc_simplify_set_exponent (gfc_expr *, gfc_expr *);
  368. gfc_expr *gfc_simplify_sign (gfc_expr *, gfc_expr *);
  369. gfc_expr *gfc_simplify_shape (gfc_expr *, gfc_expr *);
  370. gfc_expr *gfc_simplify_shifta (gfc_expr *, gfc_expr *);
  371. gfc_expr *gfc_simplify_shiftl (gfc_expr *, gfc_expr *);
  372. gfc_expr *gfc_simplify_shiftr (gfc_expr *, gfc_expr *);
  373. gfc_expr *gfc_simplify_sin (gfc_expr *);
  374. gfc_expr *gfc_simplify_sinh (gfc_expr *);
  375. gfc_expr *gfc_simplify_size (gfc_expr *, gfc_expr *, gfc_expr *);
  376. gfc_expr *gfc_simplify_sizeof (gfc_expr *);
  377. gfc_expr *gfc_simplify_storage_size (gfc_expr *, gfc_expr *);
  378. gfc_expr *gfc_simplify_sngl (gfc_expr *);
  379. gfc_expr *gfc_simplify_spacing (gfc_expr *);
  380. gfc_expr *gfc_simplify_spread (gfc_expr *, gfc_expr *, gfc_expr *);
  381. gfc_expr *gfc_simplify_sqrt (gfc_expr *);
  382. gfc_expr *gfc_simplify_sum (gfc_expr *, gfc_expr *, gfc_expr *);
  383. gfc_expr *gfc_simplify_tan (gfc_expr *);
  384. gfc_expr *gfc_simplify_tanh (gfc_expr *);
  385. gfc_expr *gfc_simplify_this_image (gfc_expr *, gfc_expr *, gfc_expr *);
  386. gfc_expr *gfc_simplify_tiny (gfc_expr *);
  387. gfc_expr *gfc_simplify_trailz (gfc_expr *);
  388. gfc_expr *gfc_simplify_transfer (gfc_expr *, gfc_expr *, gfc_expr *);
  389. gfc_expr *gfc_simplify_transpose (gfc_expr *);
  390. gfc_expr *gfc_simplify_trim (gfc_expr *);
  391. gfc_expr *gfc_simplify_ubound (gfc_expr *, gfc_expr *, gfc_expr *);
  392. gfc_expr *gfc_simplify_ucobound (gfc_expr *, gfc_expr *, gfc_expr *);
  393. gfc_expr *gfc_simplify_unpack (gfc_expr *, gfc_expr *, gfc_expr *);
  394. gfc_expr *gfc_simplify_verify (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
  395. gfc_expr *gfc_simplify_xor (gfc_expr *, gfc_expr *);
  396. /* Constant conversion simplification. */
  397. gfc_expr *gfc_convert_constant (gfc_expr *, bt, int);
  398. gfc_expr *gfc_convert_char_constant (gfc_expr *, bt, int);
  399. /* Resolution functions. */
  400. void gfc_resolve_abs (gfc_expr *, gfc_expr *);
  401. void gfc_resolve_access (gfc_expr *, gfc_expr *, gfc_expr *);
  402. void gfc_resolve_adjustl (gfc_expr *, gfc_expr *);
  403. void gfc_resolve_adjustr (gfc_expr *, gfc_expr *);
  404. void gfc_resolve_achar (gfc_expr *, gfc_expr *, gfc_expr *);
  405. void gfc_resolve_acos (gfc_expr *, gfc_expr *);
  406. void gfc_resolve_acosh (gfc_expr *, gfc_expr *);
  407. void gfc_resolve_aimag (gfc_expr *, gfc_expr *);
  408. void gfc_resolve_aint (gfc_expr *, gfc_expr *, gfc_expr *);
  409. void gfc_resolve_dint (gfc_expr *, gfc_expr *);
  410. void gfc_resolve_all (gfc_expr *, gfc_expr *, gfc_expr *);
  411. void gfc_resolve_anint (gfc_expr *, gfc_expr *, gfc_expr *);
  412. void gfc_resolve_dnint (gfc_expr *, gfc_expr *);
  413. void gfc_resolve_and (gfc_expr *, gfc_expr *, gfc_expr *);
  414. void gfc_resolve_any (gfc_expr *, gfc_expr *, gfc_expr *);
  415. void gfc_resolve_asin (gfc_expr *, gfc_expr *);
  416. void gfc_resolve_asinh (gfc_expr *, gfc_expr *);
  417. void gfc_resolve_atan (gfc_expr *, gfc_expr *);
  418. void gfc_resolve_atanh (gfc_expr *, gfc_expr *);
  419. void gfc_resolve_atan2 (gfc_expr *, gfc_expr *, gfc_expr *);
  420. void gfc_resolve_atomic_def (gfc_code *);
  421. void gfc_resolve_atomic_ref (gfc_code *);
  422. void gfc_resolve_besn (gfc_expr *, gfc_expr *, gfc_expr *);
  423. void gfc_resolve_bessel_n2 (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *a);
  424. void gfc_resolve_btest (gfc_expr *, gfc_expr *, gfc_expr *);
  425. void gfc_resolve_c_loc (gfc_expr *, gfc_expr *);
  426. void gfc_resolve_c_funloc (gfc_expr *, gfc_expr *);
  427. void gfc_resolve_ceiling (gfc_expr *, gfc_expr *, gfc_expr *);
  428. void gfc_resolve_char (gfc_expr *, gfc_expr *, gfc_expr *);
  429. void gfc_resolve_chdir (gfc_expr *, gfc_expr *);
  430. void gfc_resolve_chmod (gfc_expr *, gfc_expr *, gfc_expr *);
  431. void gfc_resolve_cmplx (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
  432. void gfc_resolve_dcmplx (gfc_expr *, gfc_expr *, gfc_expr *);
  433. void gfc_resolve_complex (gfc_expr *, gfc_expr *, gfc_expr *);
  434. void gfc_resolve_conjg (gfc_expr *, gfc_expr *);
  435. void gfc_resolve_cos (gfc_expr *, gfc_expr *);
  436. void gfc_resolve_cosh (gfc_expr *, gfc_expr *);
  437. void gfc_resolve_count (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
  438. void gfc_resolve_cshift (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
  439. void gfc_resolve_ctime (gfc_expr *, gfc_expr *);
  440. void gfc_resolve_dble (gfc_expr *, gfc_expr *);
  441. void gfc_resolve_dim (gfc_expr *, gfc_expr *, gfc_expr *);
  442. void gfc_resolve_dot_product (gfc_expr *, gfc_expr *, gfc_expr *);
  443. void gfc_resolve_dprod (gfc_expr *, gfc_expr *, gfc_expr *);
  444. void gfc_resolve_dshift (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
  445. void gfc_resolve_dtime_sub (gfc_code *);
  446. void gfc_resolve_eoshift (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *,
  447. gfc_expr *);
  448. void gfc_resolve_etime_sub (gfc_code *);
  449. void gfc_resolve_exp (gfc_expr *, gfc_expr *);
  450. void gfc_resolve_exponent (gfc_expr *, gfc_expr *);
  451. void gfc_resolve_extends_type_of (gfc_expr *, gfc_expr *, gfc_expr *);
  452. void gfc_resolve_fdate (gfc_expr *);
  453. void gfc_resolve_floor (gfc_expr *, gfc_expr *, gfc_expr *);
  454. void gfc_resolve_fnum (gfc_expr *, gfc_expr *);
  455. void gfc_resolve_fraction (gfc_expr *, gfc_expr *);
  456. void gfc_resolve_fstat (gfc_expr *, gfc_expr *, gfc_expr *);
  457. void gfc_resolve_ftell (gfc_expr *, gfc_expr *);
  458. void gfc_resolve_fgetc (gfc_expr *, gfc_expr *, gfc_expr *);
  459. void gfc_resolve_fget (gfc_expr *, gfc_expr *);
  460. void gfc_resolve_fputc (gfc_expr *, gfc_expr *, gfc_expr *);
  461. void gfc_resolve_fput (gfc_expr *, gfc_expr *);
  462. void gfc_resolve_g77_math1 (gfc_expr *, gfc_expr *);
  463. void gfc_resolve_gamma (gfc_expr *, gfc_expr *);
  464. void gfc_resolve_getcwd (gfc_expr *, gfc_expr *);
  465. void gfc_resolve_getgid (gfc_expr *);
  466. void gfc_resolve_getpid (gfc_expr *);
  467. void gfc_resolve_getuid (gfc_expr *);
  468. void gfc_resolve_hostnm (gfc_expr *, gfc_expr *);
  469. void gfc_resolve_hypot (gfc_expr *, gfc_expr *, gfc_expr *);
  470. void gfc_resolve_iand (gfc_expr *, gfc_expr *, gfc_expr *);
  471. void gfc_resolve_ibclr (gfc_expr *, gfc_expr *, gfc_expr *);
  472. void gfc_resolve_ibits (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
  473. void gfc_resolve_ibset (gfc_expr *, gfc_expr *, gfc_expr *);
  474. void gfc_resolve_image_index (gfc_expr *, gfc_expr *, gfc_expr *);
  475. void gfc_resolve_index_func (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *,
  476. gfc_expr *);
  477. void gfc_resolve_ierrno (gfc_expr *);
  478. void gfc_resolve_ieor (gfc_expr *, gfc_expr *, gfc_expr *);
  479. void gfc_resolve_ichar (gfc_expr *, gfc_expr *, gfc_expr *);
  480. void gfc_resolve_iachar (gfc_expr *, gfc_expr *, gfc_expr *);
  481. void gfc_resolve_iall (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
  482. void gfc_resolve_iany (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
  483. void gfc_resolve_idnint (gfc_expr *, gfc_expr *);
  484. void gfc_resolve_int (gfc_expr *, gfc_expr *, gfc_expr *);
  485. void gfc_resolve_int2 (gfc_expr *, gfc_expr *);
  486. void gfc_resolve_int8 (gfc_expr *, gfc_expr *);
  487. void gfc_resolve_long (gfc_expr *, gfc_expr *);
  488. void gfc_resolve_ior (gfc_expr *, gfc_expr *, gfc_expr *);
  489. void gfc_resolve_iparity (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
  490. void gfc_resolve_isatty (gfc_expr *, gfc_expr *);
  491. void gfc_resolve_rank (gfc_expr *, gfc_expr *);
  492. void gfc_resolve_rshift (gfc_expr *, gfc_expr *, gfc_expr *);
  493. void gfc_resolve_lshift (gfc_expr *, gfc_expr *, gfc_expr *);
  494. void gfc_resolve_ishft (gfc_expr *, gfc_expr *, gfc_expr *);
  495. void gfc_resolve_ishftc (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
  496. void gfc_resolve_kill (gfc_expr *, gfc_expr *, gfc_expr *);
  497. void gfc_resolve_lbound (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
  498. void gfc_resolve_lcobound (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
  499. void gfc_resolve_len (gfc_expr *, gfc_expr *, gfc_expr *);
  500. void gfc_resolve_len_trim (gfc_expr *, gfc_expr *, gfc_expr *);
  501. void gfc_resolve_lgamma (gfc_expr *, gfc_expr *);
  502. void gfc_resolve_link (gfc_expr *, gfc_expr *, gfc_expr *);
  503. void gfc_resolve_loc (gfc_expr *, gfc_expr *);
  504. void gfc_resolve_log (gfc_expr *, gfc_expr *);
  505. void gfc_resolve_log10 (gfc_expr *, gfc_expr *);
  506. void gfc_resolve_logical (gfc_expr *, gfc_expr *, gfc_expr *);
  507. void gfc_resolve_lstat (gfc_expr *, gfc_expr *, gfc_expr *);
  508. void gfc_resolve_malloc (gfc_expr *, gfc_expr *);
  509. void gfc_resolve_matmul (gfc_expr *, gfc_expr *, gfc_expr *);
  510. void gfc_resolve_max (gfc_expr *, gfc_actual_arglist *);
  511. void gfc_resolve_maxloc (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
  512. void gfc_resolve_maxval (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
  513. void gfc_resolve_mclock (gfc_expr *);
  514. void gfc_resolve_mclock8 (gfc_expr *);
  515. void gfc_resolve_mask (gfc_expr *, gfc_expr *, gfc_expr *);
  516. void gfc_resolve_merge (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
  517. void gfc_resolve_merge_bits (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
  518. void gfc_resolve_min (gfc_expr *, gfc_actual_arglist *);
  519. void gfc_resolve_minloc (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
  520. void gfc_resolve_minval (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
  521. void gfc_resolve_mod (gfc_expr *, gfc_expr *, gfc_expr *);
  522. void gfc_resolve_modulo (gfc_expr *, gfc_expr *, gfc_expr *);
  523. void gfc_resolve_nearest (gfc_expr *, gfc_expr *, gfc_expr *);
  524. void gfc_resolve_nint (gfc_expr *, gfc_expr *, gfc_expr *);
  525. void gfc_resolve_norm2 (gfc_expr *, gfc_expr *, gfc_expr *);
  526. void gfc_resolve_not (gfc_expr *, gfc_expr *);
  527. void gfc_resolve_or (gfc_expr *, gfc_expr *, gfc_expr *);
  528. void gfc_resolve_pack (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
  529. void gfc_resolve_parity (gfc_expr *, gfc_expr *, gfc_expr *);
  530. void gfc_resolve_product (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
  531. void gfc_resolve_real (gfc_expr *, gfc_expr *, gfc_expr *);
  532. void gfc_resolve_realpart (gfc_expr *, gfc_expr *);
  533. void gfc_resolve_rename (gfc_expr *, gfc_expr *, gfc_expr *);
  534. void gfc_resolve_repeat (gfc_expr *, gfc_expr *, gfc_expr *);
  535. void gfc_resolve_reshape (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *,
  536. gfc_expr *);
  537. void gfc_resolve_rrspacing (gfc_expr *, gfc_expr *);
  538. void gfc_resolve_scale (gfc_expr *, gfc_expr *, gfc_expr *);
  539. void gfc_resolve_scan (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *,
  540. gfc_expr *);
  541. void gfc_resolve_second_sub (gfc_code *);
  542. void gfc_resolve_secnds (gfc_expr *, gfc_expr *);
  543. void gfc_resolve_set_exponent (gfc_expr *, gfc_expr *, gfc_expr *);
  544. void gfc_resolve_shape (gfc_expr *, gfc_expr *, gfc_expr *);
  545. void gfc_resolve_shift (gfc_expr *, gfc_expr *, gfc_expr *);
  546. void gfc_resolve_sign (gfc_expr *, gfc_expr *, gfc_expr *);
  547. void gfc_resolve_signal (gfc_expr *, gfc_expr *, gfc_expr *);
  548. void gfc_resolve_sin (gfc_expr *, gfc_expr *);
  549. void gfc_resolve_sinh (gfc_expr *, gfc_expr *);
  550. void gfc_resolve_size (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
  551. void gfc_resolve_stride (gfc_expr *, gfc_expr *, gfc_expr *);
  552. void gfc_resolve_spacing (gfc_expr *, gfc_expr *);
  553. void gfc_resolve_spread (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
  554. void gfc_resolve_sqrt (gfc_expr *, gfc_expr *);
  555. void gfc_resolve_stat (gfc_expr *, gfc_expr *, gfc_expr *);
  556. void gfc_resolve_storage_size (gfc_expr *f, gfc_expr *a, gfc_expr *kind);
  557. void gfc_resolve_srand (gfc_code *);
  558. void gfc_resolve_sum (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
  559. void gfc_resolve_symlnk (gfc_expr *, gfc_expr *, gfc_expr *);
  560. void gfc_resolve_system (gfc_expr *, gfc_expr *);
  561. void gfc_resolve_tan (gfc_expr *, gfc_expr *);
  562. void gfc_resolve_tanh (gfc_expr *, gfc_expr *);
  563. void gfc_resolve_this_image (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
  564. void gfc_resolve_time (gfc_expr *);
  565. void gfc_resolve_time8 (gfc_expr *);
  566. void gfc_resolve_transfer (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
  567. void gfc_resolve_transpose (gfc_expr *, gfc_expr *);
  568. void gfc_resolve_trim (gfc_expr *, gfc_expr *);
  569. void gfc_resolve_ttynam (gfc_expr *, gfc_expr *);
  570. void gfc_resolve_ubound (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
  571. void gfc_resolve_ucobound (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
  572. void gfc_resolve_umask (gfc_expr *, gfc_expr *);
  573. void gfc_resolve_unlink (gfc_expr *, gfc_expr *);
  574. void gfc_resolve_unpack (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
  575. void gfc_resolve_verify (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *,
  576. gfc_expr *);
  577. void gfc_resolve_xor (gfc_expr *, gfc_expr *, gfc_expr *);
  578. /* Intrinsic subroutine resolution. */
  579. void gfc_resolve_alarm_sub (gfc_code *);
  580. void gfc_resolve_chdir_sub (gfc_code *);
  581. void gfc_resolve_chmod_sub (gfc_code *);
  582. void gfc_resolve_cpu_time (gfc_code *);
  583. void gfc_resolve_ctime_sub (gfc_code *);
  584. void gfc_resolve_execute_command_line (gfc_code *);
  585. void gfc_resolve_exit (gfc_code *);
  586. void gfc_resolve_fdate_sub (gfc_code *);
  587. void gfc_resolve_flush (gfc_code *);
  588. void gfc_resolve_free (gfc_code *);
  589. void gfc_resolve_fseek_sub (gfc_code *);
  590. void gfc_resolve_fstat_sub (gfc_code *);
  591. void gfc_resolve_ftell_sub (gfc_code *);
  592. void gfc_resolve_fgetc_sub (gfc_code *);
  593. void gfc_resolve_fget_sub (gfc_code *);
  594. void gfc_resolve_fputc_sub (gfc_code *);
  595. void gfc_resolve_fput_sub (gfc_code *);
  596. void gfc_resolve_gerror (gfc_code *);
  597. void gfc_resolve_getarg (gfc_code *);
  598. void gfc_resolve_getcwd_sub (gfc_code *);
  599. void gfc_resolve_getlog (gfc_code *);
  600. void gfc_resolve_get_command (gfc_code *);
  601. void gfc_resolve_get_command_argument (gfc_code *);
  602. void gfc_resolve_get_environment_variable (gfc_code *);
  603. void gfc_resolve_gmtime (gfc_code *);
  604. void gfc_resolve_hostnm_sub (gfc_code *);
  605. void gfc_resolve_idate (gfc_code *);
  606. void gfc_resolve_itime (gfc_code *);
  607. void gfc_resolve_kill_sub (gfc_code *);
  608. void gfc_resolve_lstat_sub (gfc_code *);
  609. void gfc_resolve_ltime (gfc_code *);
  610. void gfc_resolve_mvbits (gfc_code *);
  611. void gfc_resolve_perror (gfc_code *);
  612. void gfc_resolve_random_number (gfc_code *);
  613. void gfc_resolve_random_seed (gfc_code *);
  614. void gfc_resolve_rename_sub (gfc_code *);
  615. void gfc_resolve_link_sub (gfc_code *);
  616. void gfc_resolve_symlnk_sub (gfc_code *);
  617. void gfc_resolve_signal_sub (gfc_code *);
  618. void gfc_resolve_sleep_sub (gfc_code *);
  619. void gfc_resolve_stat_sub (gfc_code *);
  620. void gfc_resolve_system_clock (gfc_code *);
  621. void gfc_resolve_system_sub (gfc_code *);
  622. void gfc_resolve_ttynam_sub (gfc_code *);
  623. void gfc_resolve_umask_sub (gfc_code *);
  624. void gfc_resolve_unlink_sub (gfc_code *);
  625. /* The mvbits() subroutine requires the most arguments: five. */
  626. #define MAX_INTRINSIC_ARGS 5
  627. extern const char *gfc_current_intrinsic;
  628. extern gfc_intrinsic_arg *gfc_current_intrinsic_arg[MAX_INTRINSIC_ARGS];
  629. extern locus *gfc_current_intrinsic_where;