mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-11-24 08:18:33 +00:00
According to the documentation, .thumb_set is 'the equivalent of a .set directive'. We didn't have equivalent behaviour in terms of all the errors we could throw, for example, when a symbol is redefined. This change refactors parseAssignment so that it can be used by .set and .thumb_set and implements tests for .thumb_set for all the errors thrown by that method. Reviewed by Rafael Espíndola. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@240318 91177308-0d34-0410-b5e6-96231b3b80d8
28 lines
910 B
C++
28 lines
910 B
C++
//===------ llvm/MC/MCAsmParserUtils.h - Asm Parser Utilities ---*- C++ -*-===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#ifndef LLVM_MC_MCPARSER_MCASMPARSERUTILS_H
|
|
#define LLVM_MC_MCPARSER_MCASMPARSERUTILS_H
|
|
|
|
namespace llvm {
|
|
namespace MCParserUtils {
|
|
|
|
/// Parse a value expression and return whether it can be assigned to a symbol
|
|
/// with the given name.
|
|
///
|
|
/// On success, returns false and sets the Symbol and Value output parameters.
|
|
bool parseAssignmentExpression(StringRef Name, bool allow_redef,
|
|
MCAsmParser &Parser, MCSymbol *&Symbol,
|
|
const MCExpr *&Value);
|
|
|
|
} // namespace MCParserUtils
|
|
} // namespace llvm
|
|
|
|
#endif
|