Class wrapper for gcc_jit_block
The top-level of the API is the JITContext class. A JITContext instance encapsulates the state of a compilation. It goes through two states. Initial: During which you can set up options on it, and add types, functions and code, using the API below. Invoking compile on it transitions it to the PostCompilation state. PostCompilation: When you can call JITContext.release to clean it up.
Errors within the API become D exceptions of this class.
Class wrapper for gcc_jit_field
Class wrapper for gcc_jit_function
Class wrapper for gcc_jit_lvalue
Class wrapper for gcc_jit_location. A JITLocation encapsulates a source code locations, so that you can associate locations in your language with statements in the JIT-compiled code.
Class wrapper for gcc_jit_object. All JITObject's are created within a JITContext, and are automatically cleaned up when the context is released. The class hierachy looks like this:
Class wrapper for gcc_jit_param
Class wrapper for gcc_jit_rvalue
Class wrapper for gcc_jit_result
You can model C struct types by creating JITStruct and JITField instances, in either order:
Types can be created in several ways:
Kinds of binary ops.
Boolean options
Kinds of comparison.
Kinds of function.
Kinds of global.
Integer options
String options
Standard types.
Kinds of unary ops.
A D API for libgccjit, purely as final class wrapper functions. Copyright (C) 2014-2015 Iain Buclaw. This file is part of gccjitd. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.