Code generation (missing external access and source locations).

This commit is contained in:
chriseth
2016-03-30 02:37:00 +02:00
parent 949b00ed59
commit f049430723
22 changed files with 866 additions and 108 deletions
+10 -5
View File
@@ -855,8 +855,11 @@ public:
virtual StatementAnnotation& annotation() const override;
};
// Forward-declaration to InlineAssembly.h
class AsmData;
namespace assembly
{
// Forward-declaration to AsmData.h
struct Block;
}
/**
* Inline assembly.
@@ -867,16 +870,18 @@ public:
InlineAssembly(
SourceLocation const& _location,
ASTPointer<ASTString> const& _docString,
std::shared_ptr<AsmData> const& _operations
std::shared_ptr<assembly::Block> const& _operations
):
Statement(_location, _docString), m_operations(_operations) {}
virtual void accept(ASTVisitor& _visitor) override;
virtual void accept(ASTConstVisitor& _visitor) const override;
AsmData const& operations() const { return *m_operations; }
assembly::Block const& operations() const { return *m_operations; }
virtual InlineAssemblyAnnotation& annotation() const override;
private:
std::shared_ptr<AsmData> m_operations;
std::shared_ptr<assembly::Block> m_operations;
};
/**