# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
# THE POSSIBILITY OF SUCH DAMAGE.
-require "armv7"
+require "config"
+require "arm64"
+require "arm"
+require "arm64"
require "ast"
require "x86"
+require "mips"
+require "sh4"
+require "cloop"
BACKENDS =
[
"X86",
"X86_64",
- "ARMv7"
+ "ARM",
+ "ARMv7",
+ "ARMv7_TRADITIONAL",
+ "ARM64",
+ "MIPS",
+ "SH4",
+ "C_LOOP"
]
# Keep the set of working backends separate from the set of backends that might be
[
"X86",
"X86_64",
- "ARMv7"
+ "ARM",
+ "ARMv7",
+ "ARMv7_TRADITIONAL",
+ "ARM64",
+ "MIPS",
+ "SH4",
+ "C_LOOP"
]
BACKEND_PATTERN = Regexp.new('\\A(' + BACKENDS.join(')|(') + ')\\Z')
$activeBackend = name
send("lower" + name)
rescue => e
- raise "Got error #{e} at #{codeOriginString}"
+ e.message << "At #{codeOriginString}"
+ raise e
end
end
end
def asmLabel
Assembler.labelReference(name[1..-1])
end
+ def cLabel
+ Assembler.cLabelReference(name[1..-1])
+ end
end
class LocalLabelReference
def asmLabel
Assembler.localLabelReference("_offlineasm_"+name[1..-1])
end
+ def cLabel
+ Assembler.cLocalLabelReference("_offlineasm_"+name[1..-1])
+ end
end
class Skip