Open64 (mfef90, whirl2f, and IR tools)  TAG: version-openad; SVN changeset: 916
p_globals.h
Go to the documentation of this file.
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/p_globals.h    5.3     07/19/99 12:03:43\n" */
00038 
00039 
00040 /******************************************************************************/
00041 /* DATA STRUCTURES DEPENDENT ON THE FOLLOWING ENUMERATION:                    */
00042 /*      stmt_in_blk                     DEFINED IN      p_driver.h            */
00043 /*      blk_err_msgs                    DEFINED IN      p_driver.h            */
00044 /*      blk_struct_str                  DEFINED IN      debug.h               */
00045 /*      blk_stk (entry size)            DEFINED IN      p_globals.h           */
00046 /*      end_blocks                      DEFINED IN      p_end.h               */
00047 /******************************************************************************/
00048 
00049 enum    blk_cntxt_values       {Unknown_Blk,
00050                                 Blockdata_Blk,
00051                                 Module_Blk,
00052                                 Program_Blk,
00053                                 Function_Blk,
00054                                 Subroutine_Blk,
00055                                 Internal_Blk,
00056                                 Module_Proc_Blk,
00057                                 Interface_Body_Blk,
00058                                 Do_Blk,
00059                                 Forall_Blk,
00060                                 If_Blk,
00061                                 If_Then_Blk,
00062                                 If_Else_If_Blk,
00063                                 If_Else_Blk,
00064                                 Select_Blk,
00065                                 Case_Blk,
00066                                 Where_Then_Blk,
00067                                 Where_Else_Blk,
00068                                 Where_Else_Mask_Blk,
00069                                 Parallel_Blk,
00070                                 Doall_Blk,
00071                                 Do_Parallel_Blk,
00072                                 Guard_Blk,
00073                                 Parallel_Case_Blk,
00074                                 Wait_Blk,
00075                                 SGI_Doacross_Blk,
00076                                 SGI_Psection_Blk,
00077                                 SGI_Section_Blk,
00078                                 SGI_Pdo_Blk,
00079                                 SGI_Parallel_Do_Blk,
00080                                 SGI_Parallel_Blk,
00081                                 SGI_Critical_Section_Blk,
00082                                 SGI_Single_Process_Blk,
00083                                 SGI_Region_Blk,
00084                                 Open_Mp_Parallel_Blk,
00085                                 Open_Mp_Do_Blk,
00086                                 Open_Mp_Parallel_Sections_Blk,
00087                                 Open_Mp_Sections_Blk,
00088                                 Open_Mp_Section_Blk,
00089                                 Open_Mp_Single_Blk,
00090                                 Open_Mp_Parallel_Do_Blk,
00091                                 Open_Mp_Master_Blk,
00092                                 Open_Mp_Critical_Blk,
00093                                 Open_Mp_Ordered_Blk,
00094                                 Open_Mp_Parallel_Workshare_Blk,
00095                                 Open_Mp_Workshare_Blk,
00096                                 Contains_Blk,
00097                                 Interface_Blk,
00098                                 Derived_Type_Blk };
00099 
00100 enum    do_loop_values          {Unknown_Loop,
00101                                  Iterative_Loop,
00102                                  While_Loop,
00103                                  Infinite_Loop };
00104 
00105 enum expr_values                {Expr_Unknown,
00106                                  Scalar_Int_Init_Expr,
00107                                  Scalar_Int_Expr,       /* specification-expr */
00108                                  Scalar_Init_Expr,
00109                                  Scalar_Expr
00110                                 };
00111                                 
00112 
00113 enum    directive_region_values {Parallel_Region,
00114                                  Doall_Region,
00115                                  Do_Parallel_Region,
00116                                  Guard_Region,
00117                                  Case_Region,
00118                                  Region_Region,
00119                                  Sgi_Parallel_Region,
00120                                  Doacross_Region,
00121                                  Parallel_Do_Region,
00122                                  Pdo_Region,
00123                                  Parallel_Section_Region,
00124                                  Critical_Section_Region,
00125                                  Single_Process_Region,
00126                                  Open_Mp_Parallel_Region,
00127                                  Open_Mp_Do_Region,
00128                                  Open_Mp_Parallel_Sections_Region,
00129                                  Open_Mp_Sections_Region,
00130                                  Open_Mp_Section_Region,
00131                                  Open_Mp_Single_Region,
00132                                  Open_Mp_Parallel_Do_Region,
00133                                  Open_Mp_Master_Region,
00134                                  Open_Mp_Critical_Region,
00135                                  Open_Mp_Ordered_Region,
00136                                  Open_Mp_Parallel_Workshare_Region,
00137                                  Open_Mp_Workshare_Region,
00138 
00139                                  /* eraxxon: OpenAD directive - no regions */
00140 
00141                                  Last_Region};
00142 
00143 
00144 
00145 /* ************************************************************************** */
00146 /*                                                                            */
00147 /*   The following enum definition is used to determine how to form the name  */
00148 /*   of an internal loop label (see parse_do_stmt and end_do_blk).            */
00149 /*                                                                            */
00150 /* ************************************************************************** */
00151 
00152 enum lbl_pos_values             { Top_Lbl, Cycle_Lbl, Exit_Lbl, Skip_Lbl };
00153 
00154 
00155 /* ************************************************************************** */
00156 /*                                                                            */
00157 /*   The following enum definition is used to determine the type of Forward   */
00158 /*   Reference entry to generate for a forward reference to a stmt label.     */
00159 /*                                                                            */
00160 /* ************************************************************************** */
00161 
00162 enum lbl_ref_values             {Illegal_Lbl_Ref_Value,
00163                                  Branch_Context,
00164                                  Format_Ref,
00165                                  Assign_Ref,
00166                                  Do_Ref};
00167 
00168 
00169 /* ************************************************************************** */
00170 /*                                                                            */
00171 /*   NOTE:  All Comma searches must be at the end of the list and come after  */
00172 /*          Find_Comma.                                                       */
00173 /*                                                                            */
00174 /* ************************************************************************** */
00175 
00176 enum search_values              {Find_None,
00177                                  Find_EOS,
00178                                  Find_Lparen,
00179                                  Find_Rparen,
00180                                  Find_Matching_Rparen,
00181                                  Find_Comma,
00182                                  Find_Comma_Slash,
00183                                  Find_Comma_Rparen,
00184                                  Find_Expr_End,
00185                                  Find_Ref_End
00186                                 };
00187 
00188 
00189 enum stmt_category_values       {Init_Stmt_Cat,
00190                                  Sub_Func_Stmt_Cat,
00191                                  Dir_Integer_Stmt_Cat,
00192                                  Use_Stmt_Cat,
00193                                  Implicit_None_Stmt_Cat,
00194                                  Implicit_Stmt_Cat,
00195                                  Declaration_Stmt_Cat,
00196                                  Executable_Stmt_Cat };
00197 
00198 typedef enum    blk_cntxt_values        blk_cntxt_type;
00199 typedef union   blk_stk_entry           blk_stk_type;
00200 typedef enum    do_loop_values          do_loop_type;
00201 typedef enum    expr_values             expr_type;
00202 typedef enum    lbl_pos_values          lbl_pos_type;
00203 typedef enum    lbl_ref_values          lbl_ref_type;
00204 typedef enum    search_values           search_type;
00205 typedef enum    stmt_category_values    stmt_category_type;
00206 
00207 
00208 /******************************************************************************/
00209 /*                                                                            */
00210 /*                        Block Stack Entry Definition                        */
00211 /*                                                                            */
00212 /*  If you change the definition of this entry, be sure to also update the    */
00213 /*  block stack entry size in sytb.m.                                         */
00214 /*                                                                            */
00215 /******************************************************************************/
00216 
00217 union   blk_stk_entry  {
00218                         struct {
00219                                 Uint                    def_line        : 24;
00220                                 Uint                    def_column      :  8;
00221                                 Uint                    name_idx        : 20;
00222                                 boolean                 parallel_region :  1;
00223                                 boolean                 blk_err         :  1;
00224                                 boolean                 no_exec         :  1;
00225                                 boolean                 fnd_default     :  1;
00226                                 blk_cntxt_type          blk_type        :  8;
00227 
00228                                 Uint                    first_sh_idx    : 24;
00229                                 Uint                    UNUSED2         :  8;
00230                                 Uint                    UNUSED3         :  8;
00231                                 Uint                    label_idx       : 24;
00232 
00233                                 opnd_type               multiuse_opnd       ;
00234 
00235                                 Uint                    top_lbl_idx     : 20;
00236                                 Uint                    loop_num        : 12;
00237                                 boolean                 has_cycle_stmt  :  1;
00238                                 boolean                 has_exit_stmt   :  1;
00239                                 boolean                 has_nested_loop :  1;
00240                                 boolean                 blkbl_nest_ok   :  1;
00241                                 do_loop_type            do_type         :  4;
00242                                 Uint                    skip_lbl_idx    : 24;
00243 
00244                                 Uint                    start_temp_idx  : 24;
00245                                 Uint                    UNUSED8         :  8;
00246                                 Uint                    UNUSED9         : 12;
00247                                 Uint                    inc_temp_idx    : 20;
00248 
00249                                 Uint                    induc_temp_idx  : 24;
00250                                 Uint                    UNUSED10        :  8;
00251                                 Uint                    UNUSED11        :  8;
00252                                 Uint                    tc_temp_idx     : 24;
00253 
00254                                 Uint                    blkbl_dir_sh_idx  : 24;
00255                                 Uint                    blkbl_num_lcvs    :  8;
00256                                 Uint                    intchg_num_lcvs   :  8;
00257                                 Uint                    intchg_dir_sh_idx : 24;
00258 
00259                                 Uint                    UNUSED12          : 24;
00260                                 Uint                    UNUSED13          :  8;
00261                                 Uint                    dir_nest_num_lcvs :  8;
00262                                 Uint                    dir_nest_ck_sh_idx: 24;
00263                                 } fld;
00264 
00265                         struct {
00266                                 Uint                   field32_1        : 32;
00267                                 Uint                   field32_2        : 32;
00268 
00269                                 Uint                   field32_3        : 32;
00270                                 Uint                   field32_4        : 32;
00271 
00272                                 Uint                   field32_5_1      : 16;
00273                                 Uint                   field32_5_2      : 16;
00274                                 Uint                   field32_6_1      : 16;
00275                                 Uint                   field32_6_2      : 16;
00276 
00277                                 Uint                   field32_7        : 32;
00278                                 Uint                   field32_8        : 32;
00279 
00280                                 Uint                   field32_9        : 32;
00281                                 Uint                   field32_10       : 32;
00282 
00283                                 Uint                   field32_11       : 32;
00284                                 Uint                   field32_12       : 32;
00285 
00286                                 Uint                   field32_13       : 32;
00287                                 Uint                   field32_14       : 32;
00288 
00289                                 Uint                   field32_15       : 32;
00290                                 Uint                   field32_16       : 32;
00291                                 } fld_long;
00292 
00293                         long    wd[NUM_BLK_STK_WDS];
00294                         };
00295 
00296 
00297 /******************************************************************************/
00298 
00299 /*****************************************\
00300 |* PARSER ACCESSIBLE FUNCTION PROTOTYPES *|
00301 \*****************************************/
00302 
00303 extern  int     blk_match_err(blk_cntxt_type, boolean, boolean);
00304 extern  void    build_fwd_ref_entry (int, lbl_ref_type);
00305 extern  char    ch_after_paren_grp (void);
00306 extern  void    check_for_vestigial_task_blks(void);
00307 extern  int     check_label_ref (void);
00308 extern  void    complete_intrinsic_definition(int);
00309 extern  void    determine_stmt_type (void);
00310 extern  boolean digit_is_format_label(void);
00311 extern  void    do_cmic_blk_checks(void);
00312 extern  void    end_critical_section_blk (boolean);
00313 extern  void    end_do_parallel_blk (boolean);
00314 extern  void    end_doacross_blk (boolean);
00315 extern  void    end_doall_blk (boolean);
00316 extern  void    end_guard_blk (boolean);
00317 extern  void    end_labeled_do (void);
00318 extern  void    end_open_mp_critical_blk (boolean);
00319 extern  void    end_open_mp_do_blk (boolean);
00320 extern  void    end_open_mp_master_blk (boolean);
00321 extern  void    end_open_mp_ordered_blk (boolean);
00322 extern  void    end_open_mp_parallel_blk (boolean);
00323 extern  void    end_open_mp_parallel_do_blk (boolean);
00324 extern  void    end_open_mp_parallel_sections_blk (boolean);
00325 extern  void    end_open_mp_parallel_workshare_blk (boolean);
00326 extern  void    end_open_mp_section_blk (boolean);
00327 extern  void    end_open_mp_sections_blk (boolean);
00328 extern  void    end_open_mp_single_blk (boolean);
00329 extern  void    end_open_mp_workshare_blk (boolean);
00330 extern  void    end_parallel_blk (boolean);
00331 extern  void    end_parallel_case_blk (boolean);
00332 extern  void    end_pdo_blk (boolean);
00333 extern  void    end_psection_blk (boolean);
00334 extern  void    end_region_blk (boolean);
00335 extern  void    end_SGI_parallel_blk (boolean);
00336 extern  void    end_single_process_blk (boolean);
00337 extern  void    end_wait_blk (boolean);
00338 
00339 # if defined(_EXPRESSION_EVAL)
00340 extern  void    expression_eval_end (void);
00341 # endif
00342 
00343 extern  void    flush_LA_to_EOS (void);
00344 extern  void    flush_LA_to_symbol (void);
00345 extern  void    format_line_n_col (int *, int *, int);
00346 extern  void    gen_attr_and_IR_for_lbl (boolean);
00347 extern  int     gen_loop_lbl_name (int, lbl_pos_type);
00348 extern  void    implicit_use_semantics(void);
00349 extern  boolean iss_blk_stk_err(void);
00350 extern  boolean is_implied_do (void);
00351 extern  boolean is_substring_ref (void);
00352 extern  void    label_ref_semantics (int, lbl_ref_type, int, int, int);
00353 extern  boolean matched_specific_token (token_values_type, token_class_type);
00354 extern  boolean matched_token_class (token_class_type);
00355 extern  boolean merge_access (int, int, int, access_type);
00356 extern  boolean merge_allocatable (boolean, int, int, int);
00357 extern  boolean merge_automatic (boolean, int, int, int);
00358 extern  boolean merge_co_array (boolean, int, int, int, int);
00359 extern  boolean merge_data (boolean, int, int, int);
00360 extern  boolean merge_dimension (int, int, int, int);
00361 extern  boolean merge_external (boolean, int, int, int);
00362 extern  boolean merge_intent (boolean, int, int, int);
00363 extern  boolean merge_intrinsic (boolean, int, int, int);
00364 extern  boolean merge_optional (boolean, int, int, int);
00365 extern  boolean merge_pointer (boolean, int, int, int);
00366 extern  boolean merge_save (boolean, int, int, int);
00367 extern  boolean merge_target (boolean, int, int, int);
00368 extern  boolean merge_volatile (boolean, int, int, int);
00369 extern  int     move_blk_to_end(int);
00370 extern  boolean next_arg_is_kwd_equal (void);
00371 extern  boolean next_id_is_imp_control (void);
00372 extern  boolean next_tok_is_paren_slash (void);
00373 extern  int     ntr_io_string_constant(void);
00374 extern  boolean parse_err_flush (search_type, char *);
00375 extern  boolean parse_io_list (opnd_type *);
00376 extern  boolean parse_operand (opnd_type *);
00377 extern  boolean pop_and_err_blk_stk (int, boolean);
00378 extern  void    prev_char_line_and_col (int *, int *);
00379 extern  int     put_char_const_in_tbl (char, int *);
00380 extern  int     put_format_in_tbl (void);
00381 extern  boolean remove_do_parallel_blk(boolean, char *, int, int);
00382 extern  boolean remove_pdo_blk(boolean, char *, int, int);
00383 extern  void    resolve_fwd_lbl_refs (void);
00384 extern  int     start_new_prog_unit (pgm_unit_type, blk_cntxt_type, 
00385                                      boolean, boolean, int *);
00386 extern  void    set_format_start_idx (int);
00387 extern  boolean stmt_has_double_colon (void);
00388 extern  boolean stmt_is_DATA_stmt (void);
00389 extern  boolean stmt_is_DO_stmt (void);
00390 extern  boolean stmt_is_save_stmt(int, int);
00391 
00392 /*********************\
00393 |* statement parsers *|
00394 \*********************/
00395 
00396 extern  void parse_allocatable_stmt (void);
00397 extern  void parse_allocate_stmt (void);
00398 extern  void parse_access_stmt (void);
00399 extern  void parse_assign_stmt (void);
00400 extern  void parse_assignment_stmt (void);
00401 extern  void parse_automatic_stmt (void);
00402 extern  void parse_bad_stmt(void);
00403 extern  void parse_backspace_stmt (void);
00404 extern  void parse_block_stmt (void);
00405 extern  void parse_buffer_stmt (void);
00406 extern  void parse_call_stmt (void);
00407 extern  void parse_case_stmt (void);
00408 extern  void parse_close_stmt (void);
00409 extern  void parse_common_stmt (void);
00410 extern  void parse_contains_stmt (void);
00411 extern  void parse_continue_stmt (void);
00412 extern  void parse_cycle_stmt (void);
00413 extern  void parse_data_stmt (void);
00414 extern  void parse_deallocate_stmt (void);
00415 extern  void parse_decode_stmt (void);
00416 extern  void parse_dimension_stmt (void);
00417 extern  void parse_directive_stmt (void);
00418 extern  void parse_do_stmt (void);
00419 extern  void parse_elemental_stmt (void);
00420 extern  void parse_else_stmt (void);
00421 extern  void parse_encode_stmt (void);
00422 extern  void parse_end_stmt (void);
00423 extern  void parse_endfile_stmt (void);
00424 extern  void parse_entry_stmt (void);
00425 extern  void parse_equivalence_stmt (void);
00426 extern  void parse_exit_stmt (void);
00427 extern  void parse_external_stmt (void);
00428 extern  void parse_forall (void);
00429 extern  void parse_format_stmt (void);
00430 extern  void parse_function_stmt (void);
00431 extern  void parse_goto_stmt (void);
00432 extern  void parse_if_stmt (void);
00433 extern  void parse_implicit_stmt (void);
00434 extern  void parse_inquire_stmt (void);
00435 extern  void parse_intent_stmt (void);
00436 extern  void parse_interface_stmt (void);
00437 extern  void parse_intrinsic_stmt (void);
00438 extern  void parse_module_stmt (void);
00439 extern  void parse_namelist_stmt (void);
00440 extern  void parse_nullify_stmt (void);
00441 extern  void parse_open_stmt (void);
00442 extern  void parse_optional_stmt (void);
00443 extern  void parse_parameter_stmt (void);
00444 extern  void parse_pointer_stmt (void);
00445 extern  void parse_print_stmt (void);
00446 extern  void parse_program_stmt (void);
00447 extern  void parse_pure_stmt (void);
00448 extern  void parse_read_stmt (void);
00449 extern  void parse_recursive_stmt (void);
00450 extern  void parse_return_stmt (void);
00451 extern  void parse_rewind_stmt (void);
00452 extern  void parse_save_stmt (void);
00453 extern  void parse_select_stmt (void);
00454 extern  void parse_sequence_stmt (void);
00455 extern  void parse_stmt_func_stmt (int, int);
00456 extern  void parse_stop_pause_stmt (void);
00457 extern  void parse_subroutine_stmt (void);
00458 extern  void parse_target_stmt (void);
00459 extern  void parse_task_common_stmt (void);
00460 extern  void parse_type_dcl_stmt (void);
00461 extern  void parse_use_stmt (void);
00462 extern  void parse_volatile_stmt (void);
00463 extern  void parse_where_stmt (void);
00464 extern  void parse_write_stmt (void);
00465 
00466 
00467 /*************************\
00468 |* statement sub-parsers *|
00469 \*************************/
00470 
00471 extern  int             generic_spec_semantics (void);
00472 extern  boolean         paren_grp_is_cplx_const(void);
00473 extern  boolean         parse_actual_arg_spec (opnd_type *, boolean, int);
00474 extern  int             parse_array_spec (int);
00475 extern  int             parse_pe_array_spec (int);
00476 extern  boolean         parse_deref (opnd_type *, int);
00477 extern  boolean         parse_expr (opnd_type *);
00478 extern  boolean         parse_generic_spec (void);
00479 extern  boolean         parse_imp_do (opnd_type *);
00480 extern  intent_type     parse_intent_spec (void);
00481 extern  void            parse_length_selector (int, boolean, boolean);
00482 extern  boolean         parse_type_spec (boolean);
00483 extern  void            parse_typed_function_stmt (void);
00484 
00485 /*******************************\
00486 |* globally accessible objects *|
00487 \*******************************/
00488 
00489 extern  blk_stk_type            *blk_stk;               /* defed in p_driver.h*/
00490 extern  int                      blk_stk_idx;           /* defed in p_driver.h*/
00491 extern  int                      blk_stk_inc;           /* defed in p_driver.h*/
00492 extern  int                      blk_stk_init_size;     /* defed in p_driver.h*/
00493 extern  int                      blk_stk_limit;         /* defed in p_driver.h*/
00494 extern  int                      blk_stk_num_wds;       /* defed in p_driver.h*/
00495 extern  int                      blk_stk_size;          /* defed in p_driver.h*/
00496 extern  int                      blk_stk_largest_idx;   /* defed in p_driver.h*/
00497 
00498 extern  int                      cif_end_unit_column;   /* defed in fecif.h   */
00499 extern  int                      cif_end_unit_line;     /* defed in fecif.h   */
00500 extern  boolean                  clearing_blk_stk;      /* defed in main.h    */
00501 extern  boolean                  colon_recovery;        /* defed in p_driver.h*/
00502 extern  stmt_category_type       curr_stmt_category;    /* defed in p_driver.h*/
00503 
00504 extern  boolean                  EOPU_encountered;
00505 
00506 extern  boolean                  label_ok;              /* defed in p_driver.h*/
00507 extern  token_type               label_token;           /* defed in p_driver.h*/
00508 
00509 extern  token_type               main_token;            /* defed in p_driver.h*/
00510 
00511 extern  intent_type              new_intent;            /* defed in p_driver.h*/
00512 
00513 extern  char                    *obj_str[];             /* defed in p_driver.h*/
00514 extern  int                      stmt_construct_idx;    /* defed in p_driver.h*/
00515 extern  int                      stmt_line_idx;         /* defed in src_input.*/
00516 extern  long long                stmt_in_blk[];         /* defed in p_driver.h*/
00517 extern  stmt_category_type       stmt_top_cat[];        /* defed in p_driver.h*/
00518 extern  type_tbl_type            type_init_tbl[];       /* defed in main.h    */
00519 
00520 extern  void                     (*stmt_parsers[])();   /* defed in p_driver.h*/
00521 
00522 extern  int                      if_stmt_lbl_idx;       /* defed in           */
00523                                                         /*   p_ctl_flow.h     */
00524 
00525 extern  long    directive_state;
00526 
00527 /******************************************************************************\
00528 |*                                                                            *|
00529 |*     typedefs used by src_input.c and cond_comp.c                           *|
00530 |*                                                                            *|
00531 \******************************************************************************/
00532 
00533 enum    line_type_values       {Comment_Line,
00534                                 Include_Line,
00535                                 Cond_Comp_Line,
00536                                 Dir_Line,
00537                                 Dir_Continuation_Line,
00538                                 Regular_Line,
00539                                 Continuation_Line,
00540                                 Pound_Include_Enter_Line,
00541                                 Pound_Include_Exit_Line,
00542                                 Pound_Src_Line,
00543                                 EOF_Line };
00544 
00545 typedef enum                    line_type_values        line_type;
00546 
00547 struct  cc_stmt_buf_line_entry  {long           line;
00548                                  long           start_idx;
00549                                 };
00550 
00551 typedef struct cc_stmt_buf_line_entry   cc_stmt_buf_line_type;
00552 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines