llvm-6502/include/llvm/MC/MCSymbol.h
Daniel Dunbar dce0f3c556 llvm-mc: Diagnose misuse (mix) of defined symbols and labels.
- For example, we diagnose errors on:
--
a:
a = 10
--

 - For now we reject code like:
--
.long a
a = 10
--
   which "as" accepts (on Darwin).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74476 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-29 23:43:14 +00:00

38 lines
1019 B
C++

//===- MCSymbol.h - Machine Code Symbols ------------------------*- 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_MCSYMBOL_H
#define LLVM_MC_MCSYMBOL_H
#include <string>
namespace llvm {
class MCSymbol {
MCSection *Section;
std::string Name;
unsigned IsTemporary : 1;
unsigned IsExternal : 1;
public:
MCSymbol(const char *_Name, bool _IsTemporary)
: Section(0), Name(_Name), IsTemporary(_IsTemporary), IsExternal(false) {}
MCSection *getSection() const { return Section; }
void setSection(MCSection *Value) { Section = Value; }
bool isExternal() const { return IsExternal; }
void setExternal(bool Value) { IsExternal = Value; }
const std::string &getName() const { return Name; }
};
} // end namespace llvm
#endif