LCOV - code coverage report
Current view: top level - /mnt/build/buildbot/bld/build-lcov/gcc/m2/gm2-compiler-boot - M2Reserved.c (source / functions) Coverage Total Hit
Test: gcc.info Lines: 97.5 % 201 196
Test Date: 2026-03-28 14:25:54 Functions: 66.7 % 6 4
Legend: Lines:     hit not hit

            Line data    Source code
       1              : /* do not edit automatically generated by mc from M2Reserved.  */
       2              : /* M2Reserved.mod determines is a token is a reserved word.
       3              : 
       4              : Copyright (C) 2001-2026 Free Software Foundation, Inc.
       5              : Contributed by Gaius Mulley <gaius.mulley@southwales.ac.uk>.
       6              : 
       7              : This file is part of GNU Modula-2.
       8              : 
       9              : GNU Modula-2 is free software; you can redistribute it and/or modify
      10              : it under the terms of the GNU General Public License as published by
      11              : the Free Software Foundation; either version 3, or (at your option)
      12              : any later version.
      13              : 
      14              : GNU Modula-2 is distributed in the hope that it will be useful, but
      15              : WITHOUT ANY WARRANTY; without even the implied warranty of
      16              : MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
      17              : General Public License for more details.
      18              : 
      19              : You should have received a copy of the GNU General Public License
      20              : along with GNU Modula-2; see the file COPYING3.  If not see
      21              : <http://www.gnu.org/licenses/>.  */
      22              : 
      23              : #include "config.h"
      24              : #include "system.h"
      25              : #include <stdbool.h>
      26              : #   if !defined (PROC_D)
      27              : #      define PROC_D
      28              :        typedef void (*PROC_t) (void);
      29              :        typedef struct { PROC_t proc; } PROC;
      30              : #   endif
      31              : 
      32              : #   if !defined (TRUE)
      33              : #      define TRUE (1==1)
      34              : #   endif
      35              : 
      36              : #   if !defined (FALSE)
      37              : #      define FALSE (1==0)
      38              : #   endif
      39              : 
      40              : #define _M2Reserved_C
      41              : 
      42              : #include "GM2Reserved.h"
      43              : #   include "GSymbolKey.h"
      44              : #   include "GNameKey.h"
      45              : #   include "GASCII.h"
      46              : 
      47              : #   define eof (char) 032
      48              : static SymbolKey_SymbolTree NameTotok;
      49              : static SymbolKey_SymbolTree tokToName;
      50              : 
      51              : /*
      52              :    IsReserved - returns TRUE if the symbol, Name, is a reserved word.
      53              :                 If TRUE it also sets tok to the appropriate enumerated
      54              :                 value. It will set tok to eoftok if appropriate.
      55              : */
      56              : 
      57              : extern "C" bool M2Reserved_IsReserved (NameKey_Name n, M2Reserved_toktype *tok);
      58              : 
      59              : /*
      60              :    tokToTok - returns a Tok given the enumerated variable, t.
      61              : */
      62              : 
      63              : extern "C" NameKey_Name M2Reserved_tokToTok (M2Reserved_toktype t);
      64              : 
      65              : /*
      66              :    AddKeyword - adds the Name and enumerated value of a keyword
      67              :                 into the binary tree.
      68              : */
      69              : 
      70              : static void AddKeyword (NameKey_Name n, M2Reserved_toktype tok);
      71              : 
      72              : /*
      73              :    AddKeyword - adds the Name and enumerated value of a keyword
      74              :                 into the binary tree.
      75              : */
      76              : 
      77              : static void Init (void);
      78              : 
      79              : 
      80              : /*
      81              :    AddKeyword - adds the Name and enumerated value of a keyword
      82              :                 into the binary tree.
      83              : */
      84              : 
      85      1447040 : static void AddKeyword (NameKey_Name n, M2Reserved_toktype tok)
      86              : {
      87      1447040 :   SymbolKey_PutSymKey (NameTotok, n, static_cast<unsigned int> (tok));
      88      1447040 :   SymbolKey_PutSymKey (tokToName, (NameKey_Name) (tok), n);
      89      1447040 : }
      90              : 
      91              : 
      92              : /*
      93              :    AddKeyword - adds the Name and enumerated value of a keyword
      94              :                 into the binary tree.
      95              : */
      96              : 
      97        17024 : static void Init (void)
      98              : {
      99        17024 :   typedef struct Init__T1_a Init__T1;
     100              : 
     101        17024 :   struct Init__T1_a { char array[1+1]; };
     102        17024 :   Init__T1 a;
     103              : 
     104        17024 :   SymbolKey_InitTree (&NameTotok);
     105        17024 :   SymbolKey_InitTree (&tokToName);
     106        17024 :   M2Reserved_NulTok = NameKey_NulName;
     107        17024 :   M2Reserved_PlusTok = NameKey_MakeKey ((const char *) "+", 1);
     108        17024 :   AddKeyword (M2Reserved_PlusTok, M2Reserved_plustok);
     109        17024 :   M2Reserved_MinusTok = NameKey_MakeKey ((const char *) "-", 1);
     110        17024 :   AddKeyword (M2Reserved_MinusTok, M2Reserved_minustok);
     111        17024 :   M2Reserved_TimesTok = NameKey_MakeKey ((const char *) "*", 1);
     112        17024 :   AddKeyword (M2Reserved_TimesTok, M2Reserved_timestok);
     113        17024 :   M2Reserved_DivideTok = NameKey_MakeKey ((const char *) "/", 1);
     114        17024 :   AddKeyword (M2Reserved_DivideTok, M2Reserved_dividetok);
     115        17024 :   M2Reserved_BecomesTok = NameKey_MakeKey ((const char *) ":=", 2);
     116        17024 :   AddKeyword (M2Reserved_BecomesTok, M2Reserved_becomestok);
     117        17024 :   M2Reserved_AmbersandTok = NameKey_MakeKey ((const char *) "&", 1);
     118        17024 :   AddKeyword (M2Reserved_AmbersandTok, M2Reserved_ambersandtok);
     119        17024 :   M2Reserved_PeriodTok = NameKey_MakeKey ((const char *) ".", 1);
     120        17024 :   AddKeyword (M2Reserved_PeriodTok, M2Reserved_periodtok);
     121        17024 :   M2Reserved_CommaTok = NameKey_MakeKey ((const char *) ",", 1);
     122        17024 :   AddKeyword (M2Reserved_CommaTok, M2Reserved_commatok);
     123        17024 :   M2Reserved_SemiColonTok = NameKey_MakeKey ((const char *) ";", 1);
     124        17024 :   AddKeyword (M2Reserved_SemiColonTok, M2Reserved_semicolontok);
     125        17024 :   M2Reserved_LParaTok = NameKey_MakeKey ((const char *) "(", 1);
     126        17024 :   AddKeyword (M2Reserved_LParaTok, M2Reserved_lparatok);
     127        17024 :   M2Reserved_LSBraTok = NameKey_MakeKey ((const char *) "[", 1);
     128        17024 :   AddKeyword (M2Reserved_LSBraTok, M2Reserved_lsbratok);
     129        17024 :   M2Reserved_LCBraTok = NameKey_MakeKey ((const char *) "{", 1);
     130        17024 :   AddKeyword (M2Reserved_LCBraTok, M2Reserved_lcbratok);
     131        17024 :   M2Reserved_UpArrowTok = NameKey_MakeKey ((const char *) "^", 1);
     132        17024 :   AddKeyword (M2Reserved_UpArrowTok, M2Reserved_uparrowtok);
     133        17024 :   M2Reserved_SingleQuoteTok = NameKey_MakeKey ((const char *) "'", 1);
     134        17024 :   AddKeyword (M2Reserved_SingleQuoteTok, M2Reserved_singlequotetok);
     135        17024 :   M2Reserved_EqualTok = NameKey_MakeKey ((const char *) "=", 1);
     136        17024 :   AddKeyword (M2Reserved_EqualTok, M2Reserved_equaltok);
     137        17024 :   M2Reserved_HashTok = NameKey_MakeKey ((const char *) "#", 1);
     138        17024 :   AddKeyword (M2Reserved_HashTok, M2Reserved_hashtok);
     139        17024 :   M2Reserved_LessTok = NameKey_MakeKey ((const char *) "<", 1);
     140        17024 :   AddKeyword (M2Reserved_LessTok, M2Reserved_lesstok);
     141        17024 :   M2Reserved_GreaterTok = NameKey_MakeKey ((const char *) ">", 1);
     142        17024 :   AddKeyword (M2Reserved_GreaterTok, M2Reserved_greatertok);
     143        17024 :   M2Reserved_LessGreaterTok = NameKey_MakeKey ((const char *) "<>", 2);
     144        17024 :   AddKeyword (M2Reserved_LessGreaterTok, M2Reserved_lessgreatertok);
     145        17024 :   M2Reserved_LessEqualTok = NameKey_MakeKey ((const char *) "<=", 2);
     146        17024 :   AddKeyword (M2Reserved_LessEqualTok, M2Reserved_lessequaltok);
     147        17024 :   M2Reserved_GreaterEqualTok = NameKey_MakeKey ((const char *) ">=", 2);
     148        17024 :   AddKeyword (M2Reserved_GreaterEqualTok, M2Reserved_greaterequaltok);
     149        17024 :   M2Reserved_LDirectiveTok = NameKey_MakeKey ((const char *) "<*", 2);
     150        17024 :   AddKeyword (M2Reserved_LDirectiveTok, M2Reserved_ldirectivetok);
     151        17024 :   M2Reserved_RDirectiveTok = NameKey_MakeKey ((const char *) "*>", 2);
     152        17024 :   AddKeyword (M2Reserved_RDirectiveTok, M2Reserved_rdirectivetok);
     153        17024 :   M2Reserved_PeriodPeriodTok = NameKey_MakeKey ((const char *) "..", 2);
     154        17024 :   AddKeyword (M2Reserved_PeriodPeriodTok, M2Reserved_periodperiodtok);
     155        17024 :   M2Reserved_ColonTok = NameKey_MakeKey ((const char *) ":", 1);
     156        17024 :   AddKeyword (M2Reserved_ColonTok, M2Reserved_colontok);
     157        17024 :   M2Reserved_RParaTok = NameKey_MakeKey ((const char *) ")", 1);
     158        17024 :   AddKeyword (M2Reserved_RParaTok, M2Reserved_rparatok);
     159        17024 :   M2Reserved_RSBraTok = NameKey_MakeKey ((const char *) "]", 1);
     160        17024 :   AddKeyword (M2Reserved_RSBraTok, M2Reserved_rsbratok);
     161        17024 :   M2Reserved_RCBraTok = NameKey_MakeKey ((const char *) "}", 1);
     162        17024 :   AddKeyword (M2Reserved_RCBraTok, M2Reserved_rcbratok);
     163        17024 :   M2Reserved_BarTok = NameKey_MakeKey ((const char *) "|", 1);
     164        17024 :   AddKeyword (M2Reserved_BarTok, M2Reserved_bartok);
     165        17024 :   M2Reserved_DoubleQuotesTok = NameKey_MakeKey ((const char *) "\"", 1);
     166        17024 :   AddKeyword (M2Reserved_DoubleQuotesTok, M2Reserved_doublequotestok);
     167        17024 :   M2Reserved_AndTok = NameKey_MakeKey ((const char *) "AND", 3);
     168        17024 :   AddKeyword (M2Reserved_AndTok, M2Reserved_andtok);
     169        17024 :   M2Reserved_ArrayTok = NameKey_MakeKey ((const char *) "ARRAY", 5);
     170        17024 :   AddKeyword (M2Reserved_ArrayTok, M2Reserved_arraytok);
     171        17024 :   M2Reserved_BeginTok = NameKey_MakeKey ((const char *) "BEGIN", 5);
     172        17024 :   AddKeyword (M2Reserved_BeginTok, M2Reserved_begintok);
     173        17024 :   M2Reserved_ByTok = NameKey_MakeKey ((const char *) "BY", 2);
     174        17024 :   AddKeyword (M2Reserved_ByTok, M2Reserved_bytok);
     175        17024 :   M2Reserved_CaseTok = NameKey_MakeKey ((const char *) "CASE", 4);
     176        17024 :   AddKeyword (M2Reserved_CaseTok, M2Reserved_casetok);
     177        17024 :   M2Reserved_ConstTok = NameKey_MakeKey ((const char *) "CONST", 5);
     178        17024 :   AddKeyword (M2Reserved_ConstTok, M2Reserved_consttok);
     179        17024 :   M2Reserved_DefinitionTok = NameKey_MakeKey ((const char *) "DEFINITION", 10);
     180        17024 :   AddKeyword (M2Reserved_DefinitionTok, M2Reserved_definitiontok);
     181        17024 :   M2Reserved_DivTok = NameKey_MakeKey ((const char *) "DIV", 3);
     182        17024 :   AddKeyword (M2Reserved_DivTok, M2Reserved_divtok);
     183        17024 :   M2Reserved_DoTok = NameKey_MakeKey ((const char *) "DO", 2);
     184        17024 :   AddKeyword (M2Reserved_DoTok, M2Reserved_dotok);
     185        17024 :   M2Reserved_ElseTok = NameKey_MakeKey ((const char *) "ELSE", 4);
     186        17024 :   AddKeyword (M2Reserved_ElseTok, M2Reserved_elsetok);
     187        17024 :   M2Reserved_ElsifTok = NameKey_MakeKey ((const char *) "ELSIF", 5);
     188        17024 :   AddKeyword (M2Reserved_ElsifTok, M2Reserved_elsiftok);
     189        17024 :   M2Reserved_EndTok = NameKey_MakeKey ((const char *) "END", 3);
     190        17024 :   AddKeyword (M2Reserved_EndTok, M2Reserved_endtok);
     191        17024 :   M2Reserved_ExitTok = NameKey_MakeKey ((const char *) "EXIT", 4);
     192        17024 :   AddKeyword (M2Reserved_ExitTok, M2Reserved_exittok);
     193        17024 :   M2Reserved_ExceptTok = NameKey_MakeKey ((const char *) "EXCEPT", 6);
     194        17024 :   AddKeyword (M2Reserved_ExceptTok, M2Reserved_excepttok);
     195        17024 :   M2Reserved_ExportTok = NameKey_MakeKey ((const char *) "EXPORT", 6);
     196        17024 :   AddKeyword (M2Reserved_ExportTok, M2Reserved_exporttok);
     197        17024 :   M2Reserved_FinallyTok = NameKey_MakeKey ((const char *) "FINALLY", 7);
     198        17024 :   AddKeyword (M2Reserved_FinallyTok, M2Reserved_finallytok);
     199        17024 :   M2Reserved_ForTok = NameKey_MakeKey ((const char *) "FOR", 3);
     200        17024 :   AddKeyword (M2Reserved_ForTok, M2Reserved_fortok);
     201        17024 :   M2Reserved_ForwardTok = NameKey_MakeKey ((const char *) "FORWARD", 7);
     202        17024 :   AddKeyword (M2Reserved_ForwardTok, M2Reserved_forwardtok);
     203        17024 :   M2Reserved_FromTok = NameKey_MakeKey ((const char *) "FROM", 4);
     204        17024 :   AddKeyword (M2Reserved_FromTok, M2Reserved_fromtok);
     205        17024 :   M2Reserved_IfTok = NameKey_MakeKey ((const char *) "IF", 2);
     206        17024 :   AddKeyword (M2Reserved_IfTok, M2Reserved_iftok);
     207        17024 :   M2Reserved_ImplementationTok = NameKey_MakeKey ((const char *) "IMPLEMENTATION", 14);
     208        17024 :   AddKeyword (M2Reserved_ImplementationTok, M2Reserved_implementationtok);
     209        17024 :   M2Reserved_ImportTok = NameKey_MakeKey ((const char *) "IMPORT", 6);
     210        17024 :   AddKeyword (M2Reserved_ImportTok, M2Reserved_importtok);
     211        17024 :   M2Reserved_InTok = NameKey_MakeKey ((const char *) "IN", 2);
     212        17024 :   AddKeyword (M2Reserved_InTok, M2Reserved_intok);
     213        17024 :   M2Reserved_LoopTok = NameKey_MakeKey ((const char *) "LOOP", 4);
     214        17024 :   AddKeyword (M2Reserved_LoopTok, M2Reserved_looptok);
     215        17024 :   M2Reserved_ModTok = NameKey_MakeKey ((const char *) "MOD", 3);
     216        17024 :   AddKeyword (M2Reserved_ModTok, M2Reserved_modtok);
     217        17024 :   M2Reserved_ModuleTok = NameKey_MakeKey ((const char *) "MODULE", 6);
     218        17024 :   AddKeyword (M2Reserved_ModuleTok, M2Reserved_moduletok);
     219        17024 :   M2Reserved_NotTok = NameKey_MakeKey ((const char *) "NOT", 3);
     220        17024 :   AddKeyword (M2Reserved_NotTok, M2Reserved_nottok);
     221        17024 :   M2Reserved_OfTok = NameKey_MakeKey ((const char *) "OF", 2);
     222        17024 :   AddKeyword (M2Reserved_OfTok, M2Reserved_oftok);
     223        17024 :   M2Reserved_OrTok = NameKey_MakeKey ((const char *) "OR", 2);
     224        17024 :   AddKeyword (M2Reserved_OrTok, M2Reserved_ortok);
     225              :   /* 
     226              :    PackedTok := MakeKey('PACKED') ;
     227              :    AddKeyword(PackedTok, packedtok) ;
     228              :   */
     229        17024 :   M2Reserved_PackedSetTok = NameKey_MakeKey ((const char *) "PACKEDSET", 9);
     230        17024 :   AddKeyword (M2Reserved_PackedSetTok, M2Reserved_packedsettok);
     231        17024 :   M2Reserved_PointerTok = NameKey_MakeKey ((const char *) "POINTER", 7);
     232        17024 :   AddKeyword (M2Reserved_PointerTok, M2Reserved_pointertok);
     233        17024 :   M2Reserved_ProcedureTok = NameKey_MakeKey ((const char *) "PROCEDURE", 9);
     234        17024 :   AddKeyword (M2Reserved_ProcedureTok, M2Reserved_proceduretok);
     235        17024 :   M2Reserved_QualifiedTok = NameKey_MakeKey ((const char *) "QUALIFIED", 9);
     236        17024 :   AddKeyword (M2Reserved_QualifiedTok, M2Reserved_qualifiedtok);
     237        17024 :   M2Reserved_UnQualifiedTok = NameKey_MakeKey ((const char *) "UNQUALIFIED", 11);
     238        17024 :   AddKeyword (M2Reserved_UnQualifiedTok, M2Reserved_unqualifiedtok);
     239        17024 :   M2Reserved_RecordTok = NameKey_MakeKey ((const char *) "RECORD", 6);
     240        17024 :   AddKeyword (M2Reserved_RecordTok, M2Reserved_recordtok);
     241        17024 :   M2Reserved_RemTok = NameKey_MakeKey ((const char *) "REM", 3);
     242        17024 :   AddKeyword (M2Reserved_RemTok, M2Reserved_remtok);
     243        17024 :   M2Reserved_RepeatTok = NameKey_MakeKey ((const char *) "REPEAT", 6);
     244        17024 :   AddKeyword (M2Reserved_RepeatTok, M2Reserved_repeattok);
     245        17024 :   M2Reserved_RetryTok = NameKey_MakeKey ((const char *) "RETRY", 5);
     246        17024 :   AddKeyword (M2Reserved_RetryTok, M2Reserved_retrytok);
     247        17024 :   M2Reserved_ReturnTok = NameKey_MakeKey ((const char *) "RETURN", 6);
     248        17024 :   AddKeyword (M2Reserved_ReturnTok, M2Reserved_returntok);
     249        17024 :   M2Reserved_SetTok = NameKey_MakeKey ((const char *) "SET", 3);
     250        17024 :   AddKeyword (M2Reserved_SetTok, M2Reserved_settok);
     251        17024 :   M2Reserved_ThenTok = NameKey_MakeKey ((const char *) "THEN", 4);
     252        17024 :   AddKeyword (M2Reserved_ThenTok, M2Reserved_thentok);
     253        17024 :   M2Reserved_ToTok = NameKey_MakeKey ((const char *) "TO", 2);
     254        17024 :   AddKeyword (M2Reserved_ToTok, M2Reserved_totok);
     255        17024 :   M2Reserved_TypeTok = NameKey_MakeKey ((const char *) "TYPE", 4);
     256        17024 :   AddKeyword (M2Reserved_TypeTok, M2Reserved_typetok);
     257        17024 :   M2Reserved_UntilTok = NameKey_MakeKey ((const char *) "UNTIL", 5);
     258        17024 :   AddKeyword (M2Reserved_UntilTok, M2Reserved_untiltok);
     259        17024 :   M2Reserved_VarTok = NameKey_MakeKey ((const char *) "VAR", 3);
     260        17024 :   AddKeyword (M2Reserved_VarTok, M2Reserved_vartok);
     261        17024 :   M2Reserved_WhileTok = NameKey_MakeKey ((const char *) "WHILE", 5);
     262        17024 :   AddKeyword (M2Reserved_WhileTok, M2Reserved_whiletok);
     263        17024 :   M2Reserved_WithTok = NameKey_MakeKey ((const char *) "WITH", 4);
     264        17024 :   AddKeyword (M2Reserved_WithTok, M2Reserved_withtok);
     265        17024 :   M2Reserved_AsmTok = NameKey_MakeKey ((const char *) "ASM", 3);
     266        17024 :   AddKeyword (M2Reserved_AsmTok, M2Reserved_asmtok);
     267        17024 :   M2Reserved_VolatileTok = NameKey_MakeKey ((const char *) "VOLATILE", 8);
     268        17024 :   AddKeyword (M2Reserved_VolatileTok, M2Reserved_volatiletok);
     269        17024 :   M2Reserved_DateTok = NameKey_MakeKey ((const char *) "__DATE__", 8);  /* C compatible preprocessor primatives  */
     270        17024 :   AddKeyword (M2Reserved_DateTok, M2Reserved_datetok);  /* C compatible preprocessor primatives  */
     271        17024 :   M2Reserved_LineTok = NameKey_MakeKey ((const char *) "__LINE__", 8);
     272        17024 :   AddKeyword (M2Reserved_LineTok, M2Reserved_linetok);
     273        17024 :   M2Reserved_FileTok = NameKey_MakeKey ((const char *) "__FILE__", 8);
     274        17024 :   AddKeyword (M2Reserved_FileTok, M2Reserved_filetok);
     275        17024 :   M2Reserved_AttributeTok = NameKey_MakeKey ((const char *) "__ATTRIBUTE__", 13);  /* GCC extension incorporated into gm2  */
     276        17024 :   AddKeyword (M2Reserved_AttributeTok, M2Reserved_attributetok);  /* GCC extension incorporated into gm2  */
     277        17024 :   M2Reserved_BuiltinTok = NameKey_MakeKey ((const char *) "__BUILTIN__", 11);  /* GCC extension incorporated into gm2  */
     278        17024 :   AddKeyword (M2Reserved_BuiltinTok, M2Reserved_builtintok);  /* GCC extension incorporated into gm2  */
     279        17024 :   M2Reserved_InlineTok = NameKey_MakeKey ((const char *) "__INLINE__", 10);  /* GCC extension incorporated into gm2  */
     280        17024 :   AddKeyword (M2Reserved_InlineTok, M2Reserved_inlinetok);  /* GCC extension incorporated into gm2  */
     281        17024 :   a.array[0] = eof;
     282        17024 :   a.array[1] = ASCII_nul;
     283        17024 :   M2Reserved_EofTok = NameKey_MakeKey ((const char *) &a.array[0], 1);  /* Not a reserved token  */
     284        17024 : }
     285              : 
     286              : 
     287              : /*
     288              :    IsReserved - returns TRUE if the symbol, Name, is a reserved word.
     289              :                 If TRUE it also sets tok to the appropriate enumerated
     290              :                 value. It will set tok to eoftok if appropriate.
     291              : */
     292              : 
     293        29745 : extern "C" bool M2Reserved_IsReserved (NameKey_Name n, M2Reserved_toktype *tok)
     294              : {
     295        29745 :   unsigned int t;
     296              : 
     297        29745 :   t = static_cast<unsigned int> (SymbolKey_GetSymKey (NameTotok, n));
     298        29745 :   if (t == 0)
     299              :     {
     300              :       /* eoftok is not a reserved word  */
     301        29744 :       if (n == M2Reserved_EofTok)
     302              :         {
     303            0 :           (*tok) = M2Reserved_eoftok;
     304              :         }
     305        29744 :       return false;
     306              :     }
     307              :   else
     308              :     {
     309            1 :       (*tok) = (M2Reserved_toktype) (t);
     310            1 :       return true;
     311              :     }
     312              :   /* static analysis guarentees a RETURN statement will be used before here.  */
     313              :   __builtin_unreachable ();
     314              : }
     315              : 
     316              : 
     317              : /*
     318              :    tokToTok - returns a Tok given the enumerated variable, t.
     319              : */
     320              : 
     321            0 : extern "C" NameKey_Name M2Reserved_tokToTok (M2Reserved_toktype t)
     322              : {
     323            0 :   return static_cast<NameKey_Name> (SymbolKey_GetSymKey (tokToName, (NameKey_Name) (t)));
     324              :   /* static analysis guarentees a RETURN statement will be used before here.  */
     325              :   __builtin_unreachable ();
     326              : }
     327              : 
     328        17024 : extern "C" void _M2_M2Reserved_init (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[])
     329              : {
     330        17024 :   Init ();
     331        17024 : }
     332              : 
     333            0 : extern "C" void _M2_M2Reserved_fini (__attribute__((unused)) int argc, __attribute__((unused)) char *argv[], __attribute__((unused)) char *envp[])
     334              : {
     335            0 : }
        

Generated by: LCOV version 2.4-beta

LCOV profile is generated on x86_64 machine using following configure options: configure --disable-bootstrap --enable-coverage=opt --enable-languages=c,c++,fortran,go,jit,lto,rust,m2 --enable-host-shared. GCC test suite is run with the built compiler.