generators set up
This commit is contained in:
12
test.c
12
test.c
@@ -7,12 +7,12 @@ int main(void) {
|
||||
GravityBuilder builder = gravityCreateBuilder();
|
||||
|
||||
GravityType charType = gravityCreateIntegerType(8, false);
|
||||
GravityType ptrType = gravityCreatePointerType();
|
||||
|
||||
GravityType mainFuncType = gravityCreateFunctionType(0, NULL, charType);
|
||||
GravityFunction mainFunc = gravityNewFunction(module, "main", mainFuncType);
|
||||
GravityBlock entryBlock = gravityStartBlock("entry", mainFunc);
|
||||
|
||||
/*
|
||||
// define blocks
|
||||
GravityBlock thenBlock = gravityStartBlock("then", mainFunc);
|
||||
gravityAppendBlockArgument(thenBlock, ptrType);
|
||||
@@ -48,9 +48,17 @@ int main(void) {
|
||||
gravityBuilderSwitchToBlock(builder, mergeBlock);
|
||||
GravityValue xVar = gravityGetBlockArg(mergeBlock, 0);
|
||||
GravityValue xValue = gravityBuildLoad(builder, xVar, "xValue");
|
||||
gravityBuildRet(builder, xValue);
|
||||
gravityBuildRet(builder, xValue);*/
|
||||
|
||||
gravityBuilderSwitchToBlock(builder, entryBlock);
|
||||
GravityValue returnVal = gravityBuildIntConstant(builder, charType, 123, NULL);
|
||||
gravityBuildRet(builder, returnVal);
|
||||
|
||||
printf("%s\n", gravityFunctionToCStr(mainFunc));
|
||||
|
||||
GravityTargetArch target = gravityCreate_x86_64Target();
|
||||
char* outputASM = gravityTargetEmitModule(target, module);
|
||||
printf("%s\n", outputASM);
|
||||
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user