diff options
author | Michal Strehovský <MichalStrehovsky@users.noreply.github.com> | 2018-01-31 17:55:49 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-01-31 17:55:49 +0300 |
commit | 6fa173553df604a544b5a26c93fbac289b3a3334 (patch) | |
tree | 2fab6f90815e41a54ab6bcdea4228ad009cea38f /src/ILCompiler.CppCodeGen | |
parent | 9b020ebf9ba8981e224414cb672ead7e16f867ee (diff) |
CppCodegen: Implement break opcode and readonly prefix (#5322)
Fixes #5299.
Diffstat (limited to 'src/ILCompiler.CppCodeGen')
-rw-r--r-- | src/ILCompiler.CppCodeGen/src/CppCodeGen/ILToCppImporter.cs | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/ILCompiler.CppCodeGen/src/CppCodeGen/ILToCppImporter.cs b/src/ILCompiler.CppCodeGen/src/CppCodeGen/ILToCppImporter.cs index 1b88ec3ea..ae062dad6 100644 --- a/src/ILCompiler.CppCodeGen/src/CppCodeGen/ILToCppImporter.cs +++ b/src/ILCompiler.CppCodeGen/src/CppCodeGen/ILToCppImporter.cs @@ -817,7 +817,9 @@ namespace Internal.IL private void ImportBreak() { - throw new NotImplementedException("Opcode: break"); + AppendLine(); + Append("__debug_break()"); + AppendSemicolon(); } private void ImportLoadVar(int index, bool argument) @@ -2382,6 +2384,8 @@ namespace Internal.IL var index = _stack.Pop(); var arrayPtr = _stack.Pop(); + // TODO: type check, unless readonly prefix was applied + // Range check AppendLine(); Append("__range_check("); @@ -2637,7 +2641,7 @@ namespace Internal.IL private void ImportReadOnlyPrefix() { - throw new NotImplementedException(); + _pendingPrefix |= Prefix.ReadOnly; } private void TriggerCctor(TypeDesc type) |