-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Description
I tried to compile this c file:
#include <stdio.h>
int GetRad (int PRT)
{
int rad;
int j = 0;
for (int i = 0; i <= 31; i++)
{
if ((PRT & (1 << i)) == 0) {
j++;
}
else {
break;
}
}
if (j % 2 == 0) {
rad = 4;
}
else {
rad = 2;
}
return rad;
}
int main(int argc, char *argv[])
{
int val = 1;
int ret = 0;
ret = GetRad(val);
printf("ret = %d\n", ret);
return 0;
}but failed with error messages:
transforming file: HPCCG_preprocessed/test_rad.c
parsing...
filename: HPCCG_preprocessed/test_rad.c
copying ast...
FILELIST: []
[ValidateAllAttributesPresent]: found 13 integrity exceptions
saving ast after copying to tmp/before.txt
CALL: <c2d_c_ast.DeclRefExpr object at 0x7fee83c8b580>
[ValidateNodeTypes]: found 0 integrity exceptions
saving ast after transformation to tmp/after.txt
Own AST creation done
FUNC: main
FUNC: GetRad
Traceback (most recent call last):
File "c2dace/c2d.py", line 93, in <module>
c2d_workflow(_dir, filecore, fileextension, autoopt=False, verbose=True, print_ast=True)
File "/home/luwan/c2dace/c2dace/c2d_workflow.py", line 221, in c2d_workflow
translator.translate(changed_ast, globalsdfg)
File "/home/luwan/c2dace/c2dace/c2d_ast2sdfg.py", line 643, in translate
self.ast_elements[node.__class__](node, sdfg)
File "/home/luwan/c2dace/c2dace/c2d_ast2sdfg.py", line 659, in tu2sdfg
self.funcdecl2sdfg(i, sdfg)
File "/home/luwan/c2dace/c2dace/c2d_ast2sdfg.py", line 982, in funcdecl2sdfg
self.translate(node.body, new_sdfg)
File "/home/luwan/c2dace/c2dace/c2d_ast2sdfg.py", line 643, in translate
self.ast_elements[node.__class__](node, sdfg)
File "/home/luwan/c2dace/c2dace/c2d_ast2sdfg.py", line 996, in basicblock2sdfg
self.translate(i, sdfg)
File "/home/luwan/c2dace/c2dace/c2d_ast2sdfg.py", line 643, in translate
self.ast_elements[node.__class__](node, sdfg)
File "/home/luwan/c2dace/c2dace/c2d_ast2sdfg.py", line 1323, in call2sdfg
self.funcdecl2sdfg(i, sdfg)
File "/home/luwan/c2dace/c2dace/c2d_ast2sdfg.py", line 982, in funcdecl2sdfg
self.translate(node.body, new_sdfg)
File "/home/luwan/c2dace/c2dace/c2d_ast2sdfg.py", line 643, in translate
self.ast_elements[node.__class__](node, sdfg)
File "/home/luwan/c2dace/c2dace/c2d_ast2sdfg.py", line 996, in basicblock2sdfg
self.translate(i, sdfg)
File "/home/luwan/c2dace/c2dace/c2d_ast2sdfg.py", line 643, in translate
self.ast_elements[node.__class__](node, sdfg)
File "/home/luwan/c2dace/c2dace/c2d_ast2sdfg.py", line 1292, in forstmt2sdfg
self.translate(node.body, new_sdfg)
File "/home/luwan/c2dace/c2dace/c2d_ast2sdfg.py", line 643, in translate
self.ast_elements[node.__class__](node, sdfg)
File "/home/luwan/c2dace/c2dace/c2d_ast2sdfg.py", line 996, in basicblock2sdfg
self.translate(i, sdfg)
File "/home/luwan/c2dace/c2dace/c2d_ast2sdfg.py", line 643, in translate
self.ast_elements[node.__class__](node, sdfg)
File "/home/luwan/c2dace/c2dace/c2d_ast2sdfg.py", line 1059, in ifstmt2sdfg
self.translate(node.body_else[0], sdfg)
File "/home/luwan/c2dace/c2dace/c2d_ast2sdfg.py", line 643, in translate
self.ast_elements[node.__class__](node, sdfg)
File "/home/luwan/c2dace/c2dace/c2d_ast2sdfg.py", line 996, in basicblock2sdfg
self.translate(i, sdfg)
File "/home/luwan/c2dace/c2dace/c2d_ast2sdfg.py", line 643, in translate
self.ast_elements[node.__class__](node, sdfg)
File "/home/luwan/c2dace/c2dace/c2d_ast2sdfg.py", line 719, in break2sdfg
sdfg.add_edge(break_state, self.last_loop_break[sdfg],
KeyError: <dace.sdfg.sdfg.SDFG object at 0x7fee7d251880>my dace version is 0.13.3
should I preprocess the c files, and how to?
Metadata
Metadata
Assignees
Labels
No labels