Changeset 1665 in CLRX


Ignore:
Timestamp:
Nov 5, 2015, 11:40:57 PM (5 years ago)
Author:
matszpk
Message:

CLRadeonExtender: Print error if register symbol encountered in expression and in '.size', '.global', 'local','.weak' pseudo-ops.

Location:
CLRadeonExtender/trunk/amdasm
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • CLRadeonExtender/trunk/amdasm/AsmExpression.cpp

    r1660 r1665  
    12721272                    Assembler::ParseState parseState = assembler.parseSymbol(symEndStr,
    12731273                                     symEntry, true, dontResolveSymbolsLater);
     1274                    if (symEntry!=nullptr && symEntry->second.regRange)
     1275                    {
     1276                        std::string errorMsg("Expression have register symbol '");
     1277                        errorMsg.append(linePtr, symEndStr);
     1278                        errorMsg += '\'';
     1279                        assembler.printError(linePtr, errorMsg.c_str());
     1280                        good = false;
     1281                        continue;
     1282                    }
    12741283                   
    12751284                    if (parseState == Assembler::ParseState::FAILED) good = false;
  • CLRadeonExtender/trunk/amdasm/AsmPseudoOps.cpp

    r1538 r1665  
    849849            good = false;
    850850        }
     851        else if (symEntry->second.regRange)
     852        {
     853            asmr.printError(symNamePlace, "Symbol must not be register symbol");
     854            good = false;
     855        }
    851856        else if (symEntry->second.base)
    852857        {
     
    893898            asmr.printError(symNamePlace,
    894899                    "Symbol must not be set by .eqv pseudo-op or must be constant");
     900            good = false;
     901        }
     902        else if (symEntry->second.regRange)
     903        {
     904            asmr.printError(symNamePlace, "Symbol must not be register symbol");
    895905            good = false;
    896906        }
Note: See TracChangeset for help on using the changeset viewer.