Mercurial > hg > CbC > CbC_gcc
comparison gcc/fortran/trans.h @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children | 1830386684a0 |
comparison
equal
deleted
inserted
replaced
111:04ced10e8804 | 131:84e7813d76e9 |
---|---|
1 /* Header for code translation functions | 1 /* Header for code translation functions |
2 Copyright (C) 2002-2017 Free Software Foundation, Inc. | 2 Copyright (C) 2002-2018 Free Software Foundation, Inc. |
3 Contributed by Paul Brook | 3 Contributed by Paul Brook |
4 | 4 |
5 This file is part of GCC. | 5 This file is part of GCC. |
6 | 6 |
7 GCC is free software; you can redistribute it and/or modify it under | 7 GCC is free software; you can redistribute it and/or modify it under |
328 | 328 |
329 /* The loop this gfc_ss is in. */ | 329 /* The loop this gfc_ss is in. */ |
330 struct gfc_loopinfo *loop; | 330 struct gfc_loopinfo *loop; |
331 | 331 |
332 unsigned is_alloc_lhs:1; | 332 unsigned is_alloc_lhs:1; |
333 unsigned no_bounds_check:1; | |
333 } | 334 } |
334 gfc_ss; | 335 gfc_ss; |
335 #define gfc_get_ss() XCNEW (gfc_ss) | 336 #define gfc_get_ss() XCNEW (gfc_ss) |
336 | 337 |
337 /* The contents of this aren't actually used. A NULL SS chain indicates a | 338 /* The contents of this aren't actually used. A NULL SS chain indicates a |
429 tree gfc_vptr_final_get (tree); | 430 tree gfc_vptr_final_get (tree); |
430 tree gfc_vptr_deallocate_get (tree); | 431 tree gfc_vptr_deallocate_get (tree); |
431 void gfc_reset_vptr (stmtblock_t *, gfc_expr *); | 432 void gfc_reset_vptr (stmtblock_t *, gfc_expr *); |
432 void gfc_reset_len (stmtblock_t *, gfc_expr *); | 433 void gfc_reset_len (stmtblock_t *, gfc_expr *); |
433 tree gfc_get_vptr_from_expr (tree); | 434 tree gfc_get_vptr_from_expr (tree); |
434 tree gfc_get_class_array_ref (tree, tree, tree); | 435 tree gfc_get_class_array_ref (tree, tree, tree, bool); |
435 tree gfc_copy_class_to_class (tree, tree, tree, bool); | 436 tree gfc_copy_class_to_class (tree, tree, tree, bool); |
436 bool gfc_add_finalizer_call (stmtblock_t *, gfc_expr *); | 437 bool gfc_add_finalizer_call (stmtblock_t *, gfc_expr *); |
437 bool gfc_add_comp_finalizer_call (stmtblock_t *, tree, gfc_component *, bool); | 438 bool gfc_add_comp_finalizer_call (stmtblock_t *, tree, gfc_component *, bool); |
438 | 439 |
439 void gfc_conv_derived_to_class (gfc_se *, gfc_expr *, gfc_typespec, tree, bool, | 440 void gfc_conv_derived_to_class (gfc_se *, gfc_expr *, gfc_typespec, tree, bool, |
482 for details of the individual functions. */ | 483 for details of the individual functions. */ |
483 | 484 |
484 void gfc_conv_expr (gfc_se * se, gfc_expr * expr); | 485 void gfc_conv_expr (gfc_se * se, gfc_expr * expr); |
485 void gfc_conv_expr_val (gfc_se * se, gfc_expr * expr); | 486 void gfc_conv_expr_val (gfc_se * se, gfc_expr * expr); |
486 void gfc_conv_expr_lhs (gfc_se * se, gfc_expr * expr); | 487 void gfc_conv_expr_lhs (gfc_se * se, gfc_expr * expr); |
487 void gfc_conv_expr_reference (gfc_se * se, gfc_expr *); | 488 void gfc_conv_expr_reference (gfc_se * se, gfc_expr * expr, |
489 bool add_clobber = false); | |
488 void gfc_conv_expr_type (gfc_se * se, gfc_expr *, tree); | 490 void gfc_conv_expr_type (gfc_se * se, gfc_expr *, tree); |
489 | 491 |
490 | 492 |
491 /* trans-expr.c */ | 493 /* trans-expr.c */ |
492 tree gfc_conv_scalar_to_descriptor (gfc_se *, tree, symbol_attribute); | 494 tree gfc_conv_scalar_to_descriptor (gfc_se *, tree, symbol_attribute); |
835 extern GTY(()) tree gfor_fndecl_caf_event_query; | 837 extern GTY(()) tree gfor_fndecl_caf_event_query; |
836 extern GTY(()) tree gfor_fndecl_caf_fail_image; | 838 extern GTY(()) tree gfor_fndecl_caf_fail_image; |
837 extern GTY(()) tree gfor_fndecl_caf_failed_images; | 839 extern GTY(()) tree gfor_fndecl_caf_failed_images; |
838 extern GTY(()) tree gfor_fndecl_caf_image_status; | 840 extern GTY(()) tree gfor_fndecl_caf_image_status; |
839 extern GTY(()) tree gfor_fndecl_caf_stopped_images; | 841 extern GTY(()) tree gfor_fndecl_caf_stopped_images; |
842 extern GTY(()) tree gfor_fndecl_caf_form_team; | |
843 extern GTY(()) tree gfor_fndecl_caf_change_team; | |
844 extern GTY(()) tree gfor_fndecl_caf_end_team; | |
845 extern GTY(()) tree gfor_fndecl_caf_get_team; | |
846 extern GTY(()) tree gfor_fndecl_caf_sync_team; | |
847 extern GTY(()) tree gfor_fndecl_caf_team_number; | |
840 extern GTY(()) tree gfor_fndecl_co_broadcast; | 848 extern GTY(()) tree gfor_fndecl_co_broadcast; |
841 extern GTY(()) tree gfor_fndecl_co_max; | 849 extern GTY(()) tree gfor_fndecl_co_max; |
842 extern GTY(()) tree gfor_fndecl_co_min; | 850 extern GTY(()) tree gfor_fndecl_co_min; |
843 extern GTY(()) tree gfor_fndecl_co_reduce; | 851 extern GTY(()) tree gfor_fndecl_co_reduce; |
844 extern GTY(()) tree gfor_fndecl_co_sum; | 852 extern GTY(()) tree gfor_fndecl_co_sum; |
895 | 903 |
896 /* Other misc. runtime library functions. */ | 904 /* Other misc. runtime library functions. */ |
897 extern GTY(()) tree gfor_fndecl_size0; | 905 extern GTY(()) tree gfor_fndecl_size0; |
898 extern GTY(()) tree gfor_fndecl_size1; | 906 extern GTY(()) tree gfor_fndecl_size1; |
899 extern GTY(()) tree gfor_fndecl_iargc; | 907 extern GTY(()) tree gfor_fndecl_iargc; |
908 extern GTY(()) tree gfor_fndecl_kill; | |
909 extern GTY(()) tree gfor_fndecl_kill_sub; | |
900 | 910 |
901 /* Implemented in Fortran. */ | 911 /* Implemented in Fortran. */ |
902 extern GTY(()) tree gfor_fndecl_sc_kind; | 912 extern GTY(()) tree gfor_fndecl_sc_kind; |
903 extern GTY(()) tree gfor_fndecl_si_kind; | 913 extern GTY(()) tree gfor_fndecl_si_kind; |
904 extern GTY(()) tree gfor_fndecl_sr_kind; | 914 extern GTY(()) tree gfor_fndecl_sr_kind; |
905 | 915 |
906 /* IEEE-related. */ | 916 /* IEEE-related. */ |
907 extern GTY(()) tree gfor_fndecl_ieee_procedure_entry; | 917 extern GTY(()) tree gfor_fndecl_ieee_procedure_entry; |
908 extern GTY(()) tree gfor_fndecl_ieee_procedure_exit; | 918 extern GTY(()) tree gfor_fndecl_ieee_procedure_exit; |
909 | 919 |
920 /* RANDOM_INIT. */ | |
921 extern GTY(()) tree gfor_fndecl_random_init; | |
910 | 922 |
911 /* True if node is an integer constant. */ | 923 /* True if node is an integer constant. */ |
912 #define INTEGER_CST_P(node) (TREE_CODE(node) == INTEGER_CST) | 924 #define INTEGER_CST_P(node) (TREE_CODE(node) == INTEGER_CST) |
913 | 925 |
914 /* gfortran-specific declaration information, the _CONT versions denote | 926 /* gfortran-specific declaration information, the _CONT versions denote |
915 arrays with CONTIGUOUS attribute. */ | 927 arrays with CONTIGUOUS attribute. */ |
928 | |
929 #define GFC_DTYPE_ELEM_LEN 0 | |
930 #define GFC_DTYPE_VERSION 1 | |
931 #define GFC_DTYPE_RANK 2 | |
932 #define GFC_DTYPE_TYPE 3 | |
933 #define GFC_DTYPE_ATTRIBUTE 4 | |
916 | 934 |
917 enum gfc_array_kind | 935 enum gfc_array_kind |
918 { | 936 { |
919 GFC_ARRAY_UNKNOWN, | 937 GFC_ARRAY_UNKNOWN, |
920 GFC_ARRAY_ASSUMED_SHAPE, | 938 GFC_ARRAY_ASSUMED_SHAPE, |