aboutsummaryrefslogtreecommitdiff
path: root/src/parseTools.js
diff options
context:
space:
mode:
authoralon@honor <none@none>2010-11-02 20:59:52 -0700
committeralon@honor <none@none>2010-11-02 20:59:52 -0700
commit5a0ba08854750045fd801e536ff49aacc7d2394e (patch)
tree2a2121e81e0cae9c5dafc16086ded7d62bb9f014 /src/parseTools.js
parentc07e83131ea1f5138d645f39d0ba724fe370ccc1 (diff)
support for struct/aggregate values in load&store; all tests pass
Diffstat (limited to 'src/parseTools.js')
-rw-r--r--src/parseTools.js6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/parseTools.js b/src/parseTools.js
index 4d6ae564..668eb56b 100644
--- a/src/parseTools.js
+++ b/src/parseTools.js
@@ -290,6 +290,12 @@ function parseLLVMSegment(segment) {
ident: segment[0].text,
type: isType(segment[0].text) ? segment[0].text : '?',
};
+ } else if (segment[1].type == '{') {
+ return {
+ intertype: 'structvalue',
+ values: splitTokenList(segment[1].tokens).map(parseLLVMSegment),
+ type: segment[0].text,
+ };
} else if (segment[0].text in PARSABLE_LLVM_FUNCTIONS) {
return parseLLVMFunctionCall([{text: '?'}].concat(segment));
} else if (segment[1].text in PARSABLE_LLVM_FUNCTIONS) {