Closed master-q closed 5 years ago
The AST is:
Right (CTranslUnit [CFDefExt (CFunDef [CTypeSpec (CIntType (NodeInfo ("regress/noinc/temp_variable/main.c": line 1) (("regress/noinc/temp_variable/main.c": line 1),3) (Name {nameId = 1})))] (CDeclr (Just (Ident "main" 232419565 (NodeInfo ("regress/noinc/temp_variable/main.c": line 1) (("regress/noinc/temp_variable/main.c": line 1),4) (Name {nameId = 0})))) [CFunDeclr (Right ([],False)) [] (NodeInfo ("regress/noinc/temp_variable/main.c": line 1) (("regress/noinc/temp_variable/main.c": line 1),1) (Name {nameId = 3}))] Nothing [] (NodeInfo ("regress/noinc/temp_variable/main.c": line 1) (("regress/noinc/temp_variable/main.c": line 1),4) (Name {nameId = 2}))) [] (CCompound [] [ CBlockDecl (CDecl [CTypeSpec (CIntType (NodeInfo ("regress/noinc/temp_variable/main.c": line 2) (("regress/noinc/temp_variable/main.c": line 2),3) (Name {nameId = 5})))] [(Just (CDeclr (Just (Ident "input" 247216093 (NodeInfo ("regress/noinc/temp_variable/main.c": line 2) (("regress/noinc/temp_variable/main.c": line 2),5) (Name {nameId = 4})))) [] Nothing [] (NodeInfo ("regress/noinc/temp_variable/main.c": line 2) (("regress/noinc/temp_variable/main.c": line 2),5) (Name {nameId = 6}))),Just (CInitExpr (CConst (CIntConst 1 (NodeInfo ("regress/noinc/temp_variable/main.c": line 2) (("regress/noinc/temp_variable/main.c": line 2),1) (Name {nameId = 7})))) (NodeInfo ("regress/noinc/temp_variable/main.c": line 2) (("regress/noinc/temp_variable/main.c": line 2),1) (Name {nameId = 8}))),Nothing),(Just (CDeclr (Just (Ident "ret" 1913586 (NodeInfo ("regress/noinc/temp_variable/main.c": line 2) (("regress/noinc/temp_variable/main.c": line 2),3) (Name {nameId = 10})))) [] Nothing [] (NodeInfo ("regress/noinc/temp_variable/main.c": line 2) (("regress/noinc/temp_variable/main.c": line 2),3) (Name {nameId = 11}))),Just (CInitExpr (CConst (CIntConst 0 (NodeInfo ("regress/noinc/temp_variable/main.c": line 2) (("regress/noinc/temp_variable/main.c": line 2),1) (Name {nameId = 12})))) (NodeInfo ("regress/noinc/temp_variable/main.c": line 2) (("regress/noinc/temp_variable/main.c": line 2),1) (Name {nameId = 13}))),Nothing)] (NodeInfo ("regress/noinc/temp_variable/main.c": line 2) (("regress/noinc/temp_variable/main.c": line 2),1) (Name {nameId = 9}))) , CBlockStmt (CReturn (Just (CConst (CIntConst 0 (NodeInfo ("regress/noinc/temp_variable/main.c": line 3) (("regress/noinc/temp_variable/main.c": line 3),1) (Name {nameId = 14}))))) (NodeInfo ("regress/noinc/temp_variable/main.c": line 3) (("regress/noinc/temp_variable/main.c": line 3),1) (Name {nameId = 15}))) ] (NodeInfo ("regress/noinc/temp_variable/main.c": line 1) (("regress/noinc/temp_variable/main.c": line 4),1) (Name {nameId = 16}))) (NodeInfo ("regress/noinc/temp_variable/main.c": line 1) (("regress/noinc/temp_variable/main.c": line 4),1) (Name {nameId = 17})))] (NodeInfo ("regress/noinc/temp_variable/main.c": line 1) (("regress/noinc/temp_variable/main.c": line 4),1) (Name {nameId = 18})))
Temporarily use stack value introduced by var.
var
The AST is: