Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/LinkageSpec.cc

    rab57786 r8b7ee09  
    1010// Created On       : Sat May 16 13:22:09 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sun Aug 21 12:32:53 2016
    13 // Update Count     : 17
     12// Last Modified On : Thu Aug 18 23:47:14 2016
     13// Update Count     : 12
    1414//
    1515
     
    2020#include "Common/SemanticError.h"
    2121
    22 LinkageSpec::Spec LinkageSpec::fromString( const std::string &spec ) {
    23         if ( spec == "\"Cforall\"" ) {
     22LinkageSpec::Spec LinkageSpec::fromString( const std::string &stringSpec ) {
     23        if ( stringSpec == "\"Cforall\"" ) {
    2424                return Cforall;
    25         } else if ( spec == "\"C\"" ) {
     25        } else if ( stringSpec == "\"C\"" ) {
    2626                return C;
    2727        } else {
    28                 throw SemanticError( "Invalid linkage specifier " + spec );
    29         } // if
    30         delete &spec;                                                                           // allocated by lexer
     28                throw SemanticError( "Invalid linkage specifier " + stringSpec );
     29        }
    3130}
    3231
     
    3837}
    3938
    40 bool LinkageSpec::isDecoratable( Spec spec ) {
     39bool LinkageSpec::isDecoratable( Spec t ) {
    4140        static bool decoratable[LinkageSpec::NoOfSpecs] = {
    4241                //      Intrinsic,      Cforall,        C,              AutoGen,        Compiler
    4342                        true,           true,           false,  true,           false,
    4443        };
    45         return decoratable[spec];
     44        return decoratable[t];
    4645}
    4746
    48 bool LinkageSpec::isGeneratable( Spec spec ) {
     47bool LinkageSpec::isGeneratable( Spec t ) {
    4948        static bool generatable[LinkageSpec::NoOfSpecs] = {
    5049                //      Intrinsic,      Cforall,        C,              AutoGen,        Compiler
    5150                        true,           true,           true,   true,           false,
    5251        };
    53         return generatable[spec];
     52        return generatable[t];
    5453}
    5554
    56 bool LinkageSpec::isOverridable( Spec spec ) {
     55bool LinkageSpec::isOverloadable( Spec t ) {
     56        return isDecoratable( t );
     57}
     58
     59
     60bool LinkageSpec::isOverridable( Spec t ) {
    5761        static bool overridable[LinkageSpec::NoOfSpecs] = {
    5862                //      Intrinsic,      Cforall,        C,              AutoGen,        Compiler
    5963                        true,           false,          false,  true,           false,
    6064        };
    61         return overridable[spec];
     65        return overridable[t];
    6266}
    6367
    64 bool LinkageSpec::isBuiltin( Spec spec ) {
     68bool LinkageSpec::isBuiltin( Spec t ) {
    6569        static bool builtin[LinkageSpec::NoOfSpecs] = {
    6670                //      Intrinsic,      Cforall,        C,              AutoGen,        Compiler
    6771                        true,           false,          false,  false,          true,
    6872        };
    69         return builtin[spec];
     73        return builtin[t];
    7074}
    7175
Note: See TracChangeset for help on using the changeset viewer.