blob: 40b2724472209084946e7f4178deb911b62a9524 [file] [log] [blame]
Shih-wei Liao22add6f2012-12-15 17:21:00 -08001//===- AttributeOption.h --------------------------------------------------===//
2//
3// The MCLinker Project
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
Stephen Hines37b74a32014-11-26 18:48:20 -08009#ifndef MCLD_ATTRIBUTEOPTION_H_
10#define MCLD_ATTRIBUTEOPTION_H_
11#include "mcld/MC/Attribute.h"
Shih-wei Liao22add6f2012-12-15 17:21:00 -080012
13namespace mcld {
14
Stephen Hines37b74a32014-11-26 18:48:20 -080015class AttributeOption {
16 public:
Shih-wei Liao22add6f2012-12-15 17:21:00 -080017 AttributeOption();
18 ~AttributeOption();
19
20 const Attribute& predefined() const { return m_Predefined; }
Stephen Hines37b74a32014-11-26 18:48:20 -080021 Attribute& predefined() { return m_Predefined; }
Shih-wei Liao22add6f2012-12-15 17:21:00 -080022
23 const AttrConstraint& constraint() const { return m_Constraint; }
Stephen Hines37b74a32014-11-26 18:48:20 -080024 AttrConstraint& constraint() { return m_Constraint; }
Shih-wei Liao22add6f2012-12-15 17:21:00 -080025
Stephen Hines37b74a32014-11-26 18:48:20 -080026 private:
Shih-wei Liao22add6f2012-12-15 17:21:00 -080027 Attribute m_Predefined;
28 AttrConstraint m_Constraint;
29};
30
Stephen Hines37b74a32014-11-26 18:48:20 -080031} // namespace mcld
Shih-wei Liao22add6f2012-12-15 17:21:00 -080032
Stephen Hines37b74a32014-11-26 18:48:20 -080033#endif // MCLD_ATTRIBUTEOPTION_H_