Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/CodeTools/DeclStats.cc

    r68fe946e r07de76b  
    156156                /// number of counting bins for linkages
    157157                static const unsigned n_named_specs = 8;
    158                 /// Mapping function from linkage to bin.
    159                 static unsigned linkage_index( LinkageSpec::Spec spec ) {
    160                         switch ( spec ) {
    161                         case LinkageSpec::Intrinsic:  return 0;
    162                         case LinkageSpec::C:          return 1;
    163                         case LinkageSpec::Cforall:    return 2;
    164                         case LinkageSpec::AutoGen:    return 3;
    165                         case LinkageSpec::Compiler:   return 4;
    166                         case LinkageSpec::BuiltinCFA: return 5;
    167                         case LinkageSpec::BuiltinC:   return 6;
    168                         default:                      return 7;
    169                         }
    170                 }
     158                /// map from total number of specs to bins
     159                static const unsigned ind_for_linkage[16];
    171160
    172161                Stats for_linkage[n_named_specs];            ///< Stores separate stats per linkage
     
    377366                        const std::string& mangleName = decl->get_mangleName().empty() ? decl->name : decl->get_mangleName();
    378367                        if ( seen_names.insert( mangleName ).second ) {
    379                                 Stats& stats = for_linkage[ linkage_index( decl->linkage ) ];
     368                                Stats& stats = for_linkage[ ind_for_linkage[ decl->linkage ] ];
    380369
    381370                                ++stats.n_decls;
     
    538527        };
    539528
     529        const unsigned DeclStats::ind_for_linkage[]
     530                = { 7, 7, 2, 1,   7, 7, 7, 3,   4, 7, 6, 5,   7, 7, 7, 0 };
     531
    540532        void printDeclStats( std::list< Declaration * > &translationUnit ) {
    541533                PassVisitor<DeclStats> stats;
Note: See TracChangeset for help on using the changeset viewer.