summary refs log tree commit diff
path: root/lisc/main.c
diff options
context:
space:
mode:
authorQuentin Carbonneaux <quentin.carbonneaux@yale.edu>2015-09-07 21:59:45 -0400
committerQuentin Carbonneaux <quentin.carbonneaux@yale.edu>2015-09-15 23:01:32 -0400
commit87ab8941edb69a84979068fe74718f8a12b43262 (patch)
tree4377daade67022c2f591a4210f8f17245bfe2c43 /lisc/main.c
parent8f2922eb1a9155b0097fb09854f267ddb17ed2dd (diff)
downloadroux-87ab8941edb69a84979068fe74718f8a12b43262.tar.gz
start work on aggregate types
The parser now has some code to parse the description
of structured types.

I tried to be even less specific than LLVM "type" by
creating just enough abstraction so that I can deal
with both AARCH64 and x64.  The base types used in the
definition of an aggregate are really just syntactic sugar
to give a structure a size and an alignment.  Only the
location of float components matters for the compilation.
In particular this means that the front-ends have to know
how the ABI works to pass/return small integer types.
This also means that the font-end has to be aware of the
layout of structures.

Chris Lattner has a proposition [1] for LLVM that is still
pending and goes in the direction of giving more control
of the ABI the front-end.

[1]: http://www.nondot.org/sabre/LLVMNotes/ExtendedIntegerResults.txt
Diffstat (limited to 'lisc/main.c')
-rw-r--r--lisc/main.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/lisc/main.c b/lisc/main.c
index f4ed6ea..cb2e82e 100644
--- a/lisc/main.c
+++ b/lisc/main.c
@@ -24,7 +24,7 @@ main(int ac, char *av[])
 	int opt, pr;
 	Fn *fn;
 
-	fn = parsefn(stdin);
+	fn = parse(stdin);
 
 	pr = 1;
 	opt = 0;