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,