Ignore:
Timestamp:
Jul 12, 2015, 3:52:43 PM (4 years ago)
Author:
nmedfort
Message:

Start of work to make the pablo compiler reenterant. Fixed bug that prevented it from using Less optimization level.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • icGREP/icgrep-devel/icgrep/UCD/resolve_properties.cpp

    r4660 r4661  
    9595            if (valit->second == Binary_ns::Y) {
    9696                name->setFunctionName("__get_" + lowercase(property_enum_name[theprop]) + "_Y");
    97                 return;
    9897            }
    9998            else {
    10099                Name * binprop = makeName("__get_" + lowercase(property_enum_name[theprop]) + "_Y", Name::Type::UnicodeProperty);
    101100                name->setDefinition(makeDiff(makeAny(), binprop));
    102                 return;
    103101            }
    104102        }
     
    110108
    111109        // No namespace (property) name.   Try as a general category.
    112         int valcode = GetPropertyValueEnumCode(gc, value);
    113         if (valcode >= 0) {
     110
     111        int valcode;
     112
     113        if ((valcode = GetPropertyValueEnumCode(gc, value)) >= 0) {
    114114            name->setFunctionName("__get_gc_" + GC_ns::enum_names[valcode]);
    115115            return;
    116116        }
    117         valcode = GetPropertyValueEnumCode(sc, value);
    118         if (valcode >= 0) {
     117
     118        if ((valcode = GetPropertyValueEnumCode(sc, value)) >= 0) {
    119119            name->setFunctionName("__get_sc_" + SC_ns::enum_names[valcode]);
    120120            return;
    121121        }
     122
    122123        // Try as a binary property.
    123124        auto propit = alias_map.find(value);
     
    126127            if (isa<BinaryPropertyObject>(property_object_table[theprop])) {
    127128                name->setFunctionName("__get_" + lowercase(property_enum_name[theprop]) + "_Y");
    128                 return;
    129129            }
    130130            else {
     
    135135        else if (value == "any") {
    136136            name->setDefinition(makeAny());
    137             return;
    138137        }
    139138        else if (value == "assigned") {
    140139            Name * Cn = makeName("Cn", Name::Type::UnicodeProperty);
    141140            name->setDefinition(makeDiff(makeAny(), Cn));
    142             return;
    143141        }
    144142        else if (value == "ascii") {
    145143            name->setFunctionName("__get_blk_ASCII");
    146             return;
    147144        }
    148145        // Now compatibility properties of UTR #18 Annex C
     
    151148            Name * hexdigit = makeName("Hex_digit", Name::Type::UnicodeProperty);
    152149            name->setDefinition(makeAlt({Nd, hexdigit}));
    153             return;
    154150        }
    155151        else if (value == "alnum") {
     
    157153            Name * alpha = makeName("alphabetic", Name::Type::UnicodeProperty);
    158154            name->setDefinition(makeAlt({digit, alpha}));
    159             return;
    160155        }
    161156        else if (value == "blank") {
     
    163158            CC * tab = makeCC(0x09);
    164159            name->setDefinition(makeAlt({space_sep, tab}));
    165             return;
    166160        }
    167161        else if (value == "graph") {
     
    173167            nongraph->setDefinition(makeAlt({space, ctrl, surr, unassigned}));
    174168            name->setDefinition(makeDiff(makeAny(), nongraph));
    175             return;
    176169        }
    177170        else if (value == "print") {
     
    179172            Name * space_sep = makeName("space_separator", Name::Type::UnicodeProperty);
    180173            name->setDefinition(makeAlt({graph, space_sep}));
    181             return;
    182174        }
    183175        else if (value == "word") {
     
    187179            Name * join = makeName("Join_Control", Name::Type::UnicodeProperty);
    188180            name->setDefinition(makeAlt({alnum, mark, conn, join}));
    189             return;
    190181        }
    191182        else {
Note: See TracChangeset for help on using the changeset viewer.