diff options
author | Quentin Carbonneaux <quentin.carbonneaux@yale.edu> | 2015-09-07 21:59:45 -0400 |
---|---|---|
committer | Quentin Carbonneaux <quentin.carbonneaux@yale.edu> | 2015-09-15 23:01:32 -0400 |
commit | 87ab8941edb69a84979068fe74718f8a12b43262 (patch) | |
tree | 4377daade67022c2f591a4210f8f17245bfe2c43 /lisc/main.c | |
parent | 8f2922eb1a9155b0097fb09854f267ddb17ed2dd (diff) | |
download | roux-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.c | 2 |
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; |