From 0f54a4c2a3b8cfe7c6c059c6664cb54e12e9029b Mon Sep 17 00:00:00 2001 From: Christian Gram Kalhauge <chrg@dtu.dk> Date: Sun, 10 Mar 2024 00:06:11 +0100 Subject: [PATCH] A "Simple" fix --- rtree-c/src/ReduceC.hs | 183 +++++++++++------- rtree-c/test/cases/small/structfn.c | 6 +- .../expected/add/reduction/r000000000.c.hs | 88 +++++++++ .../expected/add/reduction/r000000001.c.hs | 88 +++++++++ .../expected/add/reduction/r000000010.c.hs | 88 +++++++++ .../expected/add/reduction/r000000011.c.hs | 88 +++++++++ .../add/reduction/{r0000001.c => r00000010.c} | 1 + .../expected/add/reduction/r00000010.c.hs | 88 +++++++++ .../test/expected/add/reduction/r00000011.c | 16 ++ .../expected/add/reduction/r00000011.c.hs | 88 +++++++++ .../expected/add/reduction/r000001000.c.hs | 88 +++++++++ .../expected/add/reduction/r000001001.c.hs | 88 +++++++++ .../expected/add/reduction/r000001010.c.hs | 88 +++++++++ .../expected/add/reduction/r000001011.c.hs | 88 +++++++++ .../add/reduction/{r0000011.c => r00000110.c} | 1 + .../expected/add/reduction/r00000110.c.hs | 88 +++++++++ .../test/expected/add/reduction/r00000111.c | 16 ++ .../expected/add/reduction/r00000111.c.hs | 88 +++++++++ .../expected/add/reduction/r00001000.c.hs | 88 +++++++++ .../expected/add/reduction/r00001001.c.hs | 88 +++++++++ .../expected/add/reduction/r00001010.c.hs | 88 +++++++++ .../expected/add/reduction/r00001011.c.hs | 88 +++++++++ .../add/reduction/{r000011.c => r0000110.c} | 1 + .../test/expected/add/reduction/r0000110.c.hs | 88 +++++++++ .../test/expected/add/reduction/r0000111.c | 15 ++ .../test/expected/add/reduction/r0000111.c.hs | 88 +++++++++ .../add/reduction/{r0001000.c => r00010000.c} | 1 + .../expected/add/reduction/r00010000.c.hs | 88 +++++++++ .../add/reduction/{r0001001.c => r00010001.c} | 1 + .../expected/add/reduction/r00010001.c.hs | 88 +++++++++ .../test/expected/add/reduction/r00010010.c | 16 ++ .../expected/add/reduction/r00010010.c.hs | 88 +++++++++ .../test/expected/add/reduction/r00010011.c | 16 ++ .../expected/add/reduction/r00010011.c.hs | 88 +++++++++ .../test/expected/add/reduction/r0001010.c | 7 +- .../test/expected/add/reduction/r0001010.c.hs | 88 +++++++++ .../test/expected/add/reduction/r0001011.c | 7 +- .../test/expected/add/reduction/r0001011.c.hs | 88 +++++++++ .../test/expected/add/reduction/r00011000.c | 16 ++ .../expected/add/reduction/r00011000.c.hs | 88 +++++++++ .../test/expected/add/reduction/r00011001.c | 16 ++ .../expected/add/reduction/r00011001.c.hs | 88 +++++++++ .../test/expected/add/reduction/r00011010.c | 16 ++ .../expected/add/reduction/r00011010.c.hs | 88 +++++++++ .../test/expected/add/reduction/r00011011.c | 16 ++ .../expected/add/reduction/r00011011.c.hs | 88 +++++++++ .../add/reduction/{r00011.c => r0001110.c} | 2 + .../test/expected/add/reduction/r0001110.c.hs | 88 +++++++++ .../test/expected/add/reduction/r0001111.c | 14 ++ .../test/expected/add/reduction/r0001111.c.hs | 88 +++++++++ .../test/expected/add/reduction/r001000.c.hs | 88 +++++++++ .../test/expected/add/reduction/r001001.c.hs | 88 +++++++++ .../add/reduction/{r00101.c => r001010.c} | 1 + .../test/expected/add/reduction/r001010.c.hs | 88 +++++++++ rtree-c/test/expected/add/reduction/r001011.c | 14 ++ .../test/expected/add/reduction/r001011.c.hs | 88 +++++++++ .../add/reduction/{r001100.c => r0011000.c} | 1 + .../test/expected/add/reduction/r0011000.c.hs | 88 +++++++++ .../add/reduction/{r001101.c => r0011001.c} | 1 + .../test/expected/add/reduction/r0011001.c.hs | 88 +++++++++ .../add/reduction/{r00111.c => r0011010.c} | 2 + .../test/expected/add/reduction/r0011010.c.hs | 88 +++++++++ .../test/expected/add/reduction/r0011011.c | 14 ++ .../test/expected/add/reduction/r0011011.c.hs | 88 +++++++++ .../test/expected/add/reduction/r0011100.c | 15 ++ .../test/expected/add/reduction/r0011100.c.hs | 88 +++++++++ .../test/expected/add/reduction/r0011101.c | 15 ++ .../test/expected/add/reduction/r0011101.c.hs | 88 +++++++++ .../test/expected/add/reduction/r0011110.c | 14 ++ .../test/expected/add/reduction/r0011110.c.hs | 88 +++++++++ .../test/expected/add/reduction/r0011111.c | 14 ++ .../test/expected/add/reduction/r0011111.c.hs | 88 +++++++++ .../add/reduction/{r01000.c => r010000.c} | 1 + .../test/expected/add/reduction/r010000.c.hs | 88 +++++++++ .../add/reduction/{r01001.c => r010001.c} | 1 + .../test/expected/add/reduction/r010001.c.hs | 88 +++++++++ .../add/reduction/{r0101.c => r010010.c} | 2 + .../test/expected/add/reduction/r010010.c.hs | 88 +++++++++ rtree-c/test/expected/add/reduction/r010011.c | 13 ++ .../test/expected/add/reduction/r010011.c.hs | 88 +++++++++ rtree-c/test/expected/add/reduction/r010100.c | 14 ++ .../test/expected/add/reduction/r010100.c.hs | 88 +++++++++ rtree-c/test/expected/add/reduction/r010101.c | 14 ++ .../test/expected/add/reduction/r010101.c.hs | 88 +++++++++ rtree-c/test/expected/add/reduction/r010110.c | 13 ++ .../test/expected/add/reduction/r010110.c.hs | 88 +++++++++ rtree-c/test/expected/add/reduction/r010111.c | 13 ++ .../test/expected/add/reduction/r010111.c.hs | 88 +++++++++ .../add/reduction/{r0110.c => r01100.c} | 1 + .../test/expected/add/reduction/r01100.c.hs | 88 +++++++++ .../add/reduction/{r0111.c => r011010.c} | 2 + .../test/expected/add/reduction/r011010.c.hs | 88 +++++++++ rtree-c/test/expected/add/reduction/r011011.c | 13 ++ .../test/expected/add/reduction/r011011.c.hs | 88 +++++++++ rtree-c/test/expected/add/reduction/r01110.c | 13 ++ .../test/expected/add/reduction/r01110.c.hs | 88 +++++++++ rtree-c/test/expected/add/reduction/r011110.c | 13 ++ .../test/expected/add/reduction/r011110.c.hs | 88 +++++++++ rtree-c/test/expected/add/reduction/r011111.c | 13 ++ .../test/expected/add/reduction/r011111.c.hs | 88 +++++++++ .../test/expected/add/reduction/r1000.c.hs | 88 +++++++++ .../test/expected/add/reduction/r1001.c.hs | 88 +++++++++ .../test/expected/add/reduction/r1010.c.hs | 88 +++++++++ .../test/expected/add/reduction/r1011.c.hs | 88 +++++++++ .../expected/add/reduction/{r11.c => r110.c} | 1 + rtree-c/test/expected/add/reduction/r110.c.hs | 88 +++++++++ rtree-c/test/expected/add/reduction/r111.c | 7 + rtree-c/test/expected/add/reduction/r111.c.hs | 88 +++++++++ rtree-c/test/expected/clang-22382/extract.c | 6 + .../expected/clang-22382/reduction/p0.path | 7 + .../expected/clang-22382/reduction/p1.path | 7 + .../expected/clang-22382/reduction/p2.path | 7 + .../expected/clang-22382/reduction/p3.path | 7 + .../expected/clang-22382/reduction/p4.path | 7 + .../expected/clang-22382/reduction/p5.path | 7 + .../expected/clang-22382/reduction/p6.path | 7 + .../expected/clang-22382/reduction/p7.path | 21 ++ .../expected/clang-22382/reduction/p9.path | 11 ++ .../test/expected/clang-22382/reduction/x0.c | 6 + .../test/expected/clang-22382/reduction/x1.c | 6 + .../test/expected/clang-22382/reduction/x2.c | 6 + .../test/expected/clang-22382/reduction/x3.c | 6 + .../test/expected/clang-22382/reduction/x4.c | 6 + .../test/expected/clang-22382/reduction/x5.c | 6 + .../test/expected/clang-22382/reduction/x6.c | 6 + .../test/expected/clang-22382/reduction/x7.c | 20 ++ .../expected/clang-23353/reduction/p0.path | 1 + .../expected/clang-23353/reduction/p1.path | 1 + .../expected/clang-23353/reduction/p10.path | 11 ++ .../expected/clang-23353/reduction/p7.path | 3 + .../expected/clang-23353/reduction/p8.path | 6 + .../expected/clang-23353/reduction/p9.path | 58 ++++-- .../test/expected/clang-23353/reduction/x7.c | 8 +- .../test/expected/clang-23353/reduction/x8.c | 6 +- .../test/expected/clang-23353/reduction/x9.c | 11 ++ .../expected/clang-26760/reduction/p9.path | 10 + .../expected/constant/reduction/r00000.c.hs | 72 +++++++ .../expected/constant/reduction/r00001.c.hs | 72 +++++++ .../expected/constant/reduction/r0001.c.hs | 72 +++++++ .../expected/constant/reduction/r001.c.hs | 72 +++++++ .../expected/constant/reduction/r01000.c.hs | 72 +++++++ .../expected/constant/reduction/r01001.c.hs | 72 +++++++ .../expected/constant/reduction/r0101.c.hs | 72 +++++++ .../constant/reduction/{r011.c => r0110.c} | 1 + .../expected/constant/reduction/r0110.c.hs | 72 +++++++ .../test/expected/constant/reduction/r0111.c | 9 + .../expected/constant/reduction/r0111.c.hs | 72 +++++++ .../expected/constant/reduction/r10000.c.hs | 72 +++++++ .../expected/constant/reduction/r10001.c.hs | 72 +++++++ .../expected/constant/reduction/r1001.c.hs | 72 +++++++ .../expected/constant/reduction/r101.c.hs | 72 +++++++ .../expected/constant/reduction/r11000.c.hs | 72 +++++++ .../expected/constant/reduction/r11001.c.hs | 72 +++++++ .../expected/constant/reduction/r1101.c.hs | 72 +++++++ .../constant/reduction/{r111.c => r1110.c} | 1 + .../expected/constant/reduction/r1110.c.hs | 72 +++++++ .../test/expected/constant/reduction/r1111.c | 8 + .../expected/constant/reduction/r1111.c.hs | 72 +++++++ .../expected/declaration/reduction/r0000.c.hs | 61 ++++++ .../expected/declaration/reduction/r0001.c.hs | 61 ++++++ .../expected/declaration/reduction/r0010.c.hs | 61 ++++++ .../expected/declaration/reduction/r0011.c.hs | 61 ++++++ .../declaration/reduction/{r01.c => r010.c} | 1 + .../expected/declaration/reduction/r010.c.hs | 61 ++++++ .../expected/declaration/reduction/r011.c | 8 + .../expected/declaration/reduction/r011.c.hs | 61 ++++++ .../expected/declaration/reduction/r100.c.hs | 61 ++++++ .../expected/declaration/reduction/r101.c.hs | 61 ++++++ .../declaration/reduction/{r11.c => r110.c} | 1 + .../expected/declaration/reduction/r110.c.hs | 61 ++++++ .../expected/declaration/reduction/r111.c | 7 + .../expected/declaration/reduction/r111.c.hs | 61 ++++++ .../expected/definition/reduction/r000.c.hs | 54 ++++++ .../definition/reduction/{r001.c => r0010.c} | 1 + .../expected/definition/reduction/r0010.c.hs | 54 ++++++ .../expected/definition/reduction/r0011.c | 12 ++ .../expected/definition/reduction/r0011.c.hs | 54 ++++++ .../definition/reduction/{r010.c => r0100.c} | 1 + .../expected/definition/reduction/r0100.c.hs | 54 ++++++ .../definition/reduction/{r011.c => r01010.c} | 2 + .../expected/definition/reduction/r01010.c.hs | 54 ++++++ .../expected/definition/reduction/r01011.c | 12 ++ .../expected/definition/reduction/r01011.c.hs | 54 ++++++ .../expected/definition/reduction/r0110.c | 12 ++ .../expected/definition/reduction/r0110.c.hs | 54 ++++++ .../expected/definition/reduction/r01110.c | 12 ++ .../expected/definition/reduction/r01110.c.hs | 54 ++++++ .../expected/definition/reduction/r01111.c | 12 ++ .../expected/definition/reduction/r01111.c.hs | 54 ++++++ .../expected/definition/reduction/r10.c.hs | 54 ++++++ .../definition/reduction/{r11.c => r110.c} | 1 + .../expected/definition/reduction/r110.c.hs | 54 ++++++ .../test/expected/definition/reduction/r111.c | 7 + .../expected/definition/reduction/r111.c.hs | 54 ++++++ .../for/reduction/{r00000.c => r000000.c} | 1 + .../test/expected/for/reduction/r000000.c.hs | 57 ++++++ rtree-c/test/expected/for/reduction/r000001.c | 14 ++ .../test/expected/for/reduction/r000001.c.hs | 57 ++++++ .../for/reduction/{r00001.c => r000010.c} | 1 + .../test/expected/for/reduction/r000010.c.hs | 57 ++++++ rtree-c/test/expected/for/reduction/r000011.c | 14 ++ .../test/expected/for/reduction/r000011.c.hs | 57 ++++++ .../for/reduction/{r0001.c => r00010.c} | 1 + .../test/expected/for/reduction/r00010.c.hs | 57 ++++++ rtree-c/test/expected/for/reduction/r00011.c | 13 ++ .../test/expected/for/reduction/r00011.c.hs | 57 ++++++ .../for/reduction/{r001.c => r0010.c} | 1 + .../test/expected/for/reduction/r0010.c.hs | 57 ++++++ rtree-c/test/expected/for/reduction/r0011.c | 12 ++ .../test/expected/for/reduction/r0011.c.hs | 57 ++++++ .../for/reduction/{r01000.c => r010000.c} | 1 + .../test/expected/for/reduction/r010000.c.hs | 57 ++++++ rtree-c/test/expected/for/reduction/r010001.c | 14 ++ .../test/expected/for/reduction/r010001.c.hs | 57 ++++++ .../for/reduction/{r01001.c => r010010.c} | 1 + .../test/expected/for/reduction/r010010.c.hs | 57 ++++++ rtree-c/test/expected/for/reduction/r010011.c | 14 ++ .../test/expected/for/reduction/r010011.c.hs | 57 ++++++ .../for/reduction/{r0101.c => r01010.c} | 1 + .../test/expected/for/reduction/r01010.c.hs | 57 ++++++ rtree-c/test/expected/for/reduction/r01011.c | 13 ++ .../test/expected/for/reduction/r01011.c.hs | 57 ++++++ .../for/reduction/{r011.c => r0110.c} | 1 + .../test/expected/for/reduction/r0110.c.hs | 57 ++++++ rtree-c/test/expected/for/reduction/r0111.c | 12 ++ .../test/expected/for/reduction/r0111.c.hs | 57 ++++++ .../expected/for/reduction/{r1.c => r10.c} | 1 + rtree-c/test/expected/for/reduction/r10.c.hs | 57 ++++++ rtree-c/test/expected/for/reduction/r11.c | 9 + rtree-c/test/expected/for/reduction/r11.c.hs | 57 ++++++ .../reduction/{r00000000.c => r000000000.c} | 1 + .../functions/reduction/r000000000.c.hs | 103 ++++++++++ .../expected/functions/reduction/r000000001.c | 21 ++ .../functions/reduction/r000000001.c.hs | 103 ++++++++++ .../expected/functions/reduction/r00000001.c | 4 +- .../functions/reduction/r00000001.c.hs | 103 ++++++++++ .../reduction/{r000001.c => r00000010.c} | 2 + .../functions/reduction/r00000010.c.hs | 103 ++++++++++ .../expected/functions/reduction/r00000011.c | 19 ++ .../functions/reduction/r00000011.c.hs | 103 ++++++++++ .../expected/functions/reduction/r000001000.c | 21 ++ .../functions/reduction/r000001000.c.hs | 103 ++++++++++ .../expected/functions/reduction/r000001001.c | 21 ++ .../functions/reduction/r000001001.c.hs | 103 ++++++++++ .../reduction/{r0000001.c => r00000101.c} | 1 + .../functions/reduction/r00000101.c.hs | 103 ++++++++++ .../expected/functions/reduction/r00000110.c | 19 ++ .../functions/reduction/r00000110.c.hs | 103 ++++++++++ .../expected/functions/reduction/r00000111.c | 19 ++ .../functions/reduction/r00000111.c.hs | 103 ++++++++++ .../reduction/{r00001000.c => r0000100000.c} | 2 + .../functions/reduction/r0000100000.c.hs | 103 ++++++++++ .../reduction/{r00001001.c => r0000100001.c} | 2 + .../functions/reduction/r0000100001.c.hs | 103 ++++++++++ .../reduction/{r0000101.c => r000010001.c} | 2 + .../functions/reduction/r000010001.c.hs | 103 ++++++++++ .../reduction/{r000011.c => r000010010.c} | 3 + .../functions/reduction/r000010010.c.hs | 103 ++++++++++ .../expected/functions/reduction/r000010011.c | 19 ++ .../functions/reduction/r000010011.c.hs | 103 ++++++++++ .../functions/reduction/r0000101000.c | 21 ++ .../functions/reduction/r0000101000.c.hs | 103 ++++++++++ .../functions/reduction/r0000101001.c | 21 ++ .../functions/reduction/r0000101001.c.hs | 103 ++++++++++ .../expected/functions/reduction/r000010101.c | 20 ++ .../functions/reduction/r000010101.c.hs | 103 ++++++++++ .../expected/functions/reduction/r000010110.c | 19 ++ .../functions/reduction/r000010110.c.hs | 103 ++++++++++ .../expected/functions/reduction/r000010111.c | 19 ++ .../functions/reduction/r000010111.c.hs | 103 ++++++++++ .../functions/reduction/r0000110000.c | 21 ++ .../functions/reduction/r0000110000.c.hs | 103 ++++++++++ .../functions/reduction/r0000110001.c | 21 ++ .../functions/reduction/r0000110001.c.hs | 103 ++++++++++ .../expected/functions/reduction/r000011001.c | 20 ++ .../functions/reduction/r000011001.c.hs | 103 ++++++++++ .../expected/functions/reduction/r000011010.c | 19 ++ .../functions/reduction/r000011010.c.hs | 103 ++++++++++ .../expected/functions/reduction/r000011011.c | 19 ++ .../functions/reduction/r000011011.c.hs | 103 ++++++++++ .../functions/reduction/r0000111000.c | 21 ++ .../functions/reduction/r0000111000.c.hs | 103 ++++++++++ .../functions/reduction/r0000111001.c | 21 ++ .../functions/reduction/r0000111001.c.hs | 103 ++++++++++ .../expected/functions/reduction/r000011101.c | 20 ++ .../functions/reduction/r000011101.c.hs | 103 ++++++++++ .../expected/functions/reduction/r000011110.c | 19 ++ .../functions/reduction/r000011110.c.hs | 103 ++++++++++ .../expected/functions/reduction/r000011111.c | 19 ++ .../functions/reduction/r000011111.c.hs | 103 ++++++++++ .../reduction/{r0001000.c => r00010000.c} | 1 + .../functions/reduction/r00010000.c.hs | 103 ++++++++++ .../reduction/{r0001001.c => r00010001.c} | 1 + .../functions/reduction/r00010001.c.hs | 103 ++++++++++ .../reduction/{r000101.c => r00010010.c} | 2 + .../functions/reduction/r00010010.c.hs | 103 ++++++++++ .../expected/functions/reduction/r00010011.c | 19 ++ .../functions/reduction/r00010011.c.hs | 103 ++++++++++ .../expected/functions/reduction/r00010100.c | 20 ++ .../functions/reduction/r00010100.c.hs | 103 ++++++++++ .../expected/functions/reduction/r00010101.c | 20 ++ .../functions/reduction/r00010101.c.hs | 103 ++++++++++ .../expected/functions/reduction/r00010110.c | 19 ++ .../functions/reduction/r00010110.c.hs | 103 ++++++++++ .../expected/functions/reduction/r00010111.c | 19 ++ .../functions/reduction/r00010111.c.hs | 103 ++++++++++ .../reduction/{r0001100.c => r000110000.c} | 2 + .../functions/reduction/r000110000.c.hs | 103 ++++++++++ .../reduction/{r0001101.c => r000110001.c} | 2 + .../functions/reduction/r000110001.c.hs | 103 ++++++++++ .../reduction/{r000111.c => r000110010.c} | 3 + .../functions/reduction/r000110010.c.hs | 103 ++++++++++ .../expected/functions/reduction/r000110011.c | 19 ++ .../functions/reduction/r000110011.c.hs | 103 ++++++++++ .../expected/functions/reduction/r000110100.c | 20 ++ .../functions/reduction/r000110100.c.hs | 103 ++++++++++ .../expected/functions/reduction/r000110101.c | 20 ++ .../functions/reduction/r000110101.c.hs | 103 ++++++++++ .../expected/functions/reduction/r000110110.c | 19 ++ .../functions/reduction/r000110110.c.hs | 103 ++++++++++ .../expected/functions/reduction/r000110111.c | 19 ++ .../functions/reduction/r000110111.c.hs | 103 ++++++++++ .../expected/functions/reduction/r000111000.c | 20 ++ .../functions/reduction/r000111000.c.hs | 103 ++++++++++ .../expected/functions/reduction/r000111001.c | 20 ++ .../functions/reduction/r000111001.c.hs | 103 ++++++++++ .../expected/functions/reduction/r000111010.c | 19 ++ .../functions/reduction/r000111010.c.hs | 103 ++++++++++ .../expected/functions/reduction/r000111011.c | 19 ++ .../functions/reduction/r000111011.c.hs | 103 ++++++++++ .../expected/functions/reduction/r000111100.c | 20 ++ .../functions/reduction/r000111100.c.hs | 103 ++++++++++ .../expected/functions/reduction/r000111101.c | 20 ++ .../functions/reduction/r000111101.c.hs | 103 ++++++++++ .../expected/functions/reduction/r000111110.c | 19 ++ .../functions/reduction/r000111110.c.hs | 103 ++++++++++ .../expected/functions/reduction/r000111111.c | 19 ++ .../functions/reduction/r000111111.c.hs | 103 ++++++++++ .../functions/reduction/r0010000.c.hs | 103 ++++++++++ .../functions/reduction/r0010001.c.hs | 103 ++++++++++ .../expected/functions/reduction/r001001.c.hs | 103 ++++++++++ .../reduction/{r00101.c => r001010.c} | 1 + .../expected/functions/reduction/r001010.c.hs | 103 ++++++++++ .../expected/functions/reduction/r001011.c | 14 ++ .../expected/functions/reduction/r001011.c.hs | 103 ++++++++++ .../reduction/{r0011000.c => r00110000.c} | 1 + .../functions/reduction/r00110000.c.hs | 103 ++++++++++ .../expected/functions/reduction/r00110001.c | 16 ++ .../functions/reduction/r00110001.c.hs | 103 ++++++++++ .../expected/functions/reduction/r0011001.c | 2 +- .../functions/reduction/r0011001.c.hs | 103 ++++++++++ .../reduction/{r00111.c => r0011010.c} | 2 + .../functions/reduction/r0011010.c.hs | 103 ++++++++++ .../expected/functions/reduction/r0011011.c | 14 ++ .../functions/reduction/r0011011.c.hs | 103 ++++++++++ .../expected/functions/reduction/r00111000.c | 16 ++ .../functions/reduction/r00111000.c.hs | 103 ++++++++++ .../expected/functions/reduction/r00111001.c | 16 ++ .../functions/reduction/r00111001.c.hs | 103 ++++++++++ .../reduction/{r001101.c => r0011101.c} | 1 + .../functions/reduction/r0011101.c.hs | 103 ++++++++++ .../expected/functions/reduction/r0011110.c | 14 ++ .../functions/reduction/r0011110.c.hs | 103 ++++++++++ .../expected/functions/reduction/r0011111.c | 14 ++ .../functions/reduction/r0011111.c.hs | 103 ++++++++++ .../reduction/{r01000.c => r0100000.c} | 2 + .../functions/reduction/r0100000.c.hs | 103 ++++++++++ .../reduction/{r01001.c => r01000010.c} | 3 + .../functions/reduction/r01000010.c.hs | 103 ++++++++++ .../expected/functions/reduction/r01000011.c | 18 ++ .../functions/reduction/r01000011.c.hs | 103 ++++++++++ .../expected/functions/reduction/r0100010.c | 18 ++ .../functions/reduction/r0100010.c.hs | 103 ++++++++++ .../expected/functions/reduction/r01000110.c | 18 ++ .../functions/reduction/r01000110.c.hs | 103 ++++++++++ .../expected/functions/reduction/r01000111.c | 18 ++ .../functions/reduction/r01000111.c.hs | 103 ++++++++++ .../expected/functions/reduction/r0100100.c | 18 ++ .../functions/reduction/r0100100.c.hs | 103 ++++++++++ .../expected/functions/reduction/r01001010.c | 18 ++ .../functions/reduction/r01001010.c.hs | 103 ++++++++++ .../expected/functions/reduction/r01001011.c | 18 ++ .../functions/reduction/r01001011.c.hs | 103 ++++++++++ .../expected/functions/reduction/r0100110.c | 18 ++ .../functions/reduction/r0100110.c.hs | 103 ++++++++++ .../expected/functions/reduction/r01001110.c | 18 ++ .../functions/reduction/r01001110.c.hs | 103 ++++++++++ .../expected/functions/reduction/r01001111.c | 18 ++ .../functions/reduction/r01001111.c.hs | 103 ++++++++++ .../reduction/{r01010.c => r0101000.c} | 2 + .../functions/reduction/r0101000.c.hs | 103 ++++++++++ .../reduction/{r01011.c => r01010010.c} | 3 + .../functions/reduction/r01010010.c.hs | 103 ++++++++++ .../expected/functions/reduction/r01010011.c | 18 ++ .../functions/reduction/r01010011.c.hs | 103 ++++++++++ .../expected/functions/reduction/r0101010.c | 18 ++ .../functions/reduction/r0101010.c.hs | 103 ++++++++++ .../expected/functions/reduction/r01010110.c | 18 ++ .../functions/reduction/r01010110.c.hs | 103 ++++++++++ .../expected/functions/reduction/r01010111.c | 18 ++ .../functions/reduction/r01010111.c.hs | 103 ++++++++++ .../expected/functions/reduction/r0101100.c | 18 ++ .../functions/reduction/r0101100.c.hs | 103 ++++++++++ .../expected/functions/reduction/r01011010.c | 18 ++ .../functions/reduction/r01011010.c.hs | 103 ++++++++++ .../expected/functions/reduction/r01011011.c | 18 ++ .../functions/reduction/r01011011.c.hs | 103 ++++++++++ .../expected/functions/reduction/r0101110.c | 18 ++ .../functions/reduction/r0101110.c.hs | 103 ++++++++++ .../expected/functions/reduction/r01011110.c | 18 ++ .../functions/reduction/r01011110.c.hs | 103 ++++++++++ .../expected/functions/reduction/r01011111.c | 18 ++ .../functions/reduction/r01011111.c.hs | 103 ++++++++++ .../functions/reduction/{r0110.c => r01100.c} | 1 + .../expected/functions/reduction/r01100.c.hs | 103 ++++++++++ .../reduction/{r0111.c => r011010.c} | 2 + .../expected/functions/reduction/r011010.c.hs | 103 ++++++++++ .../expected/functions/reduction/r011011.c | 13 ++ .../expected/functions/reduction/r011011.c.hs | 103 ++++++++++ .../expected/functions/reduction/r01110.c | 13 ++ .../expected/functions/reduction/r01110.c.hs | 103 ++++++++++ .../expected/functions/reduction/r011110.c | 13 ++ .../expected/functions/reduction/r011110.c.hs | 103 ++++++++++ .../expected/functions/reduction/r011111.c | 13 ++ .../expected/functions/reduction/r011111.c.hs | 103 ++++++++++ .../reduction/{r100000.c => r1000000.c} | 1 + .../functions/reduction/r1000000.c.hs | 103 ++++++++++ .../expected/functions/reduction/r1000001.c | 15 ++ .../functions/reduction/r1000001.c.hs | 103 ++++++++++ .../expected/functions/reduction/r100001.c | 4 +- .../expected/functions/reduction/r100001.c.hs | 103 ++++++++++ .../reduction/{r1001.c => r100010.c} | 2 + .../expected/functions/reduction/r100010.c.hs | 103 ++++++++++ .../expected/functions/reduction/r100011.c | 13 ++ .../expected/functions/reduction/r100011.c.hs | 103 ++++++++++ .../expected/functions/reduction/r1001000.c | 15 ++ .../functions/reduction/r1001000.c.hs | 103 ++++++++++ .../expected/functions/reduction/r1001001.c | 15 ++ .../functions/reduction/r1001001.c.hs | 103 ++++++++++ .../reduction/{r10001.c => r100101.c} | 1 + .../expected/functions/reduction/r100101.c.hs | 103 ++++++++++ .../expected/functions/reduction/r100110.c | 13 ++ .../expected/functions/reduction/r100110.c.hs | 103 ++++++++++ .../expected/functions/reduction/r100111.c | 13 ++ .../expected/functions/reduction/r100111.c.hs | 103 ++++++++++ .../reduction/{r10100.c => r101000.c} | 1 + .../expected/functions/reduction/r101000.c.hs | 103 ++++++++++ .../reduction/{r10101.c => r101001.c} | 1 + .../expected/functions/reduction/r101001.c.hs | 103 ++++++++++ .../reduction/{r1011.c => r101010.c} | 2 + .../expected/functions/reduction/r101010.c.hs | 103 ++++++++++ .../expected/functions/reduction/r101011.c | 13 ++ .../expected/functions/reduction/r101011.c.hs | 103 ++++++++++ .../expected/functions/reduction/r101100.c | 14 ++ .../expected/functions/reduction/r101100.c.hs | 103 ++++++++++ .../expected/functions/reduction/r101101.c | 14 ++ .../expected/functions/reduction/r101101.c.hs | 103 ++++++++++ .../expected/functions/reduction/r101110.c | 13 ++ .../expected/functions/reduction/r101110.c.hs | 103 ++++++++++ .../expected/functions/reduction/r101111.c | 13 ++ .../expected/functions/reduction/r101111.c.hs | 103 ++++++++++ .../expected/functions/reduction/r11000.c.hs | 103 ++++++++++ .../expected/functions/reduction/r11001.c.hs | 103 ++++++++++ .../expected/functions/reduction/r1101.c.hs | 103 ++++++++++ .../functions/reduction/{r111.c => r1110.c} | 1 + .../expected/functions/reduction/r1110.c.hs | 103 ++++++++++ .../test/expected/functions/reduction/r1111.c | 8 + .../expected/functions/reduction/r1111.c.hs | 103 ++++++++++ .../expected/llvm-26760/reduction/p0.path | 1 + .../expected/llvm-26760/reduction/p1.path | 1 + .../expected/llvm-26760/reduction/p2.path | 4 + .../test/expected/llvm-26760/reduction/x2.c | 7 + rtree-c/test/expected/main/reduction/r.c | 4 - rtree-c/test/expected/main/reduction/r0.c | 5 + rtree-c/test/expected/main/reduction/r0.c.hs | 17 ++ rtree-c/test/expected/main/reduction/r1.c | 5 + rtree-c/test/expected/main/reduction/r1.c.hs | 17 ++ .../expected/struct/reduction/r00000.c.hs | 126 ++++++++++++ .../expected/struct/reduction/r00001.c.hs | 126 ++++++++++++ .../expected/struct/reduction/r00010.c.hs | 126 ++++++++++++ .../struct/reduction/{r00011.c => r000110.c} | 1 + .../expected/struct/reduction/r000110.c.hs | 126 ++++++++++++ .../struct/reduction/{r10011.c => r000111.c} | 6 +- .../expected/struct/reduction/r000111.c.hs | 126 ++++++++++++ .../test/expected/struct/reduction/r0010.c.hs | 126 ++++++++++++ .../struct/reduction/{r0011.c => r00110.c} | 1 + .../expected/struct/reduction/r00110.c.hs | 126 ++++++++++++ .../struct/reduction/{r10101.c => r00111.c} | 4 +- .../expected/struct/reduction/r00111.c.hs | 126 ++++++++++++ .../expected/struct/reduction/r01000.c.hs | 126 ++++++++++++ .../expected/struct/reduction/r01001.c.hs | 126 ++++++++++++ .../expected/struct/reduction/r01010.c.hs | 126 ++++++++++++ .../struct/reduction/{r01011.c => r010110.c} | 1 + .../expected/struct/reduction/r010110.c.hs | 126 ++++++++++++ .../struct/reduction/{r11011.c => r010111.c} | 6 +- .../expected/struct/reduction/r010111.c.hs | 126 ++++++++++++ .../test/expected/struct/reduction/r0110.c.hs | 126 ++++++++++++ .../struct/reduction/{r0111.c => r01110.c} | 1 + .../expected/struct/reduction/r01110.c.hs | 126 ++++++++++++ .../struct/reduction/{r11101.c => r01111.c} | 4 +- .../expected/struct/reduction/r01111.c.hs | 126 ++++++++++++ rtree-c/test/expected/struct/reduction/r10.c | 6 + .../test/expected/struct/reduction/r10.c.hs | 126 ++++++++++++ .../test/expected/struct/reduction/r10000.c | 14 -- .../test/expected/struct/reduction/r10001.c | 13 -- .../test/expected/struct/reduction/r10010.c | 13 -- .../test/expected/struct/reduction/r10100.c | 13 -- .../test/expected/struct/reduction/r10110.c | 12 -- .../test/expected/struct/reduction/r101110.c | 13 -- .../test/expected/struct/reduction/r101111.c | 10 - rtree-c/test/expected/struct/reduction/r11.c | 6 + .../test/expected/struct/reduction/r11.c.hs | 126 ++++++++++++ .../test/expected/struct/reduction/r11000.c | 14 -- .../test/expected/struct/reduction/r11001.c | 13 -- .../test/expected/struct/reduction/r11010.c | 13 -- .../test/expected/struct/reduction/r11100.c | 13 -- .../test/expected/struct/reduction/r11110.c | 12 -- .../test/expected/struct/reduction/r111110.c | 13 -- .../test/expected/struct/reduction/r111111.c | 10 - rtree-c/test/expected/structfn/main.c | 2 +- .../reduction/{r000000.c => r0000000.c} | 13 +- .../expected/structfn/reduction/r0000000.c.hs | 103 ++++++++++ .../reduction/{r000001.c => r0000001.c} | 13 +- .../expected/structfn/reduction/r0000001.c.hs | 103 ++++++++++ .../reduction/{r101000.c => r0000010.c} | 13 +- .../expected/structfn/reduction/r0000010.c.hs | 103 ++++++++++ .../reduction/{r00100.c => r0000011.c} | 10 +- .../expected/structfn/reduction/r0000011.c.hs | 103 ++++++++++ .../reduction/{r110000.c => r0000100.c} | 16 +- .../expected/structfn/reduction/r0000100.c.hs | 103 ++++++++++ .../reduction/{r110001.c => r0000101.c} | 16 +- .../expected/structfn/reduction/r0000101.c.hs | 103 ++++++++++ .../reduction/{r01100.c => r0000110.c} | 10 +- .../expected/structfn/reduction/r0000110.c.hs | 103 ++++++++++ .../reduction/{r111000.c => r0000111.c} | 13 +- .../expected/structfn/reduction/r0000111.c.hs | 103 ++++++++++ .../expected/structfn/reduction/r000100.c | 13 -- .../reduction/{r100000.c => r0001000.c} | 16 +- .../expected/structfn/reduction/r0001000.c.hs | 103 ++++++++++ .../reduction/{r100001.c => r0001001.c} | 16 +- .../expected/structfn/reduction/r0001001.c.hs | 103 ++++++++++ .../expected/structfn/reduction/r000101.c | 13 -- .../expected/structfn/reduction/r0001010.c | 15 ++ .../expected/structfn/reduction/r0001010.c.hs | 103 ++++++++++ .../expected/structfn/reduction/r0001011.c | 15 ++ .../expected/structfn/reduction/r0001011.c.hs | 103 ++++++++++ .../expected/structfn/reduction/r0001100.c | 17 ++ .../expected/structfn/reduction/r0001100.c.hs | 103 ++++++++++ .../expected/structfn/reduction/r0001101.c | 16 ++ .../expected/structfn/reduction/r0001101.c.hs | 103 ++++++++++ .../expected/structfn/reduction/r0001110.c | 15 ++ .../expected/structfn/reduction/r0001110.c.hs | 103 ++++++++++ .../expected/structfn/reduction/r0001111.c | 15 ++ .../expected/structfn/reduction/r0001111.c.hs | 103 ++++++++++ .../reduction/{r000010.c => r0010000.c} | 13 +- .../expected/structfn/reduction/r0010000.c.hs | 103 ++++++++++ .../reduction/{r000011.c => r0010001.c} | 13 +- .../expected/structfn/reduction/r0010001.c.hs | 103 ++++++++++ .../reduction/{r1010010.c => r0010010.c} | 14 +- .../expected/structfn/reduction/r0010010.c.hs | 103 ++++++++++ .../reduction/{r001011.c => r00100110.c} | 12 +- .../structfn/reduction/r00100110.c.hs | 103 ++++++++++ .../reduction/{r1010011.c => r00100111.c} | 15 +- .../structfn/reduction/r00100111.c.hs | 103 ++++++++++ .../reduction/{r010010.c => r0010100.c} | 13 +- .../expected/structfn/reduction/r0010100.c.hs | 103 ++++++++++ .../reduction/{r010011.c => r0010101.c} | 13 +- .../expected/structfn/reduction/r0010101.c.hs | 103 ++++++++++ .../reduction/{r1110010.c => r0010110.c} | 14 +- .../expected/structfn/reduction/r0010110.c.hs | 103 ++++++++++ .../reduction/{r1110011.c => r00101110.c} | 15 +- .../structfn/reduction/r00101110.c.hs | 103 ++++++++++ .../reduction/{r011011.c => r00101111.c} | 12 +- .../structfn/reduction/r00101111.c.hs | 103 ++++++++++ .../expected/structfn/reduction/r0011000.c | 17 ++ .../expected/structfn/reduction/r0011000.c.hs | 103 ++++++++++ .../expected/structfn/reduction/r0011001.c | 16 ++ .../expected/structfn/reduction/r0011001.c.hs | 103 ++++++++++ .../reduction/{r001010.c => r0011010.c} | 11 +- .../expected/structfn/reduction/r0011010.c.hs | 103 ++++++++++ .../expected/structfn/reduction/r00110110.c | 16 ++ .../structfn/reduction/r00110110.c.hs | 103 ++++++++++ .../expected/structfn/reduction/r00110111.c | 16 ++ .../structfn/reduction/r00110111.c.hs | 103 ++++++++++ .../expected/structfn/reduction/r0011100.c | 17 ++ .../expected/structfn/reduction/r0011100.c.hs | 103 ++++++++++ .../expected/structfn/reduction/r0011101.c | 16 ++ .../expected/structfn/reduction/r0011101.c.hs | 103 ++++++++++ .../reduction/{r011010.c => r0011110.c} | 11 +- .../expected/structfn/reduction/r0011110.c.hs | 103 ++++++++++ .../expected/structfn/reduction/r00111110.c | 16 ++ .../structfn/reduction/r00111110.c.hs | 103 ++++++++++ .../expected/structfn/reduction/r00111111.c | 16 ++ .../structfn/reduction/r00111111.c.hs | 103 ++++++++++ .../expected/structfn/reduction/r010000.c | 17 +- .../expected/structfn/reduction/r010000.c.hs | 103 ++++++++++ .../expected/structfn/reduction/r010001.c | 16 +- .../expected/structfn/reduction/r010001.c.hs | 103 ++++++++++ .../structfn/reduction/{r00011.c => r01001.c} | 10 +- .../expected/structfn/reduction/r01001.c.hs | 103 ++++++++++ .../structfn/reduction/{r00110.c => r01010.c} | 8 +- .../expected/structfn/reduction/r01010.c.hs | 103 ++++++++++ .../reduction/{r101011.c => r010110.c} | 12 +- .../expected/structfn/reduction/r010110.c.hs | 103 ++++++++++ .../reduction/{r00111.c => r010111.c} | 9 +- .../expected/structfn/reduction/r010111.c.hs | 103 ++++++++++ .../reduction/{r010100.c => r011000.c} | 12 +- .../expected/structfn/reduction/r011000.c.hs | 103 ++++++++++ .../reduction/{r010101.c => r011001.c} | 12 +- .../expected/structfn/reduction/r011001.c.hs | 103 ++++++++++ .../structfn/reduction/{r01011.c => r01101.c} | 10 +- .../expected/structfn/reduction/r01101.c.hs | 103 ++++++++++ .../test/expected/structfn/reduction/r01110.c | 8 +- .../expected/structfn/reduction/r01110.c.hs | 103 ++++++++++ .../reduction/{r111011.c => r011110.c} | 12 +- .../expected/structfn/reduction/r011110.c.hs | 103 ++++++++++ .../reduction/{r01111.c => r011111.c} | 9 +- .../expected/structfn/reduction/r011111.c.hs | 103 ++++++++++ .../structfn/reduction/{r110010.c => r1000.c} | 9 +- .../expected/structfn/reduction/r1000.c.hs | 103 ++++++++++ .../expected/structfn/reduction/r100011.c | 14 -- .../reduction/{r110011.c => r10010.c} | 10 +- .../expected/structfn/reduction/r10010.c.hs | 103 ++++++++++ .../expected/structfn/reduction/r100100.c | 12 -- .../expected/structfn/reduction/r100101.c | 12 -- .../test/expected/structfn/reduction/r10011.c | 12 +- .../expected/structfn/reduction/r10011.c.hs | 103 ++++++++++ .../structfn/reduction/{r100010.c => r1010.c} | 9 +- .../expected/structfn/reduction/r1010.c.hs | 103 ++++++++++ .../expected/structfn/reduction/r101010.c | 12 -- .../test/expected/structfn/reduction/r10110.c | 12 ++ .../expected/structfn/reduction/r10110.c.hs | 103 ++++++++++ .../expected/structfn/reduction/r101100.c | 13 -- .../expected/structfn/reduction/r1011010.c | 15 -- .../expected/structfn/reduction/r1011011.c | 14 -- .../test/expected/structfn/reduction/r10111.c | 12 ++ .../expected/structfn/reduction/r10111.c.hs | 103 ++++++++++ .../expected/structfn/reduction/r101110.c | 11 -- .../structfn/reduction/{r111110.c => r110.c} | 7 +- .../expected/structfn/reduction/r110.c.hs | 103 ++++++++++ .../expected/structfn/reduction/r110100.c | 12 -- .../expected/structfn/reduction/r110101.c | 12 -- .../structfn/reduction/{r11011.c => r1110.c} | 8 +- .../expected/structfn/reduction/r1110.c.hs | 103 ++++++++++ .../expected/structfn/reduction/r111010.c | 12 -- .../structfn/reduction/{r101111.c => r1111.c} | 8 +- .../expected/structfn/reduction/r1111.c.hs | 103 ++++++++++ .../expected/structfn/reduction/r111100.c | 13 -- .../expected/structfn/reduction/r1111010.c | 15 -- .../expected/structfn/reduction/r1111011.c | 14 -- .../expected/structfn/reduction/r111111.c | 10 - .../typedef/reduction/{r0000.c => r00000.c} | 1 + .../expected/typedef/reduction/r00000.c.hs | 94 +++++++++ .../typedef/reduction/{r0001.c => r00001.c} | 1 + .../expected/typedef/reduction/r00001.c.hs | 94 +++++++++ .../typedef/reduction/{r0010.c => r00010.c} | 1 + .../expected/typedef/reduction/r00010.c.hs | 94 +++++++++ .../typedef/reduction/{r0011.c => r000110.c} | 2 + .../expected/typedef/reduction/r000110.c.hs | 94 +++++++++ .../test/expected/typedef/reduction/r000111.c | 14 ++ .../expected/typedef/reduction/r000111.c.hs | 94 +++++++++ .../test/expected/typedef/reduction/r00100.c | 15 ++ .../expected/typedef/reduction/r00100.c.hs | 94 +++++++++ .../test/expected/typedef/reduction/r00101.c | 14 ++ .../expected/typedef/reduction/r00101.c.hs | 94 +++++++++ .../test/expected/typedef/reduction/r00110.c | 14 ++ .../expected/typedef/reduction/r00110.c.hs | 94 +++++++++ .../test/expected/typedef/reduction/r001110.c | 14 ++ .../expected/typedef/reduction/r001110.c.hs | 94 +++++++++ .../test/expected/typedef/reduction/r001111.c | 14 ++ .../expected/typedef/reduction/r001111.c.hs | 94 +++++++++ .../typedef/reduction/{r0100.c => r01000.c} | 1 + .../expected/typedef/reduction/r01000.c.hs | 94 +++++++++ .../typedef/reduction/{r0101.c => r01001.c} | 1 + .../expected/typedef/reduction/r01001.c.hs | 94 +++++++++ .../typedef/reduction/{r0110.c => r01010.c} | 1 + .../expected/typedef/reduction/r01010.c.hs | 94 +++++++++ .../typedef/reduction/{r0111.c => r010110.c} | 2 + .../expected/typedef/reduction/r010110.c.hs | 94 +++++++++ .../test/expected/typedef/reduction/r010111.c | 14 ++ .../expected/typedef/reduction/r010111.c.hs | 94 +++++++++ .../test/expected/typedef/reduction/r01100.c | 15 ++ .../expected/typedef/reduction/r01100.c.hs | 94 +++++++++ .../test/expected/typedef/reduction/r01101.c | 14 ++ .../expected/typedef/reduction/r01101.c.hs | 94 +++++++++ .../test/expected/typedef/reduction/r01110.c | 14 ++ .../expected/typedef/reduction/r01110.c.hs | 94 +++++++++ .../test/expected/typedef/reduction/r011110.c | 14 ++ .../expected/typedef/reduction/r011110.c.hs | 94 +++++++++ .../test/expected/typedef/reduction/r011111.c | 14 ++ .../expected/typedef/reduction/r011111.c.hs | 94 +++++++++ .../test/expected/typedef/reduction/r100.c.hs | 94 +++++++++ .../test/expected/typedef/reduction/r101.c.hs | 94 +++++++++ .../test/expected/typedef/reduction/r110.c.hs | 94 +++++++++ .../typedef/reduction/{r111.c => r1110.c} | 1 + .../expected/typedef/reduction/r1110.c.hs | 94 +++++++++ .../test/expected/typedef/reduction/r1111.c | 9 + .../expected/typedef/reduction/r1111.c.hs | 94 +++++++++ .../expected/while-loops/reduction/r0000.c.hs | 63 ++++++ .../expected/while-loops/reduction/r0001.c.hs | 63 ++++++ .../expected/while-loops/reduction/r0010.c.hs | 63 ++++++ .../expected/while-loops/reduction/r0011.c.hs | 63 ++++++ .../expected/while-loops/reduction/r0100.c | 12 ++ .../expected/while-loops/reduction/r0100.c.hs | 63 ++++++ .../expected/while-loops/reduction/r0101.c | 12 ++ .../expected/while-loops/reduction/r0101.c.hs | 63 ++++++ .../while-loops/reduction/{r01.c => r011.c} | 1 + .../expected/while-loops/reduction/r011.c.hs | 63 ++++++ .../test/expected/while-loops/reduction/r1.c | 5 - .../expected/while-loops/reduction/r100.c | 10 + .../expected/while-loops/reduction/r100.c.hs | 63 ++++++ .../expected/while-loops/reduction/r101.c | 10 + .../expected/while-loops/reduction/r101.c.hs | 63 ++++++ .../expected/while-loops/reduction/r110.c | 7 + .../expected/while-loops/reduction/r110.c.hs | 63 ++++++ .../expected/while-loops/reduction/r111.c | 7 + .../expected/while-loops/reduction/r111.c.hs | 63 ++++++ rtree-c/test/src/ReduceCSpec.hs | 18 +- 718 files changed, 36144 insertions(+), 754 deletions(-) create mode 100644 rtree-c/test/expected/add/reduction/r000000000.c.hs create mode 100644 rtree-c/test/expected/add/reduction/r000000001.c.hs create mode 100644 rtree-c/test/expected/add/reduction/r000000010.c.hs create mode 100644 rtree-c/test/expected/add/reduction/r000000011.c.hs rename rtree-c/test/expected/add/reduction/{r0000001.c => r00000010.c} (88%) create mode 100644 rtree-c/test/expected/add/reduction/r00000010.c.hs create mode 100644 rtree-c/test/expected/add/reduction/r00000011.c create mode 100644 rtree-c/test/expected/add/reduction/r00000011.c.hs create mode 100644 rtree-c/test/expected/add/reduction/r000001000.c.hs create mode 100644 rtree-c/test/expected/add/reduction/r000001001.c.hs create mode 100644 rtree-c/test/expected/add/reduction/r000001010.c.hs create mode 100644 rtree-c/test/expected/add/reduction/r000001011.c.hs rename rtree-c/test/expected/add/reduction/{r0000011.c => r00000110.c} (88%) create mode 100644 rtree-c/test/expected/add/reduction/r00000110.c.hs create mode 100644 rtree-c/test/expected/add/reduction/r00000111.c create mode 100644 rtree-c/test/expected/add/reduction/r00000111.c.hs create mode 100644 rtree-c/test/expected/add/reduction/r00001000.c.hs create mode 100644 rtree-c/test/expected/add/reduction/r00001001.c.hs create mode 100644 rtree-c/test/expected/add/reduction/r00001010.c.hs create mode 100644 rtree-c/test/expected/add/reduction/r00001011.c.hs rename rtree-c/test/expected/add/reduction/{r000011.c => r0000110.c} (86%) create mode 100644 rtree-c/test/expected/add/reduction/r0000110.c.hs create mode 100644 rtree-c/test/expected/add/reduction/r0000111.c create mode 100644 rtree-c/test/expected/add/reduction/r0000111.c.hs rename rtree-c/test/expected/add/reduction/{r0001000.c => r00010000.c} (88%) create mode 100644 rtree-c/test/expected/add/reduction/r00010000.c.hs rename rtree-c/test/expected/add/reduction/{r0001001.c => r00010001.c} (88%) create mode 100644 rtree-c/test/expected/add/reduction/r00010001.c.hs create mode 100644 rtree-c/test/expected/add/reduction/r00010010.c create mode 100644 rtree-c/test/expected/add/reduction/r00010010.c.hs create mode 100644 rtree-c/test/expected/add/reduction/r00010011.c create mode 100644 rtree-c/test/expected/add/reduction/r00010011.c.hs create mode 100644 rtree-c/test/expected/add/reduction/r0001010.c.hs create mode 100644 rtree-c/test/expected/add/reduction/r0001011.c.hs create mode 100644 rtree-c/test/expected/add/reduction/r00011000.c create mode 100644 rtree-c/test/expected/add/reduction/r00011000.c.hs create mode 100644 rtree-c/test/expected/add/reduction/r00011001.c create mode 100644 rtree-c/test/expected/add/reduction/r00011001.c.hs create mode 100644 rtree-c/test/expected/add/reduction/r00011010.c create mode 100644 rtree-c/test/expected/add/reduction/r00011010.c.hs create mode 100644 rtree-c/test/expected/add/reduction/r00011011.c create mode 100644 rtree-c/test/expected/add/reduction/r00011011.c.hs rename rtree-c/test/expected/add/reduction/{r00011.c => r0001110.c} (73%) create mode 100644 rtree-c/test/expected/add/reduction/r0001110.c.hs create mode 100644 rtree-c/test/expected/add/reduction/r0001111.c create mode 100644 rtree-c/test/expected/add/reduction/r0001111.c.hs create mode 100644 rtree-c/test/expected/add/reduction/r001000.c.hs create mode 100644 rtree-c/test/expected/add/reduction/r001001.c.hs rename rtree-c/test/expected/add/reduction/{r00101.c => r001010.c} (84%) create mode 100644 rtree-c/test/expected/add/reduction/r001010.c.hs create mode 100644 rtree-c/test/expected/add/reduction/r001011.c create mode 100644 rtree-c/test/expected/add/reduction/r001011.c.hs rename rtree-c/test/expected/add/reduction/{r001100.c => r0011000.c} (86%) create mode 100644 rtree-c/test/expected/add/reduction/r0011000.c.hs rename rtree-c/test/expected/add/reduction/{r001101.c => r0011001.c} (86%) create mode 100644 rtree-c/test/expected/add/reduction/r0011001.c.hs rename rtree-c/test/expected/add/reduction/{r00111.c => r0011010.c} (73%) create mode 100644 rtree-c/test/expected/add/reduction/r0011010.c.hs create mode 100644 rtree-c/test/expected/add/reduction/r0011011.c create mode 100644 rtree-c/test/expected/add/reduction/r0011011.c.hs create mode 100644 rtree-c/test/expected/add/reduction/r0011100.c create mode 100644 rtree-c/test/expected/add/reduction/r0011100.c.hs create mode 100644 rtree-c/test/expected/add/reduction/r0011101.c create mode 100644 rtree-c/test/expected/add/reduction/r0011101.c.hs create mode 100644 rtree-c/test/expected/add/reduction/r0011110.c create mode 100644 rtree-c/test/expected/add/reduction/r0011110.c.hs create mode 100644 rtree-c/test/expected/add/reduction/r0011111.c create mode 100644 rtree-c/test/expected/add/reduction/r0011111.c.hs rename rtree-c/test/expected/add/reduction/{r01000.c => r010000.c} (84%) create mode 100644 rtree-c/test/expected/add/reduction/r010000.c.hs rename rtree-c/test/expected/add/reduction/{r01001.c => r010001.c} (84%) create mode 100644 rtree-c/test/expected/add/reduction/r010001.c.hs rename rtree-c/test/expected/add/reduction/{r0101.c => r010010.c} (68%) create mode 100644 rtree-c/test/expected/add/reduction/r010010.c.hs create mode 100644 rtree-c/test/expected/add/reduction/r010011.c create mode 100644 rtree-c/test/expected/add/reduction/r010011.c.hs create mode 100644 rtree-c/test/expected/add/reduction/r010100.c create mode 100644 rtree-c/test/expected/add/reduction/r010100.c.hs create mode 100644 rtree-c/test/expected/add/reduction/r010101.c create mode 100644 rtree-c/test/expected/add/reduction/r010101.c.hs create mode 100644 rtree-c/test/expected/add/reduction/r010110.c create mode 100644 rtree-c/test/expected/add/reduction/r010110.c.hs create mode 100644 rtree-c/test/expected/add/reduction/r010111.c create mode 100644 rtree-c/test/expected/add/reduction/r010111.c.hs rename rtree-c/test/expected/add/reduction/{r0110.c => r01100.c} (82%) create mode 100644 rtree-c/test/expected/add/reduction/r01100.c.hs rename rtree-c/test/expected/add/reduction/{r0111.c => r011010.c} (68%) create mode 100644 rtree-c/test/expected/add/reduction/r011010.c.hs create mode 100644 rtree-c/test/expected/add/reduction/r011011.c create mode 100644 rtree-c/test/expected/add/reduction/r011011.c.hs create mode 100644 rtree-c/test/expected/add/reduction/r01110.c create mode 100644 rtree-c/test/expected/add/reduction/r01110.c.hs create mode 100644 rtree-c/test/expected/add/reduction/r011110.c create mode 100644 rtree-c/test/expected/add/reduction/r011110.c.hs create mode 100644 rtree-c/test/expected/add/reduction/r011111.c create mode 100644 rtree-c/test/expected/add/reduction/r011111.c.hs create mode 100644 rtree-c/test/expected/add/reduction/r1000.c.hs create mode 100644 rtree-c/test/expected/add/reduction/r1001.c.hs create mode 100644 rtree-c/test/expected/add/reduction/r1010.c.hs create mode 100644 rtree-c/test/expected/add/reduction/r1011.c.hs rename rtree-c/test/expected/add/reduction/{r11.c => r110.c} (69%) create mode 100644 rtree-c/test/expected/add/reduction/r110.c.hs create mode 100644 rtree-c/test/expected/add/reduction/r111.c create mode 100644 rtree-c/test/expected/add/reduction/r111.c.hs create mode 100644 rtree-c/test/expected/constant/reduction/r00000.c.hs create mode 100644 rtree-c/test/expected/constant/reduction/r00001.c.hs create mode 100644 rtree-c/test/expected/constant/reduction/r0001.c.hs create mode 100644 rtree-c/test/expected/constant/reduction/r001.c.hs create mode 100644 rtree-c/test/expected/constant/reduction/r01000.c.hs create mode 100644 rtree-c/test/expected/constant/reduction/r01001.c.hs create mode 100644 rtree-c/test/expected/constant/reduction/r0101.c.hs rename rtree-c/test/expected/constant/reduction/{r011.c => r0110.c} (76%) create mode 100644 rtree-c/test/expected/constant/reduction/r0110.c.hs create mode 100644 rtree-c/test/expected/constant/reduction/r0111.c create mode 100644 rtree-c/test/expected/constant/reduction/r0111.c.hs create mode 100644 rtree-c/test/expected/constant/reduction/r10000.c.hs create mode 100644 rtree-c/test/expected/constant/reduction/r10001.c.hs create mode 100644 rtree-c/test/expected/constant/reduction/r1001.c.hs create mode 100644 rtree-c/test/expected/constant/reduction/r101.c.hs create mode 100644 rtree-c/test/expected/constant/reduction/r11000.c.hs create mode 100644 rtree-c/test/expected/constant/reduction/r11001.c.hs create mode 100644 rtree-c/test/expected/constant/reduction/r1101.c.hs rename rtree-c/test/expected/constant/reduction/{r111.c => r1110.c} (75%) create mode 100644 rtree-c/test/expected/constant/reduction/r1110.c.hs create mode 100644 rtree-c/test/expected/constant/reduction/r1111.c create mode 100644 rtree-c/test/expected/constant/reduction/r1111.c.hs create mode 100644 rtree-c/test/expected/declaration/reduction/r0000.c.hs create mode 100644 rtree-c/test/expected/declaration/reduction/r0001.c.hs create mode 100644 rtree-c/test/expected/declaration/reduction/r0010.c.hs create mode 100644 rtree-c/test/expected/declaration/reduction/r0011.c.hs rename rtree-c/test/expected/declaration/reduction/{r01.c => r010.c} (72%) create mode 100644 rtree-c/test/expected/declaration/reduction/r010.c.hs create mode 100644 rtree-c/test/expected/declaration/reduction/r011.c create mode 100644 rtree-c/test/expected/declaration/reduction/r011.c.hs create mode 100644 rtree-c/test/expected/declaration/reduction/r100.c.hs create mode 100644 rtree-c/test/expected/declaration/reduction/r101.c.hs rename rtree-c/test/expected/declaration/reduction/{r11.c => r110.c} (69%) create mode 100644 rtree-c/test/expected/declaration/reduction/r110.c.hs create mode 100644 rtree-c/test/expected/declaration/reduction/r111.c create mode 100644 rtree-c/test/expected/declaration/reduction/r111.c.hs create mode 100644 rtree-c/test/expected/definition/reduction/r000.c.hs rename rtree-c/test/expected/definition/reduction/{r001.c => r0010.c} (78%) create mode 100644 rtree-c/test/expected/definition/reduction/r0010.c.hs create mode 100644 rtree-c/test/expected/definition/reduction/r0011.c create mode 100644 rtree-c/test/expected/definition/reduction/r0011.c.hs rename rtree-c/test/expected/definition/reduction/{r010.c => r0100.c} (78%) create mode 100644 rtree-c/test/expected/definition/reduction/r0100.c.hs rename rtree-c/test/expected/definition/reduction/{r011.c => r01010.c} (62%) create mode 100644 rtree-c/test/expected/definition/reduction/r01010.c.hs create mode 100644 rtree-c/test/expected/definition/reduction/r01011.c create mode 100644 rtree-c/test/expected/definition/reduction/r01011.c.hs create mode 100644 rtree-c/test/expected/definition/reduction/r0110.c create mode 100644 rtree-c/test/expected/definition/reduction/r0110.c.hs create mode 100644 rtree-c/test/expected/definition/reduction/r01110.c create mode 100644 rtree-c/test/expected/definition/reduction/r01110.c.hs create mode 100644 rtree-c/test/expected/definition/reduction/r01111.c create mode 100644 rtree-c/test/expected/definition/reduction/r01111.c.hs create mode 100644 rtree-c/test/expected/definition/reduction/r10.c.hs rename rtree-c/test/expected/definition/reduction/{r11.c => r110.c} (68%) create mode 100644 rtree-c/test/expected/definition/reduction/r110.c.hs create mode 100644 rtree-c/test/expected/definition/reduction/r111.c create mode 100644 rtree-c/test/expected/definition/reduction/r111.c.hs rename rtree-c/test/expected/for/reduction/{r00000.c => r000000.c} (84%) create mode 100644 rtree-c/test/expected/for/reduction/r000000.c.hs create mode 100644 rtree-c/test/expected/for/reduction/r000001.c create mode 100644 rtree-c/test/expected/for/reduction/r000001.c.hs rename rtree-c/test/expected/for/reduction/{r00001.c => r000010.c} (84%) create mode 100644 rtree-c/test/expected/for/reduction/r000010.c.hs create mode 100644 rtree-c/test/expected/for/reduction/r000011.c create mode 100644 rtree-c/test/expected/for/reduction/r000011.c.hs rename rtree-c/test/expected/for/reduction/{r0001.c => r00010.c} (82%) create mode 100644 rtree-c/test/expected/for/reduction/r00010.c.hs create mode 100644 rtree-c/test/expected/for/reduction/r00011.c create mode 100644 rtree-c/test/expected/for/reduction/r00011.c.hs rename rtree-c/test/expected/for/reduction/{r001.c => r0010.c} (78%) create mode 100644 rtree-c/test/expected/for/reduction/r0010.c.hs create mode 100644 rtree-c/test/expected/for/reduction/r0011.c create mode 100644 rtree-c/test/expected/for/reduction/r0011.c.hs rename rtree-c/test/expected/for/reduction/{r01000.c => r010000.c} (84%) create mode 100644 rtree-c/test/expected/for/reduction/r010000.c.hs create mode 100644 rtree-c/test/expected/for/reduction/r010001.c create mode 100644 rtree-c/test/expected/for/reduction/r010001.c.hs rename rtree-c/test/expected/for/reduction/{r01001.c => r010010.c} (84%) create mode 100644 rtree-c/test/expected/for/reduction/r010010.c.hs create mode 100644 rtree-c/test/expected/for/reduction/r010011.c create mode 100644 rtree-c/test/expected/for/reduction/r010011.c.hs rename rtree-c/test/expected/for/reduction/{r0101.c => r01010.c} (81%) create mode 100644 rtree-c/test/expected/for/reduction/r01010.c.hs create mode 100644 rtree-c/test/expected/for/reduction/r01011.c create mode 100644 rtree-c/test/expected/for/reduction/r01011.c.hs rename rtree-c/test/expected/for/reduction/{r011.c => r0110.c} (78%) create mode 100644 rtree-c/test/expected/for/reduction/r0110.c.hs create mode 100644 rtree-c/test/expected/for/reduction/r0111.c create mode 100644 rtree-c/test/expected/for/reduction/r0111.c.hs rename rtree-c/test/expected/for/reduction/{r1.c => r10.c} (61%) create mode 100644 rtree-c/test/expected/for/reduction/r10.c.hs create mode 100644 rtree-c/test/expected/for/reduction/r11.c create mode 100644 rtree-c/test/expected/for/reduction/r11.c.hs rename rtree-c/test/expected/functions/reduction/{r00000000.c => r000000000.c} (89%) create mode 100644 rtree-c/test/expected/functions/reduction/r000000000.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r000000001.c create mode 100644 rtree-c/test/expected/functions/reduction/r000000001.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r00000001.c.hs rename rtree-c/test/expected/functions/reduction/{r000001.c => r00000010.c} (76%) create mode 100644 rtree-c/test/expected/functions/reduction/r00000010.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r00000011.c create mode 100644 rtree-c/test/expected/functions/reduction/r00000011.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r000001000.c create mode 100644 rtree-c/test/expected/functions/reduction/r000001000.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r000001001.c create mode 100644 rtree-c/test/expected/functions/reduction/r000001001.c.hs rename rtree-c/test/expected/functions/reduction/{r0000001.c => r00000101.c} (88%) create mode 100644 rtree-c/test/expected/functions/reduction/r00000101.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r00000110.c create mode 100644 rtree-c/test/expected/functions/reduction/r00000110.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r00000111.c create mode 100644 rtree-c/test/expected/functions/reduction/r00000111.c.hs rename rtree-c/test/expected/functions/reduction/{r00001000.c => r0000100000.c} (81%) create mode 100644 rtree-c/test/expected/functions/reduction/r0000100000.c.hs rename rtree-c/test/expected/functions/reduction/{r00001001.c => r0000100001.c} (81%) create mode 100644 rtree-c/test/expected/functions/reduction/r0000100001.c.hs rename rtree-c/test/expected/functions/reduction/{r0000101.c => r000010001.c} (79%) create mode 100644 rtree-c/test/expected/functions/reduction/r000010001.c.hs rename rtree-c/test/expected/functions/reduction/{r000011.c => r000010010.c} (68%) create mode 100644 rtree-c/test/expected/functions/reduction/r000010010.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r000010011.c create mode 100644 rtree-c/test/expected/functions/reduction/r000010011.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r0000101000.c create mode 100644 rtree-c/test/expected/functions/reduction/r0000101000.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r0000101001.c create mode 100644 rtree-c/test/expected/functions/reduction/r0000101001.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r000010101.c create mode 100644 rtree-c/test/expected/functions/reduction/r000010101.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r000010110.c create mode 100644 rtree-c/test/expected/functions/reduction/r000010110.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r000010111.c create mode 100644 rtree-c/test/expected/functions/reduction/r000010111.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r0000110000.c create mode 100644 rtree-c/test/expected/functions/reduction/r0000110000.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r0000110001.c create mode 100644 rtree-c/test/expected/functions/reduction/r0000110001.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r000011001.c create mode 100644 rtree-c/test/expected/functions/reduction/r000011001.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r000011010.c create mode 100644 rtree-c/test/expected/functions/reduction/r000011010.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r000011011.c create mode 100644 rtree-c/test/expected/functions/reduction/r000011011.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r0000111000.c create mode 100644 rtree-c/test/expected/functions/reduction/r0000111000.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r0000111001.c create mode 100644 rtree-c/test/expected/functions/reduction/r0000111001.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r000011101.c create mode 100644 rtree-c/test/expected/functions/reduction/r000011101.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r000011110.c create mode 100644 rtree-c/test/expected/functions/reduction/r000011110.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r000011111.c create mode 100644 rtree-c/test/expected/functions/reduction/r000011111.c.hs rename rtree-c/test/expected/functions/reduction/{r0001000.c => r00010000.c} (88%) create mode 100644 rtree-c/test/expected/functions/reduction/r00010000.c.hs rename rtree-c/test/expected/functions/reduction/{r0001001.c => r00010001.c} (88%) create mode 100644 rtree-c/test/expected/functions/reduction/r00010001.c.hs rename rtree-c/test/expected/functions/reduction/{r000101.c => r00010010.c} (76%) create mode 100644 rtree-c/test/expected/functions/reduction/r00010010.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r00010011.c create mode 100644 rtree-c/test/expected/functions/reduction/r00010011.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r00010100.c create mode 100644 rtree-c/test/expected/functions/reduction/r00010100.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r00010101.c create mode 100644 rtree-c/test/expected/functions/reduction/r00010101.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r00010110.c create mode 100644 rtree-c/test/expected/functions/reduction/r00010110.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r00010111.c create mode 100644 rtree-c/test/expected/functions/reduction/r00010111.c.hs rename rtree-c/test/expected/functions/reduction/{r0001100.c => r000110000.c} (79%) create mode 100644 rtree-c/test/expected/functions/reduction/r000110000.c.hs rename rtree-c/test/expected/functions/reduction/{r0001101.c => r000110001.c} (79%) create mode 100644 rtree-c/test/expected/functions/reduction/r000110001.c.hs rename rtree-c/test/expected/functions/reduction/{r000111.c => r000110010.c} (68%) create mode 100644 rtree-c/test/expected/functions/reduction/r000110010.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r000110011.c create mode 100644 rtree-c/test/expected/functions/reduction/r000110011.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r000110100.c create mode 100644 rtree-c/test/expected/functions/reduction/r000110100.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r000110101.c create mode 100644 rtree-c/test/expected/functions/reduction/r000110101.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r000110110.c create mode 100644 rtree-c/test/expected/functions/reduction/r000110110.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r000110111.c create mode 100644 rtree-c/test/expected/functions/reduction/r000110111.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r000111000.c create mode 100644 rtree-c/test/expected/functions/reduction/r000111000.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r000111001.c create mode 100644 rtree-c/test/expected/functions/reduction/r000111001.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r000111010.c create mode 100644 rtree-c/test/expected/functions/reduction/r000111010.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r000111011.c create mode 100644 rtree-c/test/expected/functions/reduction/r000111011.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r000111100.c create mode 100644 rtree-c/test/expected/functions/reduction/r000111100.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r000111101.c create mode 100644 rtree-c/test/expected/functions/reduction/r000111101.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r000111110.c create mode 100644 rtree-c/test/expected/functions/reduction/r000111110.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r000111111.c create mode 100644 rtree-c/test/expected/functions/reduction/r000111111.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r0010000.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r0010001.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r001001.c.hs rename rtree-c/test/expected/functions/reduction/{r00101.c => r001010.c} (84%) create mode 100644 rtree-c/test/expected/functions/reduction/r001010.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r001011.c create mode 100644 rtree-c/test/expected/functions/reduction/r001011.c.hs rename rtree-c/test/expected/functions/reduction/{r0011000.c => r00110000.c} (88%) create mode 100644 rtree-c/test/expected/functions/reduction/r00110000.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r00110001.c create mode 100644 rtree-c/test/expected/functions/reduction/r00110001.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r0011001.c.hs rename rtree-c/test/expected/functions/reduction/{r00111.c => r0011010.c} (72%) create mode 100644 rtree-c/test/expected/functions/reduction/r0011010.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r0011011.c create mode 100644 rtree-c/test/expected/functions/reduction/r0011011.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r00111000.c create mode 100644 rtree-c/test/expected/functions/reduction/r00111000.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r00111001.c create mode 100644 rtree-c/test/expected/functions/reduction/r00111001.c.hs rename rtree-c/test/expected/functions/reduction/{r001101.c => r0011101.c} (86%) create mode 100644 rtree-c/test/expected/functions/reduction/r0011101.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r0011110.c create mode 100644 rtree-c/test/expected/functions/reduction/r0011110.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r0011111.c create mode 100644 rtree-c/test/expected/functions/reduction/r0011111.c.hs rename rtree-c/test/expected/functions/reduction/{r01000.c => r0100000.c} (73%) create mode 100644 rtree-c/test/expected/functions/reduction/r0100000.c.hs rename rtree-c/test/expected/functions/reduction/{r01001.c => r01000010.c} (64%) create mode 100644 rtree-c/test/expected/functions/reduction/r01000010.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r01000011.c create mode 100644 rtree-c/test/expected/functions/reduction/r01000011.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r0100010.c create mode 100644 rtree-c/test/expected/functions/reduction/r0100010.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r01000110.c create mode 100644 rtree-c/test/expected/functions/reduction/r01000110.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r01000111.c create mode 100644 rtree-c/test/expected/functions/reduction/r01000111.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r0100100.c create mode 100644 rtree-c/test/expected/functions/reduction/r0100100.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r01001010.c create mode 100644 rtree-c/test/expected/functions/reduction/r01001010.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r01001011.c create mode 100644 rtree-c/test/expected/functions/reduction/r01001011.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r0100110.c create mode 100644 rtree-c/test/expected/functions/reduction/r0100110.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r01001110.c create mode 100644 rtree-c/test/expected/functions/reduction/r01001110.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r01001111.c create mode 100644 rtree-c/test/expected/functions/reduction/r01001111.c.hs rename rtree-c/test/expected/functions/reduction/{r01010.c => r0101000.c} (73%) create mode 100644 rtree-c/test/expected/functions/reduction/r0101000.c.hs rename rtree-c/test/expected/functions/reduction/{r01011.c => r01010010.c} (64%) create mode 100644 rtree-c/test/expected/functions/reduction/r01010010.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r01010011.c create mode 100644 rtree-c/test/expected/functions/reduction/r01010011.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r0101010.c create mode 100644 rtree-c/test/expected/functions/reduction/r0101010.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r01010110.c create mode 100644 rtree-c/test/expected/functions/reduction/r01010110.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r01010111.c create mode 100644 rtree-c/test/expected/functions/reduction/r01010111.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r0101100.c create mode 100644 rtree-c/test/expected/functions/reduction/r0101100.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r01011010.c create mode 100644 rtree-c/test/expected/functions/reduction/r01011010.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r01011011.c create mode 100644 rtree-c/test/expected/functions/reduction/r01011011.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r0101110.c create mode 100644 rtree-c/test/expected/functions/reduction/r0101110.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r01011110.c create mode 100644 rtree-c/test/expected/functions/reduction/r01011110.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r01011111.c create mode 100644 rtree-c/test/expected/functions/reduction/r01011111.c.hs rename rtree-c/test/expected/functions/reduction/{r0110.c => r01100.c} (81%) create mode 100644 rtree-c/test/expected/functions/reduction/r01100.c.hs rename rtree-c/test/expected/functions/reduction/{r0111.c => r011010.c} (67%) create mode 100644 rtree-c/test/expected/functions/reduction/r011010.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r011011.c create mode 100644 rtree-c/test/expected/functions/reduction/r011011.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r01110.c create mode 100644 rtree-c/test/expected/functions/reduction/r01110.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r011110.c create mode 100644 rtree-c/test/expected/functions/reduction/r011110.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r011111.c create mode 100644 rtree-c/test/expected/functions/reduction/r011111.c.hs rename rtree-c/test/expected/functions/reduction/{r100000.c => r1000000.c} (86%) create mode 100644 rtree-c/test/expected/functions/reduction/r1000000.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r1000001.c create mode 100644 rtree-c/test/expected/functions/reduction/r1000001.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r100001.c.hs rename rtree-c/test/expected/functions/reduction/{r1001.c => r100010.c} (68%) create mode 100644 rtree-c/test/expected/functions/reduction/r100010.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r100011.c create mode 100644 rtree-c/test/expected/functions/reduction/r100011.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r1001000.c create mode 100644 rtree-c/test/expected/functions/reduction/r1001000.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r1001001.c create mode 100644 rtree-c/test/expected/functions/reduction/r1001001.c.hs rename rtree-c/test/expected/functions/reduction/{r10001.c => r100101.c} (84%) create mode 100644 rtree-c/test/expected/functions/reduction/r100101.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r100110.c create mode 100644 rtree-c/test/expected/functions/reduction/r100110.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r100111.c create mode 100644 rtree-c/test/expected/functions/reduction/r100111.c.hs rename rtree-c/test/expected/functions/reduction/{r10100.c => r101000.c} (84%) create mode 100644 rtree-c/test/expected/functions/reduction/r101000.c.hs rename rtree-c/test/expected/functions/reduction/{r10101.c => r101001.c} (84%) create mode 100644 rtree-c/test/expected/functions/reduction/r101001.c.hs rename rtree-c/test/expected/functions/reduction/{r1011.c => r101010.c} (67%) create mode 100644 rtree-c/test/expected/functions/reduction/r101010.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r101011.c create mode 100644 rtree-c/test/expected/functions/reduction/r101011.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r101100.c create mode 100644 rtree-c/test/expected/functions/reduction/r101100.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r101101.c create mode 100644 rtree-c/test/expected/functions/reduction/r101101.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r101110.c create mode 100644 rtree-c/test/expected/functions/reduction/r101110.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r101111.c create mode 100644 rtree-c/test/expected/functions/reduction/r101111.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r11000.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r11001.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r1101.c.hs rename rtree-c/test/expected/functions/reduction/{r111.c => r1110.c} (75%) create mode 100644 rtree-c/test/expected/functions/reduction/r1110.c.hs create mode 100644 rtree-c/test/expected/functions/reduction/r1111.c create mode 100644 rtree-c/test/expected/functions/reduction/r1111.c.hs create mode 100644 rtree-c/test/expected/llvm-26760/reduction/p2.path create mode 100644 rtree-c/test/expected/llvm-26760/reduction/x2.c delete mode 100644 rtree-c/test/expected/main/reduction/r.c create mode 100644 rtree-c/test/expected/main/reduction/r0.c create mode 100644 rtree-c/test/expected/main/reduction/r0.c.hs create mode 100644 rtree-c/test/expected/main/reduction/r1.c create mode 100644 rtree-c/test/expected/main/reduction/r1.c.hs create mode 100644 rtree-c/test/expected/struct/reduction/r00000.c.hs create mode 100644 rtree-c/test/expected/struct/reduction/r00001.c.hs create mode 100644 rtree-c/test/expected/struct/reduction/r00010.c.hs rename rtree-c/test/expected/struct/reduction/{r00011.c => r000110.c} (85%) create mode 100644 rtree-c/test/expected/struct/reduction/r000110.c.hs rename rtree-c/test/expected/struct/reduction/{r10011.c => r000111.c} (65%) create mode 100644 rtree-c/test/expected/struct/reduction/r000111.c.hs create mode 100644 rtree-c/test/expected/struct/reduction/r0010.c.hs rename rtree-c/test/expected/struct/reduction/{r0011.c => r00110.c} (82%) create mode 100644 rtree-c/test/expected/struct/reduction/r00110.c.hs rename rtree-c/test/expected/struct/reduction/{r10101.c => r00111.c} (65%) create mode 100644 rtree-c/test/expected/struct/reduction/r00111.c.hs create mode 100644 rtree-c/test/expected/struct/reduction/r01000.c.hs create mode 100644 rtree-c/test/expected/struct/reduction/r01001.c.hs create mode 100644 rtree-c/test/expected/struct/reduction/r01010.c.hs rename rtree-c/test/expected/struct/reduction/{r01011.c => r010110.c} (85%) create mode 100644 rtree-c/test/expected/struct/reduction/r010110.c.hs rename rtree-c/test/expected/struct/reduction/{r11011.c => r010111.c} (67%) create mode 100644 rtree-c/test/expected/struct/reduction/r010111.c.hs create mode 100644 rtree-c/test/expected/struct/reduction/r0110.c.hs rename rtree-c/test/expected/struct/reduction/{r0111.c => r01110.c} (82%) create mode 100644 rtree-c/test/expected/struct/reduction/r01110.c.hs rename rtree-c/test/expected/struct/reduction/{r11101.c => r01111.c} (65%) create mode 100644 rtree-c/test/expected/struct/reduction/r01111.c.hs create mode 100644 rtree-c/test/expected/struct/reduction/r10.c create mode 100644 rtree-c/test/expected/struct/reduction/r10.c.hs delete mode 100644 rtree-c/test/expected/struct/reduction/r10000.c delete mode 100644 rtree-c/test/expected/struct/reduction/r10001.c delete mode 100644 rtree-c/test/expected/struct/reduction/r10010.c delete mode 100644 rtree-c/test/expected/struct/reduction/r10100.c delete mode 100644 rtree-c/test/expected/struct/reduction/r10110.c delete mode 100644 rtree-c/test/expected/struct/reduction/r101110.c delete mode 100644 rtree-c/test/expected/struct/reduction/r101111.c create mode 100644 rtree-c/test/expected/struct/reduction/r11.c create mode 100644 rtree-c/test/expected/struct/reduction/r11.c.hs delete mode 100644 rtree-c/test/expected/struct/reduction/r11000.c delete mode 100644 rtree-c/test/expected/struct/reduction/r11001.c delete mode 100644 rtree-c/test/expected/struct/reduction/r11010.c delete mode 100644 rtree-c/test/expected/struct/reduction/r11100.c delete mode 100644 rtree-c/test/expected/struct/reduction/r11110.c delete mode 100644 rtree-c/test/expected/struct/reduction/r111110.c delete mode 100644 rtree-c/test/expected/struct/reduction/r111111.c rename rtree-c/test/expected/structfn/reduction/{r000000.c => r0000000.c} (69%) create mode 100644 rtree-c/test/expected/structfn/reduction/r0000000.c.hs rename rtree-c/test/expected/structfn/reduction/{r000001.c => r0000001.c} (69%) create mode 100644 rtree-c/test/expected/structfn/reduction/r0000001.c.hs rename rtree-c/test/expected/structfn/reduction/{r101000.c => r0000010.c} (60%) create mode 100644 rtree-c/test/expected/structfn/reduction/r0000010.c.hs rename rtree-c/test/expected/structfn/reduction/{r00100.c => r0000011.c} (60%) create mode 100644 rtree-c/test/expected/structfn/reduction/r0000011.c.hs rename rtree-c/test/expected/structfn/reduction/{r110000.c => r0000100.c} (56%) create mode 100644 rtree-c/test/expected/structfn/reduction/r0000100.c.hs rename rtree-c/test/expected/structfn/reduction/{r110001.c => r0000101.c} (55%) create mode 100644 rtree-c/test/expected/structfn/reduction/r0000101.c.hs rename rtree-c/test/expected/structfn/reduction/{r01100.c => r0000110.c} (60%) create mode 100644 rtree-c/test/expected/structfn/reduction/r0000110.c.hs rename rtree-c/test/expected/structfn/reduction/{r111000.c => r0000111.c} (60%) create mode 100644 rtree-c/test/expected/structfn/reduction/r0000111.c.hs delete mode 100644 rtree-c/test/expected/structfn/reduction/r000100.c rename rtree-c/test/expected/structfn/reduction/{r100000.c => r0001000.c} (55%) create mode 100644 rtree-c/test/expected/structfn/reduction/r0001000.c.hs rename rtree-c/test/expected/structfn/reduction/{r100001.c => r0001001.c} (54%) create mode 100644 rtree-c/test/expected/structfn/reduction/r0001001.c.hs delete mode 100644 rtree-c/test/expected/structfn/reduction/r000101.c create mode 100644 rtree-c/test/expected/structfn/reduction/r0001010.c create mode 100644 rtree-c/test/expected/structfn/reduction/r0001010.c.hs create mode 100644 rtree-c/test/expected/structfn/reduction/r0001011.c create mode 100644 rtree-c/test/expected/structfn/reduction/r0001011.c.hs create mode 100644 rtree-c/test/expected/structfn/reduction/r0001100.c create mode 100644 rtree-c/test/expected/structfn/reduction/r0001100.c.hs create mode 100644 rtree-c/test/expected/structfn/reduction/r0001101.c create mode 100644 rtree-c/test/expected/structfn/reduction/r0001101.c.hs create mode 100644 rtree-c/test/expected/structfn/reduction/r0001110.c create mode 100644 rtree-c/test/expected/structfn/reduction/r0001110.c.hs create mode 100644 rtree-c/test/expected/structfn/reduction/r0001111.c create mode 100644 rtree-c/test/expected/structfn/reduction/r0001111.c.hs rename rtree-c/test/expected/structfn/reduction/{r000010.c => r0010000.c} (69%) create mode 100644 rtree-c/test/expected/structfn/reduction/r0010000.c.hs rename rtree-c/test/expected/structfn/reduction/{r000011.c => r0010001.c} (68%) create mode 100644 rtree-c/test/expected/structfn/reduction/r0010001.c.hs rename rtree-c/test/expected/structfn/reduction/{r1010010.c => r0010010.c} (72%) create mode 100644 rtree-c/test/expected/structfn/reduction/r0010010.c.hs rename rtree-c/test/expected/structfn/reduction/{r001011.c => r00100110.c} (63%) create mode 100644 rtree-c/test/expected/structfn/reduction/r00100110.c.hs rename rtree-c/test/expected/structfn/reduction/{r1010011.c => r00100111.c} (63%) create mode 100644 rtree-c/test/expected/structfn/reduction/r00100111.c.hs rename rtree-c/test/expected/structfn/reduction/{r010010.c => r0010100.c} (69%) create mode 100644 rtree-c/test/expected/structfn/reduction/r0010100.c.hs rename rtree-c/test/expected/structfn/reduction/{r010011.c => r0010101.c} (69%) create mode 100644 rtree-c/test/expected/structfn/reduction/r0010101.c.hs rename rtree-c/test/expected/structfn/reduction/{r1110010.c => r0010110.c} (72%) create mode 100644 rtree-c/test/expected/structfn/reduction/r0010110.c.hs rename rtree-c/test/expected/structfn/reduction/{r1110011.c => r00101110.c} (63%) create mode 100644 rtree-c/test/expected/structfn/reduction/r00101110.c.hs rename rtree-c/test/expected/structfn/reduction/{r011011.c => r00101111.c} (63%) create mode 100644 rtree-c/test/expected/structfn/reduction/r00101111.c.hs create mode 100644 rtree-c/test/expected/structfn/reduction/r0011000.c create mode 100644 rtree-c/test/expected/structfn/reduction/r0011000.c.hs create mode 100644 rtree-c/test/expected/structfn/reduction/r0011001.c create mode 100644 rtree-c/test/expected/structfn/reduction/r0011001.c.hs rename rtree-c/test/expected/structfn/reduction/{r001010.c => r0011010.c} (72%) create mode 100644 rtree-c/test/expected/structfn/reduction/r0011010.c.hs create mode 100644 rtree-c/test/expected/structfn/reduction/r00110110.c create mode 100644 rtree-c/test/expected/structfn/reduction/r00110110.c.hs create mode 100644 rtree-c/test/expected/structfn/reduction/r00110111.c create mode 100644 rtree-c/test/expected/structfn/reduction/r00110111.c.hs create mode 100644 rtree-c/test/expected/structfn/reduction/r0011100.c create mode 100644 rtree-c/test/expected/structfn/reduction/r0011100.c.hs create mode 100644 rtree-c/test/expected/structfn/reduction/r0011101.c create mode 100644 rtree-c/test/expected/structfn/reduction/r0011101.c.hs rename rtree-c/test/expected/structfn/reduction/{r011010.c => r0011110.c} (72%) create mode 100644 rtree-c/test/expected/structfn/reduction/r0011110.c.hs create mode 100644 rtree-c/test/expected/structfn/reduction/r00111110.c create mode 100644 rtree-c/test/expected/structfn/reduction/r00111110.c.hs create mode 100644 rtree-c/test/expected/structfn/reduction/r00111111.c create mode 100644 rtree-c/test/expected/structfn/reduction/r00111111.c.hs create mode 100644 rtree-c/test/expected/structfn/reduction/r010000.c.hs create mode 100644 rtree-c/test/expected/structfn/reduction/r010001.c.hs rename rtree-c/test/expected/structfn/reduction/{r00011.c => r01001.c} (90%) create mode 100644 rtree-c/test/expected/structfn/reduction/r01001.c.hs rename rtree-c/test/expected/structfn/reduction/{r00110.c => r01010.c} (96%) create mode 100644 rtree-c/test/expected/structfn/reduction/r01010.c.hs rename rtree-c/test/expected/structfn/reduction/{r101011.c => r010110.c} (81%) create mode 100644 rtree-c/test/expected/structfn/reduction/r010110.c.hs rename rtree-c/test/expected/structfn/reduction/{r00111.c => r010111.c} (81%) create mode 100644 rtree-c/test/expected/structfn/reduction/r010111.c.hs rename rtree-c/test/expected/structfn/reduction/{r010100.c => r011000.c} (79%) create mode 100644 rtree-c/test/expected/structfn/reduction/r011000.c.hs rename rtree-c/test/expected/structfn/reduction/{r010101.c => r011001.c} (79%) create mode 100644 rtree-c/test/expected/structfn/reduction/r011001.c.hs rename rtree-c/test/expected/structfn/reduction/{r01011.c => r01101.c} (92%) create mode 100644 rtree-c/test/expected/structfn/reduction/r01101.c.hs create mode 100644 rtree-c/test/expected/structfn/reduction/r01110.c.hs rename rtree-c/test/expected/structfn/reduction/{r111011.c => r011110.c} (81%) create mode 100644 rtree-c/test/expected/structfn/reduction/r011110.c.hs rename rtree-c/test/expected/structfn/reduction/{r01111.c => r011111.c} (81%) create mode 100644 rtree-c/test/expected/structfn/reduction/r011111.c.hs rename rtree-c/test/expected/structfn/reduction/{r110010.c => r1000.c} (51%) create mode 100644 rtree-c/test/expected/structfn/reduction/r1000.c.hs delete mode 100644 rtree-c/test/expected/structfn/reduction/r100011.c rename rtree-c/test/expected/structfn/reduction/{r110011.c => r10010.c} (50%) create mode 100644 rtree-c/test/expected/structfn/reduction/r10010.c.hs delete mode 100644 rtree-c/test/expected/structfn/reduction/r100100.c delete mode 100644 rtree-c/test/expected/structfn/reduction/r100101.c create mode 100644 rtree-c/test/expected/structfn/reduction/r10011.c.hs rename rtree-c/test/expected/structfn/reduction/{r100010.c => r1010.c} (50%) create mode 100644 rtree-c/test/expected/structfn/reduction/r1010.c.hs delete mode 100644 rtree-c/test/expected/structfn/reduction/r101010.c create mode 100644 rtree-c/test/expected/structfn/reduction/r10110.c create mode 100644 rtree-c/test/expected/structfn/reduction/r10110.c.hs delete mode 100644 rtree-c/test/expected/structfn/reduction/r101100.c delete mode 100644 rtree-c/test/expected/structfn/reduction/r1011010.c delete mode 100644 rtree-c/test/expected/structfn/reduction/r1011011.c create mode 100644 rtree-c/test/expected/structfn/reduction/r10111.c create mode 100644 rtree-c/test/expected/structfn/reduction/r10111.c.hs delete mode 100644 rtree-c/test/expected/structfn/reduction/r101110.c rename rtree-c/test/expected/structfn/reduction/{r111110.c => r110.c} (51%) create mode 100644 rtree-c/test/expected/structfn/reduction/r110.c.hs delete mode 100644 rtree-c/test/expected/structfn/reduction/r110100.c delete mode 100644 rtree-c/test/expected/structfn/reduction/r110101.c rename rtree-c/test/expected/structfn/reduction/{r11011.c => r1110.c} (57%) create mode 100644 rtree-c/test/expected/structfn/reduction/r1110.c.hs delete mode 100644 rtree-c/test/expected/structfn/reduction/r111010.c rename rtree-c/test/expected/structfn/reduction/{r101111.c => r1111.c} (50%) create mode 100644 rtree-c/test/expected/structfn/reduction/r1111.c.hs delete mode 100644 rtree-c/test/expected/structfn/reduction/r111100.c delete mode 100644 rtree-c/test/expected/structfn/reduction/r1111010.c delete mode 100644 rtree-c/test/expected/structfn/reduction/r1111011.c delete mode 100644 rtree-c/test/expected/structfn/reduction/r111111.c rename rtree-c/test/expected/typedef/reduction/{r0000.c => r00000.c} (83%) create mode 100644 rtree-c/test/expected/typedef/reduction/r00000.c.hs rename rtree-c/test/expected/typedef/reduction/{r0001.c => r00001.c} (83%) create mode 100644 rtree-c/test/expected/typedef/reduction/r00001.c.hs rename rtree-c/test/expected/typedef/reduction/{r0010.c => r00010.c} (82%) create mode 100644 rtree-c/test/expected/typedef/reduction/r00010.c.hs rename rtree-c/test/expected/typedef/reduction/{r0011.c => r000110.c} (70%) create mode 100644 rtree-c/test/expected/typedef/reduction/r000110.c.hs create mode 100644 rtree-c/test/expected/typedef/reduction/r000111.c create mode 100644 rtree-c/test/expected/typedef/reduction/r000111.c.hs create mode 100644 rtree-c/test/expected/typedef/reduction/r00100.c create mode 100644 rtree-c/test/expected/typedef/reduction/r00100.c.hs create mode 100644 rtree-c/test/expected/typedef/reduction/r00101.c create mode 100644 rtree-c/test/expected/typedef/reduction/r00101.c.hs create mode 100644 rtree-c/test/expected/typedef/reduction/r00110.c create mode 100644 rtree-c/test/expected/typedef/reduction/r00110.c.hs create mode 100644 rtree-c/test/expected/typedef/reduction/r001110.c create mode 100644 rtree-c/test/expected/typedef/reduction/r001110.c.hs create mode 100644 rtree-c/test/expected/typedef/reduction/r001111.c create mode 100644 rtree-c/test/expected/typedef/reduction/r001111.c.hs rename rtree-c/test/expected/typedef/reduction/{r0100.c => r01000.c} (83%) create mode 100644 rtree-c/test/expected/typedef/reduction/r01000.c.hs rename rtree-c/test/expected/typedef/reduction/{r0101.c => r01001.c} (82%) create mode 100644 rtree-c/test/expected/typedef/reduction/r01001.c.hs rename rtree-c/test/expected/typedef/reduction/{r0110.c => r01010.c} (82%) create mode 100644 rtree-c/test/expected/typedef/reduction/r01010.c.hs rename rtree-c/test/expected/typedef/reduction/{r0111.c => r010110.c} (69%) create mode 100644 rtree-c/test/expected/typedef/reduction/r010110.c.hs create mode 100644 rtree-c/test/expected/typedef/reduction/r010111.c create mode 100644 rtree-c/test/expected/typedef/reduction/r010111.c.hs create mode 100644 rtree-c/test/expected/typedef/reduction/r01100.c create mode 100644 rtree-c/test/expected/typedef/reduction/r01100.c.hs create mode 100644 rtree-c/test/expected/typedef/reduction/r01101.c create mode 100644 rtree-c/test/expected/typedef/reduction/r01101.c.hs create mode 100644 rtree-c/test/expected/typedef/reduction/r01110.c create mode 100644 rtree-c/test/expected/typedef/reduction/r01110.c.hs create mode 100644 rtree-c/test/expected/typedef/reduction/r011110.c create mode 100644 rtree-c/test/expected/typedef/reduction/r011110.c.hs create mode 100644 rtree-c/test/expected/typedef/reduction/r011111.c create mode 100644 rtree-c/test/expected/typedef/reduction/r011111.c.hs create mode 100644 rtree-c/test/expected/typedef/reduction/r100.c.hs create mode 100644 rtree-c/test/expected/typedef/reduction/r101.c.hs create mode 100644 rtree-c/test/expected/typedef/reduction/r110.c.hs rename rtree-c/test/expected/typedef/reduction/{r111.c => r1110.c} (77%) create mode 100644 rtree-c/test/expected/typedef/reduction/r1110.c.hs create mode 100644 rtree-c/test/expected/typedef/reduction/r1111.c create mode 100644 rtree-c/test/expected/typedef/reduction/r1111.c.hs create mode 100644 rtree-c/test/expected/while-loops/reduction/r0000.c.hs create mode 100644 rtree-c/test/expected/while-loops/reduction/r0001.c.hs create mode 100644 rtree-c/test/expected/while-loops/reduction/r0010.c.hs create mode 100644 rtree-c/test/expected/while-loops/reduction/r0011.c.hs create mode 100644 rtree-c/test/expected/while-loops/reduction/r0100.c create mode 100644 rtree-c/test/expected/while-loops/reduction/r0100.c.hs create mode 100644 rtree-c/test/expected/while-loops/reduction/r0101.c create mode 100644 rtree-c/test/expected/while-loops/reduction/r0101.c.hs rename rtree-c/test/expected/while-loops/reduction/{r01.c => r011.c} (70%) create mode 100644 rtree-c/test/expected/while-loops/reduction/r011.c.hs delete mode 100644 rtree-c/test/expected/while-loops/reduction/r1.c create mode 100644 rtree-c/test/expected/while-loops/reduction/r100.c create mode 100644 rtree-c/test/expected/while-loops/reduction/r100.c.hs create mode 100644 rtree-c/test/expected/while-loops/reduction/r101.c create mode 100644 rtree-c/test/expected/while-loops/reduction/r101.c.hs create mode 100644 rtree-c/test/expected/while-loops/reduction/r110.c create mode 100644 rtree-c/test/expected/while-loops/reduction/r110.c.hs create mode 100644 rtree-c/test/expected/while-loops/reduction/r111.c create mode 100644 rtree-c/test/expected/while-loops/reduction/r111.c.hs diff --git a/rtree-c/src/ReduceC.hs b/rtree-c/src/ReduceC.hs index 288b0e5..59c9919 100644 --- a/rtree-c/src/ReduceC.hs +++ b/rtree-c/src/ReduceC.hs @@ -53,8 +53,7 @@ data Context = Context { keywords :: !(Set.Set Keyword) , typeDefs :: !(Map.Map C.Ident (CType, InlineType)) , inlineExprs :: !(Map.Map C.Ident InlineExpr) - , fields :: !(Map.Map C.Ident (Maybe C.Ident)) - , structs :: !(Map.Map C.Ident (Maybe C.CStructUnion)) + , structs :: !(Map.Map C.Ident InlineStruct) } deriving (Show) @@ -63,6 +62,11 @@ data InlineType | ITInline ![C.CDeclarationSpecifier C.NodeInfo] deriving (Show, Eq) +data InlineStruct + = ISDelete + | ISKeep + deriving (Show, Eq) + data InlineExpr = IEDelete | IEInline !C.CExpr @@ -111,19 +115,10 @@ addKeyword k Context{..} = , .. } -addStruct :: StructDef -> Context -> Context -addStruct (StructDef k fs _) Context{..} = - Context - { structs = Map.insert k Nothing structs - , fields = foldr (`Map.insert` Just k) fields fs - , .. - } - -removeStruct :: StructDef -> Context -> Context -removeStruct (StructDef k fs un) Context{..} = +addInlineStruct :: C.Ident -> InlineStruct -> Context -> Context +addInlineStruct k is Context{..} = Context - { structs = Map.insert k (Just un) structs - , fields = foldr (`Map.insert` Nothing) fields fs + { structs = Map.insert k is structs , .. } @@ -139,7 +134,6 @@ defaultContext = , (C.builtinIdent "__PRETTY_FUNCTION__", IEKeep CTInt) , (C.builtinIdent "__FUNCTION__", IEKeep CTInt) ] - , fields = Map.empty , structs = Map.empty } @@ -320,14 +314,17 @@ reduceParams' ctx declrs = do C.CFunDeclr (C.CFunParamsNew decls i) j k -> do (unzip -> (decls', defs)) <- decls & mapM \case - C.CDecl def items l -> do + a@(C.CDecl def items l) -> do (unzip -> (items', defs)) <- items & mapM \case a'@(C.CDeclarationItem (C.CDeclr idx _ _ _ _) _ _) -> - split - ("remove parameter", C.posOf k) - (pure ([], [(Nothing, idx)])) - (pure ([a'], [(Just (ctype ctx def), idx)])) + if shouldDeleteDeclaration ctx a + then pure ([], [(Nothing, idx)]) + else + split + ("remove parameter", C.posOf k) + (pure ([], [(Nothing, idx)])) + (pure ([a'], [(Just (ctype ctx def), idx)])) a' -> notSupportedYet a' k case concat items' of [] -> pure ([], concat defs) @@ -430,8 +427,15 @@ handleDecl d ctx = case inlineTypeDefsCDeclaration d ctx of (pure (Nothing, addTypeDefs [ids] (ctype ctx rst, ITInline rst) ctx)) (pure (Just (pure d), addTypeDefs [ids] (ctype ctx rst, ITKeep) ctx)) -- A const - C.CDecl spc decl ni' -> do - (decl', ctx') <- foldr (reduceCDeclarationItem (ctype ctx spc)) (pure ([], ctx)) decl + d'@(C.CDecl spc decl ni') -> do + (decl', ctx') <- + foldr + ( reduceCDeclarationItem + (shouldDeleteDeclaration ctx d') + (ctype ctx spc) + ) + (pure ([], ctx)) + decl let fn = do spc1 <- trySplit ("remove static", C.posOf ni') spc $ filter \case C.CStorageSpec (C.CStatic _) -> False @@ -446,56 +450,63 @@ handleDecl d ctx = case inlineTypeDefsCDeclaration d ctx of ([], stcts) -> split ("remove declaration", C.posOf d) - (pure (Nothing, foldr removeStruct ctx' stcts)) + (pure (Nothing, foldr (\(StructDef k _ _) -> addInlineStruct k ISDelete) ctx' stcts)) do - pure (Just fn, foldr addStruct ctx' stcts) + pure (Just fn, foldr (\(StructDef k _ _) -> addInlineStruct k ISKeep) ctx' stcts) (_, stcts) -> - pure (Just fn, foldr addStruct ctx' stcts) + pure (Just fn, foldr (\(StructDef k _ _) -> addInlineStruct k ISKeep) ctx' stcts) a -> don'tHandleWithPos a reduceCDeclarationItem :: (MonadReduce Lab m) - => CType + => Bool + -> CType -> C.CDeclarationItem C.NodeInfo -> m ([C.CDeclarationItem C.NodeInfo], Context) -> m ([C.CDeclarationItem C.NodeInfo], Context) -reduceCDeclarationItem t d ma = case d of +reduceCDeclarationItem shouldDelete t d ma = case d of C.CDeclarationItem dr@(C.CDeclr (Just i) [] Nothing [] ni) (Just (C.CInitExpr c ni')) Nothing -> do (ds, ctx) <- ma c' <- fromMaybe (pure zeroExpr) (reduceCExpr c ctx) - split - ("inline variable " <> C.identToString i, C.posOf ni) - (pure (ds, addInlineExpr i (IEInline c') ctx)) - ( pure - ( inlineTypeDefsCDI (C.CDeclarationItem dr (Just (C.CInitExpr c' ni')) Nothing) ctx - : ds - , addInlineExpr i (IEKeep t) ctx + if shouldDelete + then pure (ds, addInlineExpr i (IEInline c') ctx) + else + split + ("inline variable " <> C.identToString i, C.posOf ni) + (pure (ds, addInlineExpr i (IEInline c') ctx)) + ( pure + ( inlineTypeDefsCDI (C.CDeclarationItem dr (Just (C.CInitExpr c' ni')) Nothing) ctx + : ds + , addInlineExpr i (IEKeep t) ctx + ) ) - ) C.CDeclarationItem (C.CDeclr (Just i) a Nothing b ni) ex Nothing -> do (ds, ctx) <- ma - ex' <- case ex of - Just ix -> maybeSplit ("remove initializer", C.posOf ni) (reduceCInitializer ix ctx) - Nothing -> pure Nothing - - (a', t') <- - if C.identToString i == "printf" - then pure (a, CTAny) - else do - (a', defs) <- reduceParams' ctx a - let t' = case defs of - [args] -> CTFun (map fst args) - [] -> t - _x -> error ("Unexpected" <> unlines (map show _x) <> show (C.posOf ni)) - pure (a', t') - let d' = C.CDeclarationItem (C.CDeclr (Just i) a' Nothing b ni) ex' Nothing - split - ("remove variable " <> C.identToString i, C.posOf ni) - (pure (ds, addInlineExpr i IEDelete ctx)) - (pure (inlineTypeDefsCDI d' ctx : ds, addInlineExpr i (IEKeep t') ctx)) + if shouldDelete + then pure (ds, addInlineExpr i IEDelete ctx) + else do + ex' <- case ex of + Just ix -> maybeSplit ("remove initializer", C.posOf ni) (reduceCInitializer ix ctx) + Nothing -> pure Nothing + + (a', t') <- + if C.identToString i == "printf" + then pure (a, CTAny) + else do + (a', defs) <- reduceParams' ctx a + let t' = case defs of + [args] -> CTFun (map fst args) + [] -> t + _x -> error ("Unexpected" <> unlines (map show _x) <> show (C.posOf ni)) + pure (a', t') + let d' = C.CDeclarationItem (C.CDeclr (Just i) a' Nothing b ni) ex' Nothing + split + ("remove variable " <> C.identToString i, C.posOf ni) + (pure (ds, addInlineExpr i IEDelete ctx)) + (pure (inlineTypeDefsCDI d' ctx : ds, addInlineExpr i (IEKeep t') ctx)) a@(C.CDeclarationItem (C.CDeclr _ _ _ _ ni) _ _) -> do don'tHandleWithNodeInfo a ni a -> don'tHandle a @@ -538,7 +549,9 @@ reduceCStatement smt labs ctx = case smt of C.CCompound is cbi ni -> do cbi' <- lift $ evalStateT (mapM (reduceCCompoundBlockItem labs) cbi) ctx case concat cbi' of - [] -> mzero + [] -> do + exceptIf ("remove empty compound", C.posOf smt) + pure (C.CCompound is [] ni) ccbi -> pure (C.CCompound is ccbi ni) C.CWhile e s dow ni -> do s' <- reduceCStatement s labs ctx @@ -586,8 +599,8 @@ reduceCStatement smt labs ctx = case smt of (Nothing, Just s', Nothing) -> pure s' C.CFor e1 e2 e3 s ni -> do (me1', ctx') <- case e1 of - C.CForDecl (C.CDecl rec decl ni') -> do - (decl', ctx') <- foldr (reduceCDeclarationItem (ctype ctx rec)) (pure ([], ctx)) decl + C.CForDecl d@(C.CDecl rec decl ni') -> do + (decl', ctx') <- foldr (reduceCDeclarationItem (shouldDeleteDeclaration ctx d) (ctype ctx rec)) (pure ([], ctx)) decl res <- if null decl' then @@ -609,12 +622,16 @@ reduceCStatement smt labs ctx = case smt of s' <- reduceCStatementOrEmptyBlock s labs ctx' let forloop n = do - e2' <- case e2 of - Just e2' -> maybeSplit ("remove check", C.posOf e2') (reduceCExpr e2' ctx') - Nothing -> pure Nothing - e3' <- case e3 of - Just e3' -> maybeSplit ("remove iterator", C.posOf e3') (reduceCExpr e3' ctx') - Nothing -> pure Nothing + e2' <- runMaybeT do + e2' <- liftMaybe e2 + re2' <- liftMaybe (reduceCExpr e2' ctx') + exceptIf ("remove check", C.posOf e2') + re2' + e3' <- runMaybeT do + e3' <- liftMaybe e3 + re3' <- liftMaybe (reduceCExpr e3' ctx') + exceptIf ("remove iterator", C.posOf e3') + re3' let e2'' = if AllowInfiniteForLoops `isIn` ctx || isNothing e2 then e2' @@ -850,6 +867,36 @@ inlineTypeDefsCDeclaration decl ctx = C.CDecl (inlineTypeDefsSpecs items ctx) (map (`inlineTypeDefsCDI` ctx) decli) ni a -> don'tHandle a +shouldDeleteDeclaration :: Context -> C.CDeclaration C.NodeInfo -> Bool +shouldDeleteDeclaration ctx decl = + case decl of + C.CDecl items decli _ -> any shouldDeleteDeclSpec items || any shouldDeleteDeclItem decli + a -> don'tHandle a + where + shouldDeleteDeclItem = \case + C.CDeclarationItem a _ _ -> shouldDeleteDeclartor a + a -> don'tHandle a + + shouldDeleteDeclartor = \case + C.CDeclr _ def _ _ _ -> any shouldDeleteDerivedDeclartor def + + shouldDeleteDerivedDeclartor = \case + C.CFunDeclr (C.CFunParamsNew x _) _ _ -> + any (shouldDeleteDeclaration ctx) x + C.CArrDeclr{} -> False + C.CPtrDeclr _ _ -> False + a -> don'tHandle a + + shouldDeleteDeclSpec = \case + C.CTypeSpec (C.CSUType (C.CStruct _ (Just idx) Nothing _ _) _) -> + case Map.lookup idx . structs $ ctx of + Just ISDelete -> True + Just ISKeep -> False + Nothing -> error ("could not find struct:" <> show idx) + C.CTypeSpec (C.CSUType (C.CStruct _ _ (Just c) _ _) _) -> + any (shouldDeleteDeclaration ctx) c + _ow -> False + inlineTypeDefsSpecs :: [C.CDeclarationSpecifier C.NodeInfo] -> Context -> [C.CDeclarationSpecifier C.NodeInfo] inlineTypeDefsSpecs r ctx = r & concatMap \case @@ -858,11 +905,11 @@ inlineTypeDefsSpecs r ctx = Just (_, ITKeep) -> [a] Just (_, ITInline res) -> res Nothing -> error ("could not find typedef:" <> show idx) - a@(C.CTypeSpec (C.CSUType (C.CStruct _ (Just idx) Nothing _ _) _)) -> - case Map.lookup idx . structs $ ctx of - Just (Just def) -> [C.CTypeSpec (C.CSUType def C.undefNode)] - Just Nothing -> [a] - Nothing -> error ("could not find struct:" <> show idx) + -- a@(C.CTypeSpec (C.CSUType (C.CStruct _ (Just idx) Nothing _ _) _)) -> + -- case Map.lookup idx . structs $ ctx of + -- Just (Just def) -> [C.CTypeSpec (C.CSUType def C.undefNode)] + -- Just Nothing -> [a] + -- Nothing -> error ("could not find struct:" <> show idx) C.CTypeSpec (C.CSUType (C.CStruct a b (Just c) d e) f) -> [C.CTypeSpec (C.CSUType (C.CStruct a b (Just $ map (`inlineTypeDefsCDeclaration` ctx) c) d e) f)] a -> [a] diff --git a/rtree-c/test/cases/small/structfn.c b/rtree-c/test/cases/small/structfn.c index f04d49c..2726d53 100644 --- a/rtree-c/test/cases/small/structfn.c +++ b/rtree-c/test/cases/small/structfn.c @@ -1,4 +1,6 @@ struct S0 {}; -struct S0 g0 = {}; void fn(struct S0 a) {} -int main() { fn(g0); } +int main() { + struct S0 g0 = {}; + fn(g0); +} diff --git a/rtree-c/test/expected/add/reduction/r000000000.c.hs b/rtree-c/test/expected/add/reduction/r000000000.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r000000000.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r000000001.c.hs b/rtree-c/test/expected/add/reduction/r000000001.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r000000001.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r000000010.c.hs b/rtree-c/test/expected/add/reduction/r000000010.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r000000010.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r000000011.c.hs b/rtree-c/test/expected/add/reduction/r000000011.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r000000011.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r0000001.c b/rtree-c/test/expected/add/reduction/r00000010.c similarity index 88% rename from rtree-c/test/expected/add/reduction/r0000001.c rename to rtree-c/test/expected/add/reduction/r00000010.c index 5ae5f93..a9b8bf0 100644 --- a/rtree-c/test/expected/add/reduction/r0000001.c +++ b/rtree-c/test/expected/add/reduction/r00000010.c @@ -5,6 +5,7 @@ // 0 reduce to left at ("test/cases/small/add.c": line 2) // 0 reduce to right at ("test/cases/small/add.c": line 2) // 1 remove return statement at ("test/cases/small/add.c": line 6) +// 0 remove empty compound at ("test/cases/small/add.c": line 5) int add(int a, int b) { diff --git a/rtree-c/test/expected/add/reduction/r00000010.c.hs b/rtree-c/test/expected/add/reduction/r00000010.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r00000010.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r00000011.c b/rtree-c/test/expected/add/reduction/r00000011.c new file mode 100644 index 0000000..2415615 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r00000011.c @@ -0,0 +1,16 @@ +// 0 remove function add at ("test/cases/small/add.c": line 1) +// 0 remove parameter at ("test/cases/small/add.c": line 1) +// 0 remove parameter at ("test/cases/small/add.c": line 1) +// 0 remove return statement at ("test/cases/small/add.c": line 2) +// 0 reduce to left at ("test/cases/small/add.c": line 2) +// 0 reduce to right at ("test/cases/small/add.c": line 2) +// 1 remove return statement at ("test/cases/small/add.c": line 6) +// 1 remove empty compound at ("test/cases/small/add.c": line 5) + +int add(int a, int b) +{ + return a + b; +} +int main() +{ +} diff --git a/rtree-c/test/expected/add/reduction/r00000011.c.hs b/rtree-c/test/expected/add/reduction/r00000011.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r00000011.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r000001000.c.hs b/rtree-c/test/expected/add/reduction/r000001000.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r000001000.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r000001001.c.hs b/rtree-c/test/expected/add/reduction/r000001001.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r000001001.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r000001010.c.hs b/rtree-c/test/expected/add/reduction/r000001010.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r000001010.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r000001011.c.hs b/rtree-c/test/expected/add/reduction/r000001011.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r000001011.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r0000011.c b/rtree-c/test/expected/add/reduction/r00000110.c similarity index 88% rename from rtree-c/test/expected/add/reduction/r0000011.c rename to rtree-c/test/expected/add/reduction/r00000110.c index eeaf7c2..e46567f 100644 --- a/rtree-c/test/expected/add/reduction/r0000011.c +++ b/rtree-c/test/expected/add/reduction/r00000110.c @@ -5,6 +5,7 @@ // 0 reduce to left at ("test/cases/small/add.c": line 2) // 1 reduce to right at ("test/cases/small/add.c": line 2) // 1 remove return statement at ("test/cases/small/add.c": line 6) +// 0 remove empty compound at ("test/cases/small/add.c": line 5) int add(int a, int b) { diff --git a/rtree-c/test/expected/add/reduction/r00000110.c.hs b/rtree-c/test/expected/add/reduction/r00000110.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r00000110.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r00000111.c b/rtree-c/test/expected/add/reduction/r00000111.c new file mode 100644 index 0000000..263c1a8 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r00000111.c @@ -0,0 +1,16 @@ +// 0 remove function add at ("test/cases/small/add.c": line 1) +// 0 remove parameter at ("test/cases/small/add.c": line 1) +// 0 remove parameter at ("test/cases/small/add.c": line 1) +// 0 remove return statement at ("test/cases/small/add.c": line 2) +// 0 reduce to left at ("test/cases/small/add.c": line 2) +// 1 reduce to right at ("test/cases/small/add.c": line 2) +// 1 remove return statement at ("test/cases/small/add.c": line 6) +// 1 remove empty compound at ("test/cases/small/add.c": line 5) + +int add(int a, int b) +{ + return b; +} +int main() +{ +} diff --git a/rtree-c/test/expected/add/reduction/r00000111.c.hs b/rtree-c/test/expected/add/reduction/r00000111.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r00000111.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r00001000.c.hs b/rtree-c/test/expected/add/reduction/r00001000.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r00001000.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r00001001.c.hs b/rtree-c/test/expected/add/reduction/r00001001.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r00001001.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r00001010.c.hs b/rtree-c/test/expected/add/reduction/r00001010.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r00001010.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r00001011.c.hs b/rtree-c/test/expected/add/reduction/r00001011.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r00001011.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r000011.c b/rtree-c/test/expected/add/reduction/r0000110.c similarity index 86% rename from rtree-c/test/expected/add/reduction/r000011.c rename to rtree-c/test/expected/add/reduction/r0000110.c index 8eceedf..ca3fe6c 100644 --- a/rtree-c/test/expected/add/reduction/r000011.c +++ b/rtree-c/test/expected/add/reduction/r0000110.c @@ -4,6 +4,7 @@ // 0 remove return statement at ("test/cases/small/add.c": line 2) // 1 reduce to left at ("test/cases/small/add.c": line 2) // 1 remove return statement at ("test/cases/small/add.c": line 6) +// 0 remove empty compound at ("test/cases/small/add.c": line 5) int add(int a, int b) { diff --git a/rtree-c/test/expected/add/reduction/r0000110.c.hs b/rtree-c/test/expected/add/reduction/r0000110.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r0000110.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r0000111.c b/rtree-c/test/expected/add/reduction/r0000111.c new file mode 100644 index 0000000..8535f15 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r0000111.c @@ -0,0 +1,15 @@ +// 0 remove function add at ("test/cases/small/add.c": line 1) +// 0 remove parameter at ("test/cases/small/add.c": line 1) +// 0 remove parameter at ("test/cases/small/add.c": line 1) +// 0 remove return statement at ("test/cases/small/add.c": line 2) +// 1 reduce to left at ("test/cases/small/add.c": line 2) +// 1 remove return statement at ("test/cases/small/add.c": line 6) +// 1 remove empty compound at ("test/cases/small/add.c": line 5) + +int add(int a, int b) +{ + return a; +} +int main() +{ +} diff --git a/rtree-c/test/expected/add/reduction/r0000111.c.hs b/rtree-c/test/expected/add/reduction/r0000111.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r0000111.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r0001000.c b/rtree-c/test/expected/add/reduction/r00010000.c similarity index 88% rename from rtree-c/test/expected/add/reduction/r0001000.c rename to rtree-c/test/expected/add/reduction/r00010000.c index 1360f67..b7541f9 100644 --- a/rtree-c/test/expected/add/reduction/r0001000.c +++ b/rtree-c/test/expected/add/reduction/r00010000.c @@ -2,6 +2,7 @@ // 0 remove parameter at ("test/cases/small/add.c": line 1) // 0 remove parameter at ("test/cases/small/add.c": line 1) // 1 remove return statement at ("test/cases/small/add.c": line 2) +// 0 remove empty compound at ("test/cases/small/add.c": line 1) // 0 remove return statement at ("test/cases/small/add.c": line 6) // 0 do without param at ("test/cases/small/add.c": line 6) // 0 do without param at ("test/cases/small/add.c": line 6) diff --git a/rtree-c/test/expected/add/reduction/r00010000.c.hs b/rtree-c/test/expected/add/reduction/r00010000.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r00010000.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r0001001.c b/rtree-c/test/expected/add/reduction/r00010001.c similarity index 88% rename from rtree-c/test/expected/add/reduction/r0001001.c rename to rtree-c/test/expected/add/reduction/r00010001.c index 6a86c10..baf64fd 100644 --- a/rtree-c/test/expected/add/reduction/r0001001.c +++ b/rtree-c/test/expected/add/reduction/r00010001.c @@ -2,6 +2,7 @@ // 0 remove parameter at ("test/cases/small/add.c": line 1) // 0 remove parameter at ("test/cases/small/add.c": line 1) // 1 remove return statement at ("test/cases/small/add.c": line 2) +// 0 remove empty compound at ("test/cases/small/add.c": line 1) // 0 remove return statement at ("test/cases/small/add.c": line 6) // 0 do without param at ("test/cases/small/add.c": line 6) // 1 do without param at ("test/cases/small/add.c": line 6) diff --git a/rtree-c/test/expected/add/reduction/r00010001.c.hs b/rtree-c/test/expected/add/reduction/r00010001.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r00010001.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r00010010.c b/rtree-c/test/expected/add/reduction/r00010010.c new file mode 100644 index 0000000..4805450 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r00010010.c @@ -0,0 +1,16 @@ +// 0 remove function add at ("test/cases/small/add.c": line 1) +// 0 remove parameter at ("test/cases/small/add.c": line 1) +// 0 remove parameter at ("test/cases/small/add.c": line 1) +// 1 remove return statement at ("test/cases/small/add.c": line 2) +// 0 remove empty compound at ("test/cases/small/add.c": line 1) +// 0 remove return statement at ("test/cases/small/add.c": line 6) +// 1 do without param at ("test/cases/small/add.c": line 6) +// 0 do without param at ("test/cases/small/add.c": line 6) + +int add(int a, int b) +{ +} +int main() +{ + return add(0, 23); +} diff --git a/rtree-c/test/expected/add/reduction/r00010010.c.hs b/rtree-c/test/expected/add/reduction/r00010010.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r00010010.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r00010011.c b/rtree-c/test/expected/add/reduction/r00010011.c new file mode 100644 index 0000000..fbbff22 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r00010011.c @@ -0,0 +1,16 @@ +// 0 remove function add at ("test/cases/small/add.c": line 1) +// 0 remove parameter at ("test/cases/small/add.c": line 1) +// 0 remove parameter at ("test/cases/small/add.c": line 1) +// 1 remove return statement at ("test/cases/small/add.c": line 2) +// 0 remove empty compound at ("test/cases/small/add.c": line 1) +// 0 remove return statement at ("test/cases/small/add.c": line 6) +// 1 do without param at ("test/cases/small/add.c": line 6) +// 1 do without param at ("test/cases/small/add.c": line 6) + +int add(int a, int b) +{ +} +int main() +{ + return add(0, 0); +} diff --git a/rtree-c/test/expected/add/reduction/r00010011.c.hs b/rtree-c/test/expected/add/reduction/r00010011.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r00010011.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r0001010.c b/rtree-c/test/expected/add/reduction/r0001010.c index 9627ccd..ee2d580 100644 --- a/rtree-c/test/expected/add/reduction/r0001010.c +++ b/rtree-c/test/expected/add/reduction/r0001010.c @@ -2,14 +2,13 @@ // 0 remove parameter at ("test/cases/small/add.c": line 1) // 0 remove parameter at ("test/cases/small/add.c": line 1) // 1 remove return statement at ("test/cases/small/add.c": line 2) -// 0 remove return statement at ("test/cases/small/add.c": line 6) -// 1 do without param at ("test/cases/small/add.c": line 6) -// 0 do without param at ("test/cases/small/add.c": line 6) +// 0 remove empty compound at ("test/cases/small/add.c": line 1) +// 1 remove return statement at ("test/cases/small/add.c": line 6) +// 0 remove empty compound at ("test/cases/small/add.c": line 5) int add(int a, int b) { } int main() { - return add(0, 23); } diff --git a/rtree-c/test/expected/add/reduction/r0001010.c.hs b/rtree-c/test/expected/add/reduction/r0001010.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r0001010.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r0001011.c b/rtree-c/test/expected/add/reduction/r0001011.c index 2df413b..a8719bc 100644 --- a/rtree-c/test/expected/add/reduction/r0001011.c +++ b/rtree-c/test/expected/add/reduction/r0001011.c @@ -2,14 +2,13 @@ // 0 remove parameter at ("test/cases/small/add.c": line 1) // 0 remove parameter at ("test/cases/small/add.c": line 1) // 1 remove return statement at ("test/cases/small/add.c": line 2) -// 0 remove return statement at ("test/cases/small/add.c": line 6) -// 1 do without param at ("test/cases/small/add.c": line 6) -// 1 do without param at ("test/cases/small/add.c": line 6) +// 0 remove empty compound at ("test/cases/small/add.c": line 1) +// 1 remove return statement at ("test/cases/small/add.c": line 6) +// 1 remove empty compound at ("test/cases/small/add.c": line 5) int add(int a, int b) { } int main() { - return add(0, 0); } diff --git a/rtree-c/test/expected/add/reduction/r0001011.c.hs b/rtree-c/test/expected/add/reduction/r0001011.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r0001011.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r00011000.c b/rtree-c/test/expected/add/reduction/r00011000.c new file mode 100644 index 0000000..e36826c --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r00011000.c @@ -0,0 +1,16 @@ +// 0 remove function add at ("test/cases/small/add.c": line 1) +// 0 remove parameter at ("test/cases/small/add.c": line 1) +// 0 remove parameter at ("test/cases/small/add.c": line 1) +// 1 remove return statement at ("test/cases/small/add.c": line 2) +// 1 remove empty compound at ("test/cases/small/add.c": line 1) +// 0 remove return statement at ("test/cases/small/add.c": line 6) +// 0 do without param at ("test/cases/small/add.c": line 6) +// 0 do without param at ("test/cases/small/add.c": line 6) + +int add(int a, int b) +{ +} +int main() +{ + return add(10, 23); +} diff --git a/rtree-c/test/expected/add/reduction/r00011000.c.hs b/rtree-c/test/expected/add/reduction/r00011000.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r00011000.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r00011001.c b/rtree-c/test/expected/add/reduction/r00011001.c new file mode 100644 index 0000000..665a0d2 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r00011001.c @@ -0,0 +1,16 @@ +// 0 remove function add at ("test/cases/small/add.c": line 1) +// 0 remove parameter at ("test/cases/small/add.c": line 1) +// 0 remove parameter at ("test/cases/small/add.c": line 1) +// 1 remove return statement at ("test/cases/small/add.c": line 2) +// 1 remove empty compound at ("test/cases/small/add.c": line 1) +// 0 remove return statement at ("test/cases/small/add.c": line 6) +// 0 do without param at ("test/cases/small/add.c": line 6) +// 1 do without param at ("test/cases/small/add.c": line 6) + +int add(int a, int b) +{ +} +int main() +{ + return add(10, 0); +} diff --git a/rtree-c/test/expected/add/reduction/r00011001.c.hs b/rtree-c/test/expected/add/reduction/r00011001.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r00011001.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r00011010.c b/rtree-c/test/expected/add/reduction/r00011010.c new file mode 100644 index 0000000..0c8e5b4 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r00011010.c @@ -0,0 +1,16 @@ +// 0 remove function add at ("test/cases/small/add.c": line 1) +// 0 remove parameter at ("test/cases/small/add.c": line 1) +// 0 remove parameter at ("test/cases/small/add.c": line 1) +// 1 remove return statement at ("test/cases/small/add.c": line 2) +// 1 remove empty compound at ("test/cases/small/add.c": line 1) +// 0 remove return statement at ("test/cases/small/add.c": line 6) +// 1 do without param at ("test/cases/small/add.c": line 6) +// 0 do without param at ("test/cases/small/add.c": line 6) + +int add(int a, int b) +{ +} +int main() +{ + return add(0, 23); +} diff --git a/rtree-c/test/expected/add/reduction/r00011010.c.hs b/rtree-c/test/expected/add/reduction/r00011010.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r00011010.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r00011011.c b/rtree-c/test/expected/add/reduction/r00011011.c new file mode 100644 index 0000000..1bcb7b1 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r00011011.c @@ -0,0 +1,16 @@ +// 0 remove function add at ("test/cases/small/add.c": line 1) +// 0 remove parameter at ("test/cases/small/add.c": line 1) +// 0 remove parameter at ("test/cases/small/add.c": line 1) +// 1 remove return statement at ("test/cases/small/add.c": line 2) +// 1 remove empty compound at ("test/cases/small/add.c": line 1) +// 0 remove return statement at ("test/cases/small/add.c": line 6) +// 1 do without param at ("test/cases/small/add.c": line 6) +// 1 do without param at ("test/cases/small/add.c": line 6) + +int add(int a, int b) +{ +} +int main() +{ + return add(0, 0); +} diff --git a/rtree-c/test/expected/add/reduction/r00011011.c.hs b/rtree-c/test/expected/add/reduction/r00011011.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r00011011.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r00011.c b/rtree-c/test/expected/add/reduction/r0001110.c similarity index 73% rename from rtree-c/test/expected/add/reduction/r00011.c rename to rtree-c/test/expected/add/reduction/r0001110.c index cfbfbc6..a6c596e 100644 --- a/rtree-c/test/expected/add/reduction/r00011.c +++ b/rtree-c/test/expected/add/reduction/r0001110.c @@ -2,7 +2,9 @@ // 0 remove parameter at ("test/cases/small/add.c": line 1) // 0 remove parameter at ("test/cases/small/add.c": line 1) // 1 remove return statement at ("test/cases/small/add.c": line 2) +// 1 remove empty compound at ("test/cases/small/add.c": line 1) // 1 remove return statement at ("test/cases/small/add.c": line 6) +// 0 remove empty compound at ("test/cases/small/add.c": line 5) int add(int a, int b) { diff --git a/rtree-c/test/expected/add/reduction/r0001110.c.hs b/rtree-c/test/expected/add/reduction/r0001110.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r0001110.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r0001111.c b/rtree-c/test/expected/add/reduction/r0001111.c new file mode 100644 index 0000000..1112f98 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r0001111.c @@ -0,0 +1,14 @@ +// 0 remove function add at ("test/cases/small/add.c": line 1) +// 0 remove parameter at ("test/cases/small/add.c": line 1) +// 0 remove parameter at ("test/cases/small/add.c": line 1) +// 1 remove return statement at ("test/cases/small/add.c": line 2) +// 1 remove empty compound at ("test/cases/small/add.c": line 1) +// 1 remove return statement at ("test/cases/small/add.c": line 6) +// 1 remove empty compound at ("test/cases/small/add.c": line 5) + +int add(int a, int b) +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/add/reduction/r0001111.c.hs b/rtree-c/test/expected/add/reduction/r0001111.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r0001111.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r001000.c.hs b/rtree-c/test/expected/add/reduction/r001000.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r001000.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r001001.c.hs b/rtree-c/test/expected/add/reduction/r001001.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r001001.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r00101.c b/rtree-c/test/expected/add/reduction/r001010.c similarity index 84% rename from rtree-c/test/expected/add/reduction/r00101.c rename to rtree-c/test/expected/add/reduction/r001010.c index 0ee958d..ebb9b3a 100644 --- a/rtree-c/test/expected/add/reduction/r00101.c +++ b/rtree-c/test/expected/add/reduction/r001010.c @@ -3,6 +3,7 @@ // 1 remove parameter at ("test/cases/small/add.c": line 1) // 0 remove return statement at ("test/cases/small/add.c": line 2) // 1 remove return statement at ("test/cases/small/add.c": line 6) +// 0 remove empty compound at ("test/cases/small/add.c": line 5) int add(int a) { diff --git a/rtree-c/test/expected/add/reduction/r001010.c.hs b/rtree-c/test/expected/add/reduction/r001010.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r001010.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r001011.c b/rtree-c/test/expected/add/reduction/r001011.c new file mode 100644 index 0000000..1498fb3 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r001011.c @@ -0,0 +1,14 @@ +// 0 remove function add at ("test/cases/small/add.c": line 1) +// 0 remove parameter at ("test/cases/small/add.c": line 1) +// 1 remove parameter at ("test/cases/small/add.c": line 1) +// 0 remove return statement at ("test/cases/small/add.c": line 2) +// 1 remove return statement at ("test/cases/small/add.c": line 6) +// 1 remove empty compound at ("test/cases/small/add.c": line 5) + +int add(int a) +{ + return a; +} +int main() +{ +} diff --git a/rtree-c/test/expected/add/reduction/r001011.c.hs b/rtree-c/test/expected/add/reduction/r001011.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r001011.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r001100.c b/rtree-c/test/expected/add/reduction/r0011000.c similarity index 86% rename from rtree-c/test/expected/add/reduction/r001100.c rename to rtree-c/test/expected/add/reduction/r0011000.c index 8b1f243..a2306c0 100644 --- a/rtree-c/test/expected/add/reduction/r001100.c +++ b/rtree-c/test/expected/add/reduction/r0011000.c @@ -2,6 +2,7 @@ // 0 remove parameter at ("test/cases/small/add.c": line 1) // 1 remove parameter at ("test/cases/small/add.c": line 1) // 1 remove return statement at ("test/cases/small/add.c": line 2) +// 0 remove empty compound at ("test/cases/small/add.c": line 1) // 0 remove return statement at ("test/cases/small/add.c": line 6) // 0 do without param at ("test/cases/small/add.c": line 6) diff --git a/rtree-c/test/expected/add/reduction/r0011000.c.hs b/rtree-c/test/expected/add/reduction/r0011000.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r0011000.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r001101.c b/rtree-c/test/expected/add/reduction/r0011001.c similarity index 86% rename from rtree-c/test/expected/add/reduction/r001101.c rename to rtree-c/test/expected/add/reduction/r0011001.c index aff561a..cd6a239 100644 --- a/rtree-c/test/expected/add/reduction/r001101.c +++ b/rtree-c/test/expected/add/reduction/r0011001.c @@ -2,6 +2,7 @@ // 0 remove parameter at ("test/cases/small/add.c": line 1) // 1 remove parameter at ("test/cases/small/add.c": line 1) // 1 remove return statement at ("test/cases/small/add.c": line 2) +// 0 remove empty compound at ("test/cases/small/add.c": line 1) // 0 remove return statement at ("test/cases/small/add.c": line 6) // 1 do without param at ("test/cases/small/add.c": line 6) diff --git a/rtree-c/test/expected/add/reduction/r0011001.c.hs b/rtree-c/test/expected/add/reduction/r0011001.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r0011001.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r00111.c b/rtree-c/test/expected/add/reduction/r0011010.c similarity index 73% rename from rtree-c/test/expected/add/reduction/r00111.c rename to rtree-c/test/expected/add/reduction/r0011010.c index 8d2fea1..d45ce34 100644 --- a/rtree-c/test/expected/add/reduction/r00111.c +++ b/rtree-c/test/expected/add/reduction/r0011010.c @@ -2,7 +2,9 @@ // 0 remove parameter at ("test/cases/small/add.c": line 1) // 1 remove parameter at ("test/cases/small/add.c": line 1) // 1 remove return statement at ("test/cases/small/add.c": line 2) +// 0 remove empty compound at ("test/cases/small/add.c": line 1) // 1 remove return statement at ("test/cases/small/add.c": line 6) +// 0 remove empty compound at ("test/cases/small/add.c": line 5) int add(int a) { diff --git a/rtree-c/test/expected/add/reduction/r0011010.c.hs b/rtree-c/test/expected/add/reduction/r0011010.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r0011010.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r0011011.c b/rtree-c/test/expected/add/reduction/r0011011.c new file mode 100644 index 0000000..e3e49a9 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r0011011.c @@ -0,0 +1,14 @@ +// 0 remove function add at ("test/cases/small/add.c": line 1) +// 0 remove parameter at ("test/cases/small/add.c": line 1) +// 1 remove parameter at ("test/cases/small/add.c": line 1) +// 1 remove return statement at ("test/cases/small/add.c": line 2) +// 0 remove empty compound at ("test/cases/small/add.c": line 1) +// 1 remove return statement at ("test/cases/small/add.c": line 6) +// 1 remove empty compound at ("test/cases/small/add.c": line 5) + +int add(int a) +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/add/reduction/r0011011.c.hs b/rtree-c/test/expected/add/reduction/r0011011.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r0011011.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r0011100.c b/rtree-c/test/expected/add/reduction/r0011100.c new file mode 100644 index 0000000..d1d7f5b --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r0011100.c @@ -0,0 +1,15 @@ +// 0 remove function add at ("test/cases/small/add.c": line 1) +// 0 remove parameter at ("test/cases/small/add.c": line 1) +// 1 remove parameter at ("test/cases/small/add.c": line 1) +// 1 remove return statement at ("test/cases/small/add.c": line 2) +// 1 remove empty compound at ("test/cases/small/add.c": line 1) +// 0 remove return statement at ("test/cases/small/add.c": line 6) +// 0 do without param at ("test/cases/small/add.c": line 6) + +int add(int a) +{ +} +int main() +{ + return add(10); +} diff --git a/rtree-c/test/expected/add/reduction/r0011100.c.hs b/rtree-c/test/expected/add/reduction/r0011100.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r0011100.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r0011101.c b/rtree-c/test/expected/add/reduction/r0011101.c new file mode 100644 index 0000000..0b2fe43 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r0011101.c @@ -0,0 +1,15 @@ +// 0 remove function add at ("test/cases/small/add.c": line 1) +// 0 remove parameter at ("test/cases/small/add.c": line 1) +// 1 remove parameter at ("test/cases/small/add.c": line 1) +// 1 remove return statement at ("test/cases/small/add.c": line 2) +// 1 remove empty compound at ("test/cases/small/add.c": line 1) +// 0 remove return statement at ("test/cases/small/add.c": line 6) +// 1 do without param at ("test/cases/small/add.c": line 6) + +int add(int a) +{ +} +int main() +{ + return add(0); +} diff --git a/rtree-c/test/expected/add/reduction/r0011101.c.hs b/rtree-c/test/expected/add/reduction/r0011101.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r0011101.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r0011110.c b/rtree-c/test/expected/add/reduction/r0011110.c new file mode 100644 index 0000000..426782c --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r0011110.c @@ -0,0 +1,14 @@ +// 0 remove function add at ("test/cases/small/add.c": line 1) +// 0 remove parameter at ("test/cases/small/add.c": line 1) +// 1 remove parameter at ("test/cases/small/add.c": line 1) +// 1 remove return statement at ("test/cases/small/add.c": line 2) +// 1 remove empty compound at ("test/cases/small/add.c": line 1) +// 1 remove return statement at ("test/cases/small/add.c": line 6) +// 0 remove empty compound at ("test/cases/small/add.c": line 5) + +int add(int a) +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/add/reduction/r0011110.c.hs b/rtree-c/test/expected/add/reduction/r0011110.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r0011110.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r0011111.c b/rtree-c/test/expected/add/reduction/r0011111.c new file mode 100644 index 0000000..714ce13 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r0011111.c @@ -0,0 +1,14 @@ +// 0 remove function add at ("test/cases/small/add.c": line 1) +// 0 remove parameter at ("test/cases/small/add.c": line 1) +// 1 remove parameter at ("test/cases/small/add.c": line 1) +// 1 remove return statement at ("test/cases/small/add.c": line 2) +// 1 remove empty compound at ("test/cases/small/add.c": line 1) +// 1 remove return statement at ("test/cases/small/add.c": line 6) +// 1 remove empty compound at ("test/cases/small/add.c": line 5) + +int add(int a) +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/add/reduction/r0011111.c.hs b/rtree-c/test/expected/add/reduction/r0011111.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r0011111.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r01000.c b/rtree-c/test/expected/add/reduction/r010000.c similarity index 84% rename from rtree-c/test/expected/add/reduction/r01000.c rename to rtree-c/test/expected/add/reduction/r010000.c index 2463667..262510c 100644 --- a/rtree-c/test/expected/add/reduction/r01000.c +++ b/rtree-c/test/expected/add/reduction/r010000.c @@ -1,6 +1,7 @@ // 0 remove function add at ("test/cases/small/add.c": line 1) // 1 remove parameter at ("test/cases/small/add.c": line 1) // 0 remove parameter at ("test/cases/small/add.c": line 1) +// 0 remove empty compound at ("test/cases/small/add.c": line 1) // 0 remove return statement at ("test/cases/small/add.c": line 6) // 0 do without param at ("test/cases/small/add.c": line 6) diff --git a/rtree-c/test/expected/add/reduction/r010000.c.hs b/rtree-c/test/expected/add/reduction/r010000.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r010000.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r01001.c b/rtree-c/test/expected/add/reduction/r010001.c similarity index 84% rename from rtree-c/test/expected/add/reduction/r01001.c rename to rtree-c/test/expected/add/reduction/r010001.c index 5a914f2..4024a9e 100644 --- a/rtree-c/test/expected/add/reduction/r01001.c +++ b/rtree-c/test/expected/add/reduction/r010001.c @@ -1,6 +1,7 @@ // 0 remove function add at ("test/cases/small/add.c": line 1) // 1 remove parameter at ("test/cases/small/add.c": line 1) // 0 remove parameter at ("test/cases/small/add.c": line 1) +// 0 remove empty compound at ("test/cases/small/add.c": line 1) // 0 remove return statement at ("test/cases/small/add.c": line 6) // 1 do without param at ("test/cases/small/add.c": line 6) diff --git a/rtree-c/test/expected/add/reduction/r010001.c.hs b/rtree-c/test/expected/add/reduction/r010001.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r010001.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r0101.c b/rtree-c/test/expected/add/reduction/r010010.c similarity index 68% rename from rtree-c/test/expected/add/reduction/r0101.c rename to rtree-c/test/expected/add/reduction/r010010.c index 49eb1c9..a378b98 100644 --- a/rtree-c/test/expected/add/reduction/r0101.c +++ b/rtree-c/test/expected/add/reduction/r010010.c @@ -1,7 +1,9 @@ // 0 remove function add at ("test/cases/small/add.c": line 1) // 1 remove parameter at ("test/cases/small/add.c": line 1) // 0 remove parameter at ("test/cases/small/add.c": line 1) +// 0 remove empty compound at ("test/cases/small/add.c": line 1) // 1 remove return statement at ("test/cases/small/add.c": line 6) +// 0 remove empty compound at ("test/cases/small/add.c": line 5) int add(int b) { diff --git a/rtree-c/test/expected/add/reduction/r010010.c.hs b/rtree-c/test/expected/add/reduction/r010010.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r010010.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r010011.c b/rtree-c/test/expected/add/reduction/r010011.c new file mode 100644 index 0000000..9823c41 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r010011.c @@ -0,0 +1,13 @@ +// 0 remove function add at ("test/cases/small/add.c": line 1) +// 1 remove parameter at ("test/cases/small/add.c": line 1) +// 0 remove parameter at ("test/cases/small/add.c": line 1) +// 0 remove empty compound at ("test/cases/small/add.c": line 1) +// 1 remove return statement at ("test/cases/small/add.c": line 6) +// 1 remove empty compound at ("test/cases/small/add.c": line 5) + +int add(int b) +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/add/reduction/r010011.c.hs b/rtree-c/test/expected/add/reduction/r010011.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r010011.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r010100.c b/rtree-c/test/expected/add/reduction/r010100.c new file mode 100644 index 0000000..73156b4 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r010100.c @@ -0,0 +1,14 @@ +// 0 remove function add at ("test/cases/small/add.c": line 1) +// 1 remove parameter at ("test/cases/small/add.c": line 1) +// 0 remove parameter at ("test/cases/small/add.c": line 1) +// 1 remove empty compound at ("test/cases/small/add.c": line 1) +// 0 remove return statement at ("test/cases/small/add.c": line 6) +// 0 do without param at ("test/cases/small/add.c": line 6) + +int add(int b) +{ +} +int main() +{ + return add(23); +} diff --git a/rtree-c/test/expected/add/reduction/r010100.c.hs b/rtree-c/test/expected/add/reduction/r010100.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r010100.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r010101.c b/rtree-c/test/expected/add/reduction/r010101.c new file mode 100644 index 0000000..346f93b --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r010101.c @@ -0,0 +1,14 @@ +// 0 remove function add at ("test/cases/small/add.c": line 1) +// 1 remove parameter at ("test/cases/small/add.c": line 1) +// 0 remove parameter at ("test/cases/small/add.c": line 1) +// 1 remove empty compound at ("test/cases/small/add.c": line 1) +// 0 remove return statement at ("test/cases/small/add.c": line 6) +// 1 do without param at ("test/cases/small/add.c": line 6) + +int add(int b) +{ +} +int main() +{ + return add(0); +} diff --git a/rtree-c/test/expected/add/reduction/r010101.c.hs b/rtree-c/test/expected/add/reduction/r010101.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r010101.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r010110.c b/rtree-c/test/expected/add/reduction/r010110.c new file mode 100644 index 0000000..4fa2926 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r010110.c @@ -0,0 +1,13 @@ +// 0 remove function add at ("test/cases/small/add.c": line 1) +// 1 remove parameter at ("test/cases/small/add.c": line 1) +// 0 remove parameter at ("test/cases/small/add.c": line 1) +// 1 remove empty compound at ("test/cases/small/add.c": line 1) +// 1 remove return statement at ("test/cases/small/add.c": line 6) +// 0 remove empty compound at ("test/cases/small/add.c": line 5) + +int add(int b) +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/add/reduction/r010110.c.hs b/rtree-c/test/expected/add/reduction/r010110.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r010110.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r010111.c b/rtree-c/test/expected/add/reduction/r010111.c new file mode 100644 index 0000000..526c58d --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r010111.c @@ -0,0 +1,13 @@ +// 0 remove function add at ("test/cases/small/add.c": line 1) +// 1 remove parameter at ("test/cases/small/add.c": line 1) +// 0 remove parameter at ("test/cases/small/add.c": line 1) +// 1 remove empty compound at ("test/cases/small/add.c": line 1) +// 1 remove return statement at ("test/cases/small/add.c": line 6) +// 1 remove empty compound at ("test/cases/small/add.c": line 5) + +int add(int b) +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/add/reduction/r010111.c.hs b/rtree-c/test/expected/add/reduction/r010111.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r010111.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r0110.c b/rtree-c/test/expected/add/reduction/r01100.c similarity index 82% rename from rtree-c/test/expected/add/reduction/r0110.c rename to rtree-c/test/expected/add/reduction/r01100.c index cff4021..795f55b 100644 --- a/rtree-c/test/expected/add/reduction/r0110.c +++ b/rtree-c/test/expected/add/reduction/r01100.c @@ -1,6 +1,7 @@ // 0 remove function add at ("test/cases/small/add.c": line 1) // 1 remove parameter at ("test/cases/small/add.c": line 1) // 1 remove parameter at ("test/cases/small/add.c": line 1) +// 0 remove empty compound at ("test/cases/small/add.c": line 1) // 0 remove return statement at ("test/cases/small/add.c": line 6) int add() diff --git a/rtree-c/test/expected/add/reduction/r01100.c.hs b/rtree-c/test/expected/add/reduction/r01100.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r01100.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r0111.c b/rtree-c/test/expected/add/reduction/r011010.c similarity index 68% rename from rtree-c/test/expected/add/reduction/r0111.c rename to rtree-c/test/expected/add/reduction/r011010.c index d62e6f2..dd3af1c 100644 --- a/rtree-c/test/expected/add/reduction/r0111.c +++ b/rtree-c/test/expected/add/reduction/r011010.c @@ -1,7 +1,9 @@ // 0 remove function add at ("test/cases/small/add.c": line 1) // 1 remove parameter at ("test/cases/small/add.c": line 1) // 1 remove parameter at ("test/cases/small/add.c": line 1) +// 0 remove empty compound at ("test/cases/small/add.c": line 1) // 1 remove return statement at ("test/cases/small/add.c": line 6) +// 0 remove empty compound at ("test/cases/small/add.c": line 5) int add() { diff --git a/rtree-c/test/expected/add/reduction/r011010.c.hs b/rtree-c/test/expected/add/reduction/r011010.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r011010.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r011011.c b/rtree-c/test/expected/add/reduction/r011011.c new file mode 100644 index 0000000..ee11fbd --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r011011.c @@ -0,0 +1,13 @@ +// 0 remove function add at ("test/cases/small/add.c": line 1) +// 1 remove parameter at ("test/cases/small/add.c": line 1) +// 1 remove parameter at ("test/cases/small/add.c": line 1) +// 0 remove empty compound at ("test/cases/small/add.c": line 1) +// 1 remove return statement at ("test/cases/small/add.c": line 6) +// 1 remove empty compound at ("test/cases/small/add.c": line 5) + +int add() +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/add/reduction/r011011.c.hs b/rtree-c/test/expected/add/reduction/r011011.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r011011.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r01110.c b/rtree-c/test/expected/add/reduction/r01110.c new file mode 100644 index 0000000..3afb219 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r01110.c @@ -0,0 +1,13 @@ +// 0 remove function add at ("test/cases/small/add.c": line 1) +// 1 remove parameter at ("test/cases/small/add.c": line 1) +// 1 remove parameter at ("test/cases/small/add.c": line 1) +// 1 remove empty compound at ("test/cases/small/add.c": line 1) +// 0 remove return statement at ("test/cases/small/add.c": line 6) + +int add() +{ +} +int main() +{ + return add(); +} diff --git a/rtree-c/test/expected/add/reduction/r01110.c.hs b/rtree-c/test/expected/add/reduction/r01110.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r01110.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r011110.c b/rtree-c/test/expected/add/reduction/r011110.c new file mode 100644 index 0000000..c9ba2cc --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r011110.c @@ -0,0 +1,13 @@ +// 0 remove function add at ("test/cases/small/add.c": line 1) +// 1 remove parameter at ("test/cases/small/add.c": line 1) +// 1 remove parameter at ("test/cases/small/add.c": line 1) +// 1 remove empty compound at ("test/cases/small/add.c": line 1) +// 1 remove return statement at ("test/cases/small/add.c": line 6) +// 0 remove empty compound at ("test/cases/small/add.c": line 5) + +int add() +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/add/reduction/r011110.c.hs b/rtree-c/test/expected/add/reduction/r011110.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r011110.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r011111.c b/rtree-c/test/expected/add/reduction/r011111.c new file mode 100644 index 0000000..5de8f09 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r011111.c @@ -0,0 +1,13 @@ +// 0 remove function add at ("test/cases/small/add.c": line 1) +// 1 remove parameter at ("test/cases/small/add.c": line 1) +// 1 remove parameter at ("test/cases/small/add.c": line 1) +// 1 remove empty compound at ("test/cases/small/add.c": line 1) +// 1 remove return statement at ("test/cases/small/add.c": line 6) +// 1 remove empty compound at ("test/cases/small/add.c": line 5) + +int add() +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/add/reduction/r011111.c.hs b/rtree-c/test/expected/add/reduction/r011111.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r011111.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r1000.c.hs b/rtree-c/test/expected/add/reduction/r1000.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r1000.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r1001.c.hs b/rtree-c/test/expected/add/reduction/r1001.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r1001.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r1010.c.hs b/rtree-c/test/expected/add/reduction/r1010.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r1010.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r1011.c.hs b/rtree-c/test/expected/add/reduction/r1011.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r1011.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r11.c b/rtree-c/test/expected/add/reduction/r110.c similarity index 69% rename from rtree-c/test/expected/add/reduction/r11.c rename to rtree-c/test/expected/add/reduction/r110.c index 8ef1eed..ab0b03b 100644 --- a/rtree-c/test/expected/add/reduction/r11.c +++ b/rtree-c/test/expected/add/reduction/r110.c @@ -1,5 +1,6 @@ // 1 remove function add at ("test/cases/small/add.c": line 1) // 1 remove return statement at ("test/cases/small/add.c": line 6) +// 0 remove empty compound at ("test/cases/small/add.c": line 5) int main() { diff --git a/rtree-c/test/expected/add/reduction/r110.c.hs b/rtree-c/test/expected/add/reduction/r110.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r110.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/add/reduction/r111.c b/rtree-c/test/expected/add/reduction/r111.c new file mode 100644 index 0000000..ae5dc16 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r111.c @@ -0,0 +1,7 @@ +// 1 remove function add at ("test/cases/small/add.c": line 1) +// 1 remove return statement at ("test/cases/small/add.c": line 6) +// 1 remove empty compound at ("test/cases/small/add.c": line 5) + +int main() +{ +} diff --git a/rtree-c/test/expected/add/reduction/r111.c.hs b/rtree-c/test/expected/add/reduction/r111.c.hs new file mode 100644 index 0000000..2535b05 --- /dev/null +++ b/rtree-c/test/expected/add/reduction/r111.c.hs @@ -0,0 +1,88 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "add" 1651297 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "b" 98 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CVar + ( Ident "b" 98 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "add" 1651297 () ) () + ) + [ CConst + ( CIntConst 10 () ) + , CConst + ( CIntConst 23 () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/clang-22382/extract.c b/rtree-c/test/expected/clang-22382/extract.c index 8651efe..f85e239 100644 --- a/rtree-c/test/expected/clang-22382/extract.c +++ b/rtree-c/test/expected/clang-22382/extract.c @@ -1412,6 +1412,8 @@ static struct S0 func_59(uint32_t p_60, g_1109 ^= 0xface4f9578fc59a3LL <= 0x61490d3a8ca6555aLL; safe_unary_minus_func_int8_t_s(0L < safe_add_func_int16_t_s_s(g_35.f3, 0x16abL)); + { + } safe_sub_func_int8_t_s_s(0x5cL, safe_rshift_func_uint16_t_u_u(0xd7eeL, 14)); g_158 -= 1; @@ -1498,6 +1500,8 @@ static int32_t func_66(uint16_t p_67, struct S0 p_68) safe_rshift_func_int8_t_s_u(safe_lshift_func_uint16_t_u_u(g_158, 12) == 0x70b449b74578e65aLL, 2); + { + } safe_rshift_func_uint16_t_u_u(g_755[5] < (0x70e0L != safe_sub_func_uint32_t_u_u((g_755[7], g_1109), 1uL) || g_1145[0].f2), 2); @@ -1532,6 +1536,8 @@ static int32_t func_66(uint16_t p_67, struct S0 p_68) l_168 += 1; g_86 |= 0xffL; safe_mod_func_int64_t_s_s(252uL ^ g_251, 0x54eab2ce98b21cf8LL); + { + } g_251 += 1; safe_mul_func_int8_t_s_s(g_388.f3, 7uL); safe_mod_func_int64_t_s_s(252uL ^ g_251, 0x54eab2ce98b21cf8LL); diff --git a/rtree-c/test/expected/clang-22382/reduction/p0.path b/rtree-c/test/expected/clang-22382/reduction/p0.path index ca29af7..4389dd3 100644 --- a/rtree-c/test/expected/clang-22382/reduction/p0.path +++ b/rtree-c/test/expected/clang-22382/reduction/p0.path @@ -2285,6 +2285,7 @@ * remove initializer at ("test/cases/large/clang-22382.c": line 1570) * reduce to left at ("test/cases/large/clang-22382.c": line 1570) * reduce to right at ("test/cases/large/clang-22382.c": line 1570) +* remove empty compound at ("test/cases/large/clang-22382.c": line 1571) * remove check at ("test/cases/large/clang-22382.c": line 1570) * remove iterator at ("test/cases/large/clang-22382.c": line 1570) * reduce to operant at ("test/cases/large/clang-22382.c": line 1570) @@ -4329,6 +4330,8 @@ * do without param at ("test/cases/large/clang-22382.c": line 2238) * do without param at ("test/cases/large/clang-22382.c": line 2238) * do without param at ("test/cases/large/clang-22382.c": line 2238) +* remove empty compound at ("test/cases/large/clang-22382.c": line 2245) +* expand compound statment at ("test/cases/large/clang-22382.c": line 2245) * remove expr statement at ("test/cases/large/clang-22382.c": line 2255) * do without param at ("test/cases/large/clang-22382.c": line 2255) * do without param at ("test/cases/large/clang-22382.c": line 2255) @@ -4613,6 +4616,8 @@ * do without param at ("test/cases/large/clang-22382.c": line 2381) * do without param at ("test/cases/large/clang-22382.c": line 2381) * do without param at ("test/cases/large/clang-22382.c": line 2381) +* remove empty compound at ("test/cases/large/clang-22382.c": line 2388) +* expand compound statment at ("test/cases/large/clang-22382.c": line 2388) * remove expr statement at ("test/cases/large/clang-22382.c": line 2394) * do without param at ("test/cases/large/clang-22382.c": line 2394) * replace by zero at ("test/cases/large/clang-22382.c": line 2394) @@ -4708,6 +4713,8 @@ * reduce to left at ("test/cases/large/clang-22382.c": line 2456) * reduce to right at ("test/cases/large/clang-22382.c": line 2456) * do without param at ("test/cases/large/clang-22382.c": line 2456) +* remove empty compound at ("test/cases/large/clang-22382.c": line 2463) +* expand compound statment at ("test/cases/large/clang-22382.c": line 2463) * remove expr statement at ("test/cases/large/clang-22382.c": line 2474) * reduce to left at ("test/cases/large/clang-22382.c": line 2474) * reduce to right at ("test/cases/large/clang-22382.c": line 2474) diff --git a/rtree-c/test/expected/clang-22382/reduction/p1.path b/rtree-c/test/expected/clang-22382/reduction/p1.path index 05d92e8..088913a 100644 --- a/rtree-c/test/expected/clang-22382/reduction/p1.path +++ b/rtree-c/test/expected/clang-22382/reduction/p1.path @@ -2314,6 +2314,7 @@ * remove initializer at ("test/cases/large/clang-22382.c": line 1570) * reduce to left at ("test/cases/large/clang-22382.c": line 1570) * reduce to right at ("test/cases/large/clang-22382.c": line 1570) +* remove empty compound at ("test/cases/large/clang-22382.c": line 1571) * remove check at ("test/cases/large/clang-22382.c": line 1570) * remove iterator at ("test/cases/large/clang-22382.c": line 1570) * reduce to operant at ("test/cases/large/clang-22382.c": line 1570) @@ -4358,6 +4359,8 @@ * do without param at ("test/cases/large/clang-22382.c": line 2238) * do without param at ("test/cases/large/clang-22382.c": line 2238) * do without param at ("test/cases/large/clang-22382.c": line 2238) +* remove empty compound at ("test/cases/large/clang-22382.c": line 2245) +* expand compound statment at ("test/cases/large/clang-22382.c": line 2245) * remove expr statement at ("test/cases/large/clang-22382.c": line 2255) * do without param at ("test/cases/large/clang-22382.c": line 2255) * do without param at ("test/cases/large/clang-22382.c": line 2255) @@ -4642,6 +4645,8 @@ * do without param at ("test/cases/large/clang-22382.c": line 2381) * do without param at ("test/cases/large/clang-22382.c": line 2381) * do without param at ("test/cases/large/clang-22382.c": line 2381) +* remove empty compound at ("test/cases/large/clang-22382.c": line 2388) +* expand compound statment at ("test/cases/large/clang-22382.c": line 2388) * remove expr statement at ("test/cases/large/clang-22382.c": line 2394) * do without param at ("test/cases/large/clang-22382.c": line 2394) * replace by zero at ("test/cases/large/clang-22382.c": line 2394) @@ -4737,6 +4742,8 @@ * reduce to left at ("test/cases/large/clang-22382.c": line 2456) * reduce to right at ("test/cases/large/clang-22382.c": line 2456) * do without param at ("test/cases/large/clang-22382.c": line 2456) +* remove empty compound at ("test/cases/large/clang-22382.c": line 2463) +* expand compound statment at ("test/cases/large/clang-22382.c": line 2463) * remove expr statement at ("test/cases/large/clang-22382.c": line 2474) * reduce to left at ("test/cases/large/clang-22382.c": line 2474) * reduce to right at ("test/cases/large/clang-22382.c": line 2474) diff --git a/rtree-c/test/expected/clang-22382/reduction/p2.path b/rtree-c/test/expected/clang-22382/reduction/p2.path index 129643e..1c15867 100644 --- a/rtree-c/test/expected/clang-22382/reduction/p2.path +++ b/rtree-c/test/expected/clang-22382/reduction/p2.path @@ -2343,6 +2343,7 @@ * remove initializer at ("test/cases/large/clang-22382.c": line 1570) * reduce to left at ("test/cases/large/clang-22382.c": line 1570) * reduce to right at ("test/cases/large/clang-22382.c": line 1570) +* remove empty compound at ("test/cases/large/clang-22382.c": line 1571) * remove check at ("test/cases/large/clang-22382.c": line 1570) * remove iterator at ("test/cases/large/clang-22382.c": line 1570) * reduce to operant at ("test/cases/large/clang-22382.c": line 1570) @@ -4387,6 +4388,8 @@ * do without param at ("test/cases/large/clang-22382.c": line 2238) * do without param at ("test/cases/large/clang-22382.c": line 2238) * do without param at ("test/cases/large/clang-22382.c": line 2238) +* remove empty compound at ("test/cases/large/clang-22382.c": line 2245) +* expand compound statment at ("test/cases/large/clang-22382.c": line 2245) * remove expr statement at ("test/cases/large/clang-22382.c": line 2255) * do without param at ("test/cases/large/clang-22382.c": line 2255) * do without param at ("test/cases/large/clang-22382.c": line 2255) @@ -4671,6 +4674,8 @@ * do without param at ("test/cases/large/clang-22382.c": line 2381) * do without param at ("test/cases/large/clang-22382.c": line 2381) * do without param at ("test/cases/large/clang-22382.c": line 2381) +* remove empty compound at ("test/cases/large/clang-22382.c": line 2388) +* expand compound statment at ("test/cases/large/clang-22382.c": line 2388) * remove expr statement at ("test/cases/large/clang-22382.c": line 2394) * do without param at ("test/cases/large/clang-22382.c": line 2394) * replace by zero at ("test/cases/large/clang-22382.c": line 2394) @@ -4766,6 +4771,8 @@ * reduce to left at ("test/cases/large/clang-22382.c": line 2456) * reduce to right at ("test/cases/large/clang-22382.c": line 2456) * do without param at ("test/cases/large/clang-22382.c": line 2456) +* remove empty compound at ("test/cases/large/clang-22382.c": line 2463) +* expand compound statment at ("test/cases/large/clang-22382.c": line 2463) * remove expr statement at ("test/cases/large/clang-22382.c": line 2474) * reduce to left at ("test/cases/large/clang-22382.c": line 2474) * reduce to right at ("test/cases/large/clang-22382.c": line 2474) diff --git a/rtree-c/test/expected/clang-22382/reduction/p3.path b/rtree-c/test/expected/clang-22382/reduction/p3.path index acf96e7..9260fcd 100644 --- a/rtree-c/test/expected/clang-22382/reduction/p3.path +++ b/rtree-c/test/expected/clang-22382/reduction/p3.path @@ -2343,6 +2343,7 @@ * remove initializer at ("test/cases/large/clang-22382.c": line 1570) * reduce to left at ("test/cases/large/clang-22382.c": line 1570) * reduce to right at ("test/cases/large/clang-22382.c": line 1570) +* remove empty compound at ("test/cases/large/clang-22382.c": line 1571) * remove check at ("test/cases/large/clang-22382.c": line 1570) * remove iterator at ("test/cases/large/clang-22382.c": line 1570) * reduce to operant at ("test/cases/large/clang-22382.c": line 1570) @@ -4387,6 +4388,8 @@ * do without param at ("test/cases/large/clang-22382.c": line 2238) * do without param at ("test/cases/large/clang-22382.c": line 2238) * do without param at ("test/cases/large/clang-22382.c": line 2238) +* remove empty compound at ("test/cases/large/clang-22382.c": line 2245) +* expand compound statment at ("test/cases/large/clang-22382.c": line 2245) * remove expr statement at ("test/cases/large/clang-22382.c": line 2255) * do without param at ("test/cases/large/clang-22382.c": line 2255) * do without param at ("test/cases/large/clang-22382.c": line 2255) @@ -4671,6 +4674,8 @@ * do without param at ("test/cases/large/clang-22382.c": line 2381) * do without param at ("test/cases/large/clang-22382.c": line 2381) * do without param at ("test/cases/large/clang-22382.c": line 2381) +* remove empty compound at ("test/cases/large/clang-22382.c": line 2388) +* expand compound statment at ("test/cases/large/clang-22382.c": line 2388) * remove expr statement at ("test/cases/large/clang-22382.c": line 2394) * do without param at ("test/cases/large/clang-22382.c": line 2394) * replace by zero at ("test/cases/large/clang-22382.c": line 2394) @@ -4766,6 +4771,8 @@ * reduce to left at ("test/cases/large/clang-22382.c": line 2456) * reduce to right at ("test/cases/large/clang-22382.c": line 2456) * do without param at ("test/cases/large/clang-22382.c": line 2456) +* remove empty compound at ("test/cases/large/clang-22382.c": line 2463) +* expand compound statment at ("test/cases/large/clang-22382.c": line 2463) * remove expr statement at ("test/cases/large/clang-22382.c": line 2474) * reduce to left at ("test/cases/large/clang-22382.c": line 2474) * reduce to right at ("test/cases/large/clang-22382.c": line 2474) diff --git a/rtree-c/test/expected/clang-22382/reduction/p4.path b/rtree-c/test/expected/clang-22382/reduction/p4.path index cde75b7..03c4e8d 100644 --- a/rtree-c/test/expected/clang-22382/reduction/p4.path +++ b/rtree-c/test/expected/clang-22382/reduction/p4.path @@ -2264,6 +2264,7 @@ * remove initializer at ("test/cases/large/clang-22382.c": line 1570) * reduce to left at ("test/cases/large/clang-22382.c": line 1570) * reduce to right at ("test/cases/large/clang-22382.c": line 1570) +* remove empty compound at ("test/cases/large/clang-22382.c": line 1571) * remove check at ("test/cases/large/clang-22382.c": line 1570) * remove iterator at ("test/cases/large/clang-22382.c": line 1570) * reduce to operant at ("test/cases/large/clang-22382.c": line 1570) @@ -4308,6 +4309,8 @@ * do without param at ("test/cases/large/clang-22382.c": line 2238) * do without param at ("test/cases/large/clang-22382.c": line 2238) * do without param at ("test/cases/large/clang-22382.c": line 2238) +* remove empty compound at ("test/cases/large/clang-22382.c": line 2245) +* expand compound statment at ("test/cases/large/clang-22382.c": line 2245) * remove expr statement at ("test/cases/large/clang-22382.c": line 2255) * do without param at ("test/cases/large/clang-22382.c": line 2255) * do without param at ("test/cases/large/clang-22382.c": line 2255) @@ -4592,6 +4595,8 @@ * do without param at ("test/cases/large/clang-22382.c": line 2381) * do without param at ("test/cases/large/clang-22382.c": line 2381) * do without param at ("test/cases/large/clang-22382.c": line 2381) +* remove empty compound at ("test/cases/large/clang-22382.c": line 2388) +* expand compound statment at ("test/cases/large/clang-22382.c": line 2388) * remove expr statement at ("test/cases/large/clang-22382.c": line 2394) * do without param at ("test/cases/large/clang-22382.c": line 2394) * replace by zero at ("test/cases/large/clang-22382.c": line 2394) @@ -4687,6 +4692,8 @@ * reduce to left at ("test/cases/large/clang-22382.c": line 2456) * reduce to right at ("test/cases/large/clang-22382.c": line 2456) * do without param at ("test/cases/large/clang-22382.c": line 2456) +* remove empty compound at ("test/cases/large/clang-22382.c": line 2463) +* expand compound statment at ("test/cases/large/clang-22382.c": line 2463) * remove expr statement at ("test/cases/large/clang-22382.c": line 2474) * reduce to left at ("test/cases/large/clang-22382.c": line 2474) * reduce to right at ("test/cases/large/clang-22382.c": line 2474) diff --git a/rtree-c/test/expected/clang-22382/reduction/p5.path b/rtree-c/test/expected/clang-22382/reduction/p5.path index 7d0b949..7d44531 100644 --- a/rtree-c/test/expected/clang-22382/reduction/p5.path +++ b/rtree-c/test/expected/clang-22382/reduction/p5.path @@ -2033,6 +2033,7 @@ * remove initializer at ("test/cases/large/clang-22382.c": line 1570) * reduce to left at ("test/cases/large/clang-22382.c": line 1570) * reduce to right at ("test/cases/large/clang-22382.c": line 1570) +* remove empty compound at ("test/cases/large/clang-22382.c": line 1571) * remove check at ("test/cases/large/clang-22382.c": line 1570) * remove iterator at ("test/cases/large/clang-22382.c": line 1570) * reduce to operant at ("test/cases/large/clang-22382.c": line 1570) @@ -4077,6 +4078,8 @@ * do without param at ("test/cases/large/clang-22382.c": line 2238) * do without param at ("test/cases/large/clang-22382.c": line 2238) * do without param at ("test/cases/large/clang-22382.c": line 2238) +* remove empty compound at ("test/cases/large/clang-22382.c": line 2245) +* expand compound statment at ("test/cases/large/clang-22382.c": line 2245) * remove expr statement at ("test/cases/large/clang-22382.c": line 2255) * do without param at ("test/cases/large/clang-22382.c": line 2255) * do without param at ("test/cases/large/clang-22382.c": line 2255) @@ -4361,6 +4364,8 @@ * do without param at ("test/cases/large/clang-22382.c": line 2381) * do without param at ("test/cases/large/clang-22382.c": line 2381) * do without param at ("test/cases/large/clang-22382.c": line 2381) +* remove empty compound at ("test/cases/large/clang-22382.c": line 2388) +* expand compound statment at ("test/cases/large/clang-22382.c": line 2388) * remove expr statement at ("test/cases/large/clang-22382.c": line 2394) * do without param at ("test/cases/large/clang-22382.c": line 2394) * replace by zero at ("test/cases/large/clang-22382.c": line 2394) @@ -4456,6 +4461,8 @@ * reduce to left at ("test/cases/large/clang-22382.c": line 2456) * reduce to right at ("test/cases/large/clang-22382.c": line 2456) * do without param at ("test/cases/large/clang-22382.c": line 2456) +* remove empty compound at ("test/cases/large/clang-22382.c": line 2463) +* expand compound statment at ("test/cases/large/clang-22382.c": line 2463) * remove expr statement at ("test/cases/large/clang-22382.c": line 2474) * reduce to left at ("test/cases/large/clang-22382.c": line 2474) * reduce to right at ("test/cases/large/clang-22382.c": line 2474) diff --git a/rtree-c/test/expected/clang-22382/reduction/p6.path b/rtree-c/test/expected/clang-22382/reduction/p6.path index 7598a7b..c5835a4 100644 --- a/rtree-c/test/expected/clang-22382/reduction/p6.path +++ b/rtree-c/test/expected/clang-22382/reduction/p6.path @@ -1540,6 +1540,7 @@ * remove initializer at ("test/cases/large/clang-22382.c": line 1570) * reduce to left at ("test/cases/large/clang-22382.c": line 1570) * reduce to right at ("test/cases/large/clang-22382.c": line 1570) +* remove empty compound at ("test/cases/large/clang-22382.c": line 1571) * remove check at ("test/cases/large/clang-22382.c": line 1570) * remove iterator at ("test/cases/large/clang-22382.c": line 1570) * reduce to operant at ("test/cases/large/clang-22382.c": line 1570) @@ -3584,6 +3585,8 @@ * do without param at ("test/cases/large/clang-22382.c": line 2238) * do without param at ("test/cases/large/clang-22382.c": line 2238) * do without param at ("test/cases/large/clang-22382.c": line 2238) +* remove empty compound at ("test/cases/large/clang-22382.c": line 2245) +* expand compound statment at ("test/cases/large/clang-22382.c": line 2245) * remove expr statement at ("test/cases/large/clang-22382.c": line 2255) * do without param at ("test/cases/large/clang-22382.c": line 2255) * do without param at ("test/cases/large/clang-22382.c": line 2255) @@ -3868,6 +3871,8 @@ * do without param at ("test/cases/large/clang-22382.c": line 2381) * do without param at ("test/cases/large/clang-22382.c": line 2381) * do without param at ("test/cases/large/clang-22382.c": line 2381) +* remove empty compound at ("test/cases/large/clang-22382.c": line 2388) +* expand compound statment at ("test/cases/large/clang-22382.c": line 2388) * remove expr statement at ("test/cases/large/clang-22382.c": line 2394) * do without param at ("test/cases/large/clang-22382.c": line 2394) * replace by zero at ("test/cases/large/clang-22382.c": line 2394) @@ -3963,6 +3968,8 @@ * reduce to left at ("test/cases/large/clang-22382.c": line 2456) * reduce to right at ("test/cases/large/clang-22382.c": line 2456) * do without param at ("test/cases/large/clang-22382.c": line 2456) +* remove empty compound at ("test/cases/large/clang-22382.c": line 2463) +* expand compound statment at ("test/cases/large/clang-22382.c": line 2463) * remove expr statement at ("test/cases/large/clang-22382.c": line 2474) * reduce to left at ("test/cases/large/clang-22382.c": line 2474) * reduce to right at ("test/cases/large/clang-22382.c": line 2474) diff --git a/rtree-c/test/expected/clang-22382/reduction/p7.path b/rtree-c/test/expected/clang-22382/reduction/p7.path index 2ac1db7..992be92 100644 --- a/rtree-c/test/expected/clang-22382/reduction/p7.path +++ b/rtree-c/test/expected/clang-22382/reduction/p7.path @@ -399,6 +399,8 @@ * do without param at ("test/cases/large/clang-22382.c": line 1295) * reduce to operant at ("test/cases/large/clang-22382.c": line 1295) * do without param at ("test/cases/large/clang-22382.c": line 1295) +* remove empty compound at ("test/cases/large/clang-22382.c": line 1300) +* expand compound statment at ("test/cases/large/clang-22382.c": line 1300) * remove expr statement at ("test/cases/large/clang-22382.c": line 1304) * reduce to left at ("test/cases/large/clang-22382.c": line 1304) * reduce to right at ("test/cases/large/clang-22382.c": line 1304) @@ -580,6 +582,7 @@ * remove initializer at ("test/cases/large/clang-22382.c": line 1435) * reduce to left at ("test/cases/large/clang-22382.c": line 1435) * reduce to right at ("test/cases/large/clang-22382.c": line 1435) +* remove empty compound at ("test/cases/large/clang-22382.c": line 1436) * remove check at ("test/cases/large/clang-22382.c": line 1435) * remove iterator at ("test/cases/large/clang-22382.c": line 1435) * reduce to operant at ("test/cases/large/clang-22382.c": line 1435) @@ -704,6 +707,7 @@ * remove initializer at ("test/cases/large/clang-22382.c": line 1570) * reduce to left at ("test/cases/large/clang-22382.c": line 1570) * reduce to right at ("test/cases/large/clang-22382.c": line 1570) +* remove empty compound at ("test/cases/large/clang-22382.c": line 1571) * remove check at ("test/cases/large/clang-22382.c": line 1570) * remove iterator at ("test/cases/large/clang-22382.c": line 1570) * reduce to operant at ("test/cases/large/clang-22382.c": line 1570) @@ -1667,6 +1671,8 @@ * do without param at ("test/cases/large/clang-22382.c": line 1905) * do without param at ("test/cases/large/clang-22382.c": line 1905) * do without param at ("test/cases/large/clang-22382.c": line 1905) +* remove empty compound at ("test/cases/large/clang-22382.c": line 1906) +* expand compound statment at ("test/cases/large/clang-22382.c": line 1906) * remove expr statement at ("test/cases/large/clang-22382.c": line 1910) * do without param at ("test/cases/large/clang-22382.c": line 1910) * do without param at ("test/cases/large/clang-22382.c": line 1910) @@ -2077,6 +2083,8 @@ * replace by zero at ("test/cases/large/clang-22382.c": line 2189) * do without param at ("test/cases/large/clang-22382.c": line 2189) * expand compound statment at ("test/cases/large/clang-22382.c": line 2165) +* remove empty compound at ("test/cases/large/clang-22382.c": line 2194) +* expand compound statment at ("test/cases/large/clang-22382.c": line 2194) * inline variable l_1437 at ("test/cases/large/clang-22382.c": line 2204) * remove return statement at ("test/cases/large/clang-22382.c": line 2205) * expand compound statment at ("test/cases/large/clang-22382.c": line 2203) @@ -2118,6 +2126,8 @@ * remove expr statement at ("test/cases/large/clang-22382.c": line 2238) * do without param at ("test/cases/large/clang-22382.c": line 2238) * do without param at ("test/cases/large/clang-22382.c": line 2238) +* remove empty compound at ("test/cases/large/clang-22382.c": line 2245) +* expand compound statment at ("test/cases/large/clang-22382.c": line 2245) * remove expr statement at ("test/cases/large/clang-22382.c": line 2255) * do without param at ("test/cases/large/clang-22382.c": line 2255) * do without param at ("test/cases/large/clang-22382.c": line 2255) @@ -2359,6 +2369,8 @@ * do without param at ("test/cases/large/clang-22382.c": line 2381) * do without param at ("test/cases/large/clang-22382.c": line 2381) * do without param at ("test/cases/large/clang-22382.c": line 2381) +* remove empty compound at ("test/cases/large/clang-22382.c": line 2388) +* expand compound statment at ("test/cases/large/clang-22382.c": line 2388) * remove expr statement at ("test/cases/large/clang-22382.c": line 2394) * do without param at ("test/cases/large/clang-22382.c": line 2394) * replace by zero at ("test/cases/large/clang-22382.c": line 2394) @@ -2449,6 +2461,8 @@ * reduce to left at ("test/cases/large/clang-22382.c": line 2456) * reduce to right at ("test/cases/large/clang-22382.c": line 2456) * do without param at ("test/cases/large/clang-22382.c": line 2456) +* remove empty compound at ("test/cases/large/clang-22382.c": line 2463) +* expand compound statment at ("test/cases/large/clang-22382.c": line 2463) * remove expr statement at ("test/cases/large/clang-22382.c": line 2475) * do without param at ("test/cases/large/clang-22382.c": line 2475) * do without param at ("test/cases/large/clang-22382.c": line 2475) @@ -2508,6 +2522,8 @@ * do without param at ("test/cases/large/clang-22382.c": line 2526) * do without param at ("test/cases/large/clang-22382.c": line 2526) * do without param at ("test/cases/large/clang-22382.c": line 2526) +* remove empty compound at ("test/cases/large/clang-22382.c": line 2529) +* expand compound statment at ("test/cases/large/clang-22382.c": line 2529) * expand compound statment at ("test/cases/large/clang-22382.c": line 2502) * remove expr statement at ("test/cases/large/clang-22382.c": line 2536) * remove expr statement at ("test/cases/large/clang-22382.c": line 2539) @@ -2606,6 +2622,8 @@ * do without param at ("test/cases/large/clang-22382.c": line 2647) * do without param at ("test/cases/large/clang-22382.c": line 2647) * replace by zero at ("test/cases/large/clang-22382.c": line 2647) +* remove empty compound at ("test/cases/large/clang-22382.c": line 2651) +* expand compound statment at ("test/cases/large/clang-22382.c": line 2651) * remove expr statement at ("test/cases/large/clang-22382.c": line 2655) * do without param at ("test/cases/large/clang-22382.c": line 2655) * do without param at ("test/cases/large/clang-22382.c": line 2655) @@ -2791,6 +2809,9 @@ * remove expr statement at ("test/cases/large/clang-22382.c": line 2825) * do without param at ("test/cases/large/clang-22382.c": line 2825) * do without param at ("test/cases/large/clang-22382.c": line 2825) +* remove empty compound at ("test/cases/large/clang-22382.c": line 2831) +* expand compound statment at ("test/cases/large/clang-22382.c": line 2831) +* expand compound statment at ("test/cases/large/clang-22382.c": line 2828) * remove expr statement at ("test/cases/large/clang-22382.c": line 2837) * do without param at ("test/cases/large/clang-22382.c": line 2837) * do without param at ("test/cases/large/clang-22382.c": line 2837) diff --git a/rtree-c/test/expected/clang-22382/reduction/p9.path b/rtree-c/test/expected/clang-22382/reduction/p9.path index f6ceb31..08dd519 100644 --- a/rtree-c/test/expected/clang-22382/reduction/p9.path +++ b/rtree-c/test/expected/clang-22382/reduction/p9.path @@ -259,37 +259,45 @@ 1 remove condition at ("test/cases/large/clang-22382.c": line 2898) 1 remove expr statement at ("test/cases/large/clang-22382.c": line 2898) 1 expand compound statment at ("test/cases/large/clang-22382.c": line 2898) +1 remove empty compound at ("test/cases/large/clang-22382.c": line 2896) 1 remove expr statement at ("test/cases/large/clang-22382.c": line 2907) 1 remove condition at ("test/cases/large/clang-22382.c": line 2908) 1 remove expr statement at ("test/cases/large/clang-22382.c": line 2908) 1 expand compound statment at ("test/cases/large/clang-22382.c": line 2908) +1 remove empty compound at ("test/cases/large/clang-22382.c": line 2906) 1 remove expr statement at ("test/cases/large/clang-22382.c": line 2912) 1 remove expr statement at ("test/cases/large/clang-22382.c": line 2915) 1 remove condition at ("test/cases/large/clang-22382.c": line 2916) 1 remove expr statement at ("test/cases/large/clang-22382.c": line 2916) 1 expand compound statment at ("test/cases/large/clang-22382.c": line 2916) +1 remove empty compound at ("test/cases/large/clang-22382.c": line 2914) 1 remove expr statement at ("test/cases/large/clang-22382.c": line 2918) 1 remove expr statement at ("test/cases/large/clang-22382.c": line 2925) 1 remove condition at ("test/cases/large/clang-22382.c": line 2926) 1 remove expr statement at ("test/cases/large/clang-22382.c": line 2926) 1 expand compound statment at ("test/cases/large/clang-22382.c": line 2926) +1 remove empty compound at ("test/cases/large/clang-22382.c": line 2924) 1 remove expr statement at ("test/cases/large/clang-22382.c": line 2934) 1 remove condition at ("test/cases/large/clang-22382.c": line 2935) 1 remove expr statement at ("test/cases/large/clang-22382.c": line 2935) 1 expand compound statment at ("test/cases/large/clang-22382.c": line 2935) +1 remove empty compound at ("test/cases/large/clang-22382.c": line 2933) 1 remove expr statement at ("test/cases/large/clang-22382.c": line 2940) 1 remove condition at ("test/cases/large/clang-22382.c": line 2941) 1 remove expr statement at ("test/cases/large/clang-22382.c": line 2941) 1 expand compound statment at ("test/cases/large/clang-22382.c": line 2941) +1 remove empty compound at ("test/cases/large/clang-22382.c": line 2939) 1 remove expr statement at ("test/cases/large/clang-22382.c": line 2945) 1 remove condition at ("test/cases/large/clang-22382.c": line 2946) 1 remove expr statement at ("test/cases/large/clang-22382.c": line 2946) 1 expand compound statment at ("test/cases/large/clang-22382.c": line 2946) +1 remove empty compound at ("test/cases/large/clang-22382.c": line 2944) 1 remove expr statement at ("test/cases/large/clang-22382.c": line 2948) 1 remove expr statement at ("test/cases/large/clang-22382.c": line 2951) 1 remove condition at ("test/cases/large/clang-22382.c": line 2952) 1 remove expr statement at ("test/cases/large/clang-22382.c": line 2952) 1 expand compound statment at ("test/cases/large/clang-22382.c": line 2952) +1 remove empty compound at ("test/cases/large/clang-22382.c": line 2950) 1 remove expr statement at ("test/cases/large/clang-22382.c": line 2954) 1 remove expr statement at ("test/cases/large/clang-22382.c": line 2955) 1 remove expr statement at ("test/cases/large/clang-22382.c": line 2958) @@ -299,6 +307,7 @@ 1 remove condition at ("test/cases/large/clang-22382.c": line 2962) 1 remove expr statement at ("test/cases/large/clang-22382.c": line 2962) 1 expand compound statment at ("test/cases/large/clang-22382.c": line 2962) +1 remove empty compound at ("test/cases/large/clang-22382.c": line 2957) 1 remove expr statement at ("test/cases/large/clang-22382.c": line 2964) 1 remove expr statement at ("test/cases/large/clang-22382.c": line 2965) 1 remove expr statement at ("test/cases/large/clang-22382.c": line 2966) @@ -306,10 +315,12 @@ 1 remove condition at ("test/cases/large/clang-22382.c": line 2972) 1 remove expr statement at ("test/cases/large/clang-22382.c": line 2972) 1 expand compound statment at ("test/cases/large/clang-22382.c": line 2972) +1 remove empty compound at ("test/cases/large/clang-22382.c": line 2970) 1 remove expr statement at ("test/cases/large/clang-22382.c": line 2981) 1 remove condition at ("test/cases/large/clang-22382.c": line 2982) 1 remove expr statement at ("test/cases/large/clang-22382.c": line 2982) 1 expand compound statment at ("test/cases/large/clang-22382.c": line 2982) +1 remove empty compound at ("test/cases/large/clang-22382.c": line 2980) 1 remove expr statement at ("test/cases/large/clang-22382.c": line 2986) 1 remove expr statement at ("test/cases/large/clang-22382.c": line 2987) 1 remove expr statement at ("test/cases/large/clang-22382.c": line 2988) diff --git a/rtree-c/test/expected/clang-22382/reduction/x0.c b/rtree-c/test/expected/clang-22382/reduction/x0.c index db30d61..a8c3395 100644 --- a/rtree-c/test/expected/clang-22382/reduction/x0.c +++ b/rtree-c/test/expected/clang-22382/reduction/x0.c @@ -1407,6 +1407,8 @@ static struct S0 func_59(uint32_t p_60, g_1109 ^= 0xface4f9578fc59a3LL <= 0x61490d3a8ca6555aLL; safe_unary_minus_func_int8_t_s(0L < safe_add_func_int16_t_s_s(g_35.f3, 0x16abL)); + { + } safe_sub_func_int8_t_s_s(0x5cL, safe_rshift_func_uint16_t_u_u(0xd7eeL, 14)); g_158 -= 1; @@ -1493,6 +1495,8 @@ static int32_t func_66(uint16_t p_67, struct S0 p_68) safe_rshift_func_int8_t_s_u(safe_lshift_func_uint16_t_u_u(g_158, 12) == 0x70b449b74578e65aLL, 2); + { + } safe_rshift_func_uint16_t_u_u(g_755[5] < (0x70e0L != safe_sub_func_uint32_t_u_u((g_755[7], g_1109), 1uL) || g_1145[0].f2), 2); @@ -1527,6 +1531,8 @@ static int32_t func_66(uint16_t p_67, struct S0 p_68) l_168 += 1; g_86 |= 0xffL; safe_mod_func_int64_t_s_s(252uL ^ g_251, 0x54eab2ce98b21cf8LL); + { + } g_251 += 1; safe_mul_func_int8_t_s_s(g_388.f3, 7uL); safe_mod_func_int64_t_s_s(252uL ^ g_251, 0x54eab2ce98b21cf8LL); diff --git a/rtree-c/test/expected/clang-22382/reduction/x1.c b/rtree-c/test/expected/clang-22382/reduction/x1.c index 736d9f8..446acff 100644 --- a/rtree-c/test/expected/clang-22382/reduction/x1.c +++ b/rtree-c/test/expected/clang-22382/reduction/x1.c @@ -1406,6 +1406,8 @@ static struct S0 func_59(uint32_t p_60, g_1109 ^= 0xface4f9578fc59a3LL <= 0x61490d3a8ca6555aLL; safe_unary_minus_func_int8_t_s(0L < safe_add_func_int16_t_s_s(g_35.f3, 0x16abL)); + { + } safe_sub_func_int8_t_s_s(0x5cL, safe_rshift_func_uint16_t_u_u(0xd7eeL, 14)); g_158 -= 1; @@ -1492,6 +1494,8 @@ static int32_t func_66(uint16_t p_67, struct S0 p_68) safe_rshift_func_int8_t_s_u(safe_lshift_func_uint16_t_u_u(g_158, 12) == 0x70b449b74578e65aLL, 2); + { + } safe_rshift_func_uint16_t_u_u(g_755[5] < (0x70e0L != safe_sub_func_uint32_t_u_u((g_755[7], g_1109), 1uL) || g_1145[0].f2), 2); @@ -1526,6 +1530,8 @@ static int32_t func_66(uint16_t p_67, struct S0 p_68) l_168 += 1; g_86 |= 0xffL; safe_mod_func_int64_t_s_s(252uL ^ g_251, 0x54eab2ce98b21cf8LL); + { + } g_251 += 1; safe_mul_func_int8_t_s_s(g_388.f3, 7uL); safe_mod_func_int64_t_s_s(252uL ^ g_251, 0x54eab2ce98b21cf8LL); diff --git a/rtree-c/test/expected/clang-22382/reduction/x2.c b/rtree-c/test/expected/clang-22382/reduction/x2.c index b2534d4..3a4eef7 100644 --- a/rtree-c/test/expected/clang-22382/reduction/x2.c +++ b/rtree-c/test/expected/clang-22382/reduction/x2.c @@ -1404,6 +1404,8 @@ static struct S0 func_59(uint32_t p_60, g_1109 ^= 0xface4f9578fc59a3LL <= 0x61490d3a8ca6555aLL; safe_unary_minus_func_int8_t_s(0L < safe_add_func_int16_t_s_s(g_35.f3, 0x16abL)); + { + } safe_sub_func_int8_t_s_s(0x5cL, safe_rshift_func_uint16_t_u_u(0xd7eeL, 14)); g_158 -= 1; @@ -1490,6 +1492,8 @@ static int32_t func_66(uint16_t p_67, struct S0 p_68) safe_rshift_func_int8_t_s_u(safe_lshift_func_uint16_t_u_u(g_158, 12) == 0x70b449b74578e65aLL, 2); + { + } safe_rshift_func_uint16_t_u_u(g_755[5] < (0x70e0L != safe_sub_func_uint32_t_u_u((g_755[7], g_1109), 1uL) || g_1145[0].f2), 2); @@ -1524,6 +1528,8 @@ static int32_t func_66(uint16_t p_67, struct S0 p_68) l_168 += 1; g_86 |= 0xffL; safe_mod_func_int64_t_s_s(252uL ^ g_251, 0x54eab2ce98b21cf8LL); + { + } g_251 += 1; safe_mul_func_int8_t_s_s(g_388.f3, 7uL); safe_mod_func_int64_t_s_s(252uL ^ g_251, 0x54eab2ce98b21cf8LL); diff --git a/rtree-c/test/expected/clang-22382/reduction/x3.c b/rtree-c/test/expected/clang-22382/reduction/x3.c index c318b9a..9e2d896 100644 --- a/rtree-c/test/expected/clang-22382/reduction/x3.c +++ b/rtree-c/test/expected/clang-22382/reduction/x3.c @@ -1401,6 +1401,8 @@ static struct S0 func_59(uint32_t p_60, g_1109 ^= 0xface4f9578fc59a3LL <= 0x61490d3a8ca6555aLL; safe_unary_minus_func_int8_t_s(0L < safe_add_func_int16_t_s_s(g_35.f3, 0x16abL)); + { + } safe_sub_func_int8_t_s_s(0x5cL, safe_rshift_func_uint16_t_u_u(0xd7eeL, 14)); g_158 -= 1; @@ -1487,6 +1489,8 @@ static int32_t func_66(uint16_t p_67, struct S0 p_68) safe_rshift_func_int8_t_s_u(safe_lshift_func_uint16_t_u_u(g_158, 12) == 0x70b449b74578e65aLL, 2); + { + } safe_rshift_func_uint16_t_u_u(g_755[5] < (0x70e0L != safe_sub_func_uint32_t_u_u((g_755[7], g_1109), 1uL) || g_1145[0].f2), 2); @@ -1521,6 +1525,8 @@ static int32_t func_66(uint16_t p_67, struct S0 p_68) l_168 += 1; g_86 |= 0xffL; safe_mod_func_int64_t_s_s(252uL ^ g_251, 0x54eab2ce98b21cf8LL); + { + } g_251 += 1; safe_mul_func_int8_t_s_s(g_388.f3, 7uL); safe_mod_func_int64_t_s_s(252uL ^ g_251, 0x54eab2ce98b21cf8LL); diff --git a/rtree-c/test/expected/clang-22382/reduction/x4.c b/rtree-c/test/expected/clang-22382/reduction/x4.c index ee2a945..1d8b66a 100644 --- a/rtree-c/test/expected/clang-22382/reduction/x4.c +++ b/rtree-c/test/expected/clang-22382/reduction/x4.c @@ -1331,6 +1331,8 @@ static struct S0 func_59(uint32_t p_60, int i, j; g_1109 ^= 0xface4f9578fc59a3LL <= 0x61490d3a8ca6555aLL; 0L < safe_add_func_int16_t_s_s(g_35.f3, 0x16abL); + { + } (0x5cL, safe_rshift_func_uint16_t_u_u(0xd7eeL, 14)); g_158 -= 1; safe_lshift_func_uint16_t_u_s(safe_mul_func_uint8_t_u_u(1uL, @@ -1411,6 +1413,8 @@ static int32_t func_66(uint16_t p_67, struct S0 p_68) safe_rshift_func_int8_t_s_u(safe_lshift_func_uint16_t_u_u(g_158, 12) == 0x70b449b74578e65aLL, 2); + { + } safe_rshift_func_uint16_t_u_u(g_755[5] < (0x70e0L != safe_sub_func_uint32_t_u_u((g_755[7], g_1109), 1uL) || g_1145[0].f2), 2); @@ -1442,6 +1446,8 @@ static int32_t func_66(uint16_t p_67, struct S0 p_68) l_168 += 1; g_86 |= 0xffL; safe_mod_func_int64_t_s_s(252uL ^ g_251, 0x54eab2ce98b21cf8LL); + { + } g_251 += 1; (g_388.f3, 7uL); safe_mod_func_int64_t_s_s(252uL ^ g_251, 0x54eab2ce98b21cf8LL); diff --git a/rtree-c/test/expected/clang-22382/reduction/x5.c b/rtree-c/test/expected/clang-22382/reduction/x5.c index 4449a82..e26b3aa 100644 --- a/rtree-c/test/expected/clang-22382/reduction/x5.c +++ b/rtree-c/test/expected/clang-22382/reduction/x5.c @@ -1194,6 +1194,8 @@ static struct S0 func_59(uint32_t p_60, int i, j; g_1109 ^= 0xface4f9578fc59a3LL <= 0x61490d3a8ca6555aLL; 0L < (g_35.f3, 0x16abL); + { + } (0x5cL, safe_rshift_func_uint16_t_u_u(0xd7eeL, 14)); g_158 -= 1; safe_lshift_func_uint16_t_u_s(safe_mul_func_uint8_t_u_u(1uL, @@ -1262,6 +1264,8 @@ static int32_t func_66(uint16_t p_67, struct S0 p_68) safe_add_func_uint8_t_u_u(g_85, 1); (safe_lshift_func_uint16_t_u_u(g_158, 12) == 0x70b449b74578e65aLL, 2); + { + } safe_rshift_func_uint16_t_u_u(g_755[5] < (0x70e0L != safe_sub_func_uint32_t_u_u((g_755[7], g_1109), 1uL) || g_1145[0].f2), 2); @@ -1292,6 +1296,8 @@ static int32_t func_66(uint16_t p_67, struct S0 p_68) l_168 += 1; g_86 |= 0xffL; safe_mod_func_int64_t_s_s(252uL ^ g_251, 0x54eab2ce98b21cf8LL); + { + } g_251 += 1; (g_388.f3, 7uL); safe_mod_func_int64_t_s_s(252uL ^ g_251, 0x54eab2ce98b21cf8LL); diff --git a/rtree-c/test/expected/clang-22382/reduction/x6.c b/rtree-c/test/expected/clang-22382/reduction/x6.c index 884f4a9..7faf962 100644 --- a/rtree-c/test/expected/clang-22382/reduction/x6.c +++ b/rtree-c/test/expected/clang-22382/reduction/x6.c @@ -978,6 +978,8 @@ static struct S0 func_59(uint32_t p_60, int i, j; g_1109 ^= 0xface4f9578fc59a3LL <= 0x61490d3a8ca6555aLL; 0L < (g_35.f3, 0x16abL); + { + } (0x5cL, safe_rshift_func_uint16_t_u_u(0xd7eeL, 14)); g_158 -= 1; safe_lshift_func_uint16_t_u_s((1uL, g_420[2][1] < p_64.f3), @@ -1039,6 +1041,8 @@ static int32_t func_66(uint16_t p_67, struct S0 p_68) (g_85, 1); (safe_lshift_func_uint16_t_u_u(g_158, 12) == 0x70b449b74578e65aLL, 2); + { + } safe_rshift_func_uint16_t_u_u(g_755[5] < (0x70e0L != safe_sub_func_uint32_t_u_u((g_755[7], g_1109), 1uL) || g_1145[0].f2), 2); @@ -1068,6 +1072,8 @@ static int32_t func_66(uint16_t p_67, struct S0 p_68) l_168 += 1; g_86 |= 0xffL; (252uL ^ g_251, 0x54eab2ce98b21cf8LL); + { + } g_251 += 1; (g_388.f3, 7uL); (252uL ^ g_251, 0x54eab2ce98b21cf8LL); diff --git a/rtree-c/test/expected/clang-22382/reduction/x7.c b/rtree-c/test/expected/clang-22382/reduction/x7.c index 2db04dd..01f5522 100644 --- a/rtree-c/test/expected/clang-22382/reduction/x7.c +++ b/rtree-c/test/expected/clang-22382/reduction/x7.c @@ -123,6 +123,8 @@ static int64_t func_1() g_506 &= 0x387e3cdf10492640LL; } (-4L, 5); + { + } g_1103 += 1; (-4L, 5); ((0x6d2bL, 12), g_1032[4]); @@ -465,6 +467,8 @@ static uint16_t func_51(int16_t p_52, } (g_420[2][1], 255uL); ("index = [%d][%d][%d]\n", i, j, k); + { + } (65527uL, 0xbd2ee514L); for (; 0L < 6;) { @@ -608,6 +612,8 @@ static uint16_t func_51(int16_t p_52, (~(l_1240.f0 < l_1362) && g_390, g_421[3][7][1]), l_1427), 4294967295uL), p_54); } + { + } { uint32_t l_1437 = 0xa9a030fbL; return l_1437; @@ -638,6 +644,8 @@ static struct S0 func_59(uint32_t p_60, int i, j; g_1109 ^= 0xface4f9578fc59a3LL <= 0x61490d3a8ca6555aLL; 0L < 0x16abL; + { + } (0x5cL, (0xd7eeL, 14)); ((1uL, g_420[2][1] < p_64.f3), p_64.f0); (0L, 1); @@ -692,6 +700,8 @@ static int32_t func_66(uint16_t p_67, struct S0 p_68) ("index = [%d][%d][%d]\n", i, j, k); (0x89ab98cfL, 1); ((0L, 12) == 0x70b449b74578e65aLL, 2); + { + } (g_755[5] < (0x70e0L != ((g_755[7], g_1109), 1uL) || g_1145[0].f2), 2); (1uL, 0x5e27L); for (j = 0; j < 3; j++) @@ -716,6 +726,8 @@ static int32_t func_66(uint16_t p_67, struct S0 p_68) (0xbeL, 253uL); l_168 += 1; (252uL ^ 0xb89a725eL, 0x54eab2ce98b21cf8LL); + { + } (g_388.f3, 7uL); (252uL ^ 0xb89a725eL, 0x54eab2ce98b21cf8LL); (l_168, 7); @@ -734,6 +746,8 @@ static int32_t func_66(uint16_t p_67, struct S0 p_68) (0xbad58878L < 7uL != g_594, 4); (0x720fL == 0x14d4L, 0x1e7b790c5a96d6b6LL); ("index = [%d][%d][%d]\n", i, j, k); + { + } } func_78(0); (9uL, ((p_68.f2 <= 0x35c9L, l_230), 65534uL)); @@ -772,6 +786,8 @@ static int32_t func_71(uint8_t p_72, uint32_t p_73, uint32_t p_74) g_506 <= (g_388.f1 < g_420[1][5]); g_388.f1 -= 1; ((0x6d2bL, 12), g_1032[4]); + { + } (0x1823L, 11); ((g_388.f0, 0xd95d3b69L), (g_1032[4], 0x46L)); (9uL, 1); @@ -830,6 +846,10 @@ static uint8_t func_78(uint32_t p_79) (func_78(0), 0x89ab98cfL); (g_1756[0][0][6] || 0x96ae7fbL, 13); (0xbd2ee514L, 0); + { + { + } + } (8L, 0x9ed3L); { ((g_388.f0, 0xd95d3b69L), (g_1032[4], 0x46L)); diff --git a/rtree-c/test/expected/clang-23353/reduction/p0.path b/rtree-c/test/expected/clang-23353/reduction/p0.path index 31e2f16..c43f922 100644 --- a/rtree-c/test/expected/clang-23353/reduction/p0.path +++ b/rtree-c/test/expected/clang-23353/reduction/p0.path @@ -495,6 +495,7 @@ * remove parameter at ("test/cases/large/clang-23353.c": line 1250) * remove parameter at ("test/cases/large/clang-23353.c": line 1250) * remove variable func_49 at ("test/cases/large/clang-23353.c": line 1250) +* remove empty compound at ("test/cases/large/clang-23353.c": line 13) * remove static at ("test/cases/large/clang-23353.c": line 14) * remove expr statement at ("test/cases/large/clang-23353.c": line 22) * do without param at ("test/cases/large/clang-23353.c": line 22) diff --git a/rtree-c/test/expected/clang-23353/reduction/p1.path b/rtree-c/test/expected/clang-23353/reduction/p1.path index ea4ad26..7582f88 100644 --- a/rtree-c/test/expected/clang-23353/reduction/p1.path +++ b/rtree-c/test/expected/clang-23353/reduction/p1.path @@ -495,6 +495,7 @@ * remove parameter at ("test/cases/large/clang-23353.c": line 1250) * remove parameter at ("test/cases/large/clang-23353.c": line 1250) * remove variable func_49 at ("test/cases/large/clang-23353.c": line 1250) +* remove empty compound at ("test/cases/large/clang-23353.c": line 13) * remove static at ("test/cases/large/clang-23353.c": line 14) * remove expr statement at ("test/cases/large/clang-23353.c": line 22) * do without param at ("test/cases/large/clang-23353.c": line 22) diff --git a/rtree-c/test/expected/clang-23353/reduction/p10.path b/rtree-c/test/expected/clang-23353/reduction/p10.path index 0c270ba..54cbdd1 100644 --- a/rtree-c/test/expected/clang-23353/reduction/p10.path +++ b/rtree-c/test/expected/clang-23353/reduction/p10.path @@ -363,6 +363,7 @@ 1 remove expr statement at ("test/cases/large/clang-23353.c": line 3812) 1 remove expr statement at ("test/cases/large/clang-23353.c": line 3813) 1 remove condition at ("test/cases/large/clang-23353.c": line 3814) +1 remove empty compound at ("test/cases/large/clang-23353.c": line 3815) 1 expand compound statment at ("test/cases/large/clang-23353.c": line 3814) 1 remove expr statement at ("test/cases/large/clang-23353.c": line 3821) 1 remove expr statement at ("test/cases/large/clang-23353.c": line 3822) @@ -382,6 +383,7 @@ 1 remove expr statement at ("test/cases/large/clang-23353.c": line 3836) 1 remove expr statement at ("test/cases/large/clang-23353.c": line 3837) 1 remove expr statement at ("test/cases/large/clang-23353.c": line 3838) +1 remove empty compound at ("test/cases/large/clang-23353.c": line 3840) 1 expand compound statment at ("test/cases/large/clang-23353.c": line 3839) 1 remove expr statement at ("test/cases/large/clang-23353.c": line 3846) 1 remove expr statement at ("test/cases/large/clang-23353.c": line 3847) @@ -395,6 +397,7 @@ 1 remove expr statement at ("test/cases/large/clang-23353.c": line 3855) 1 remove expr statement at ("test/cases/large/clang-23353.c": line 3856) 1 remove expr statement at ("test/cases/large/clang-23353.c": line 3857) +1 remove empty compound at ("test/cases/large/clang-23353.c": line 3859) 1 expand compound statment at ("test/cases/large/clang-23353.c": line 3858) 1 remove expr statement at ("test/cases/large/clang-23353.c": line 3865) 1 remove expr statement at ("test/cases/large/clang-23353.c": line 3866) @@ -415,6 +418,7 @@ 1 inline variable l_1353 at ("test/cases/large/clang-23353.c": line 3882) 1 inline variable l_1364 at ("test/cases/large/clang-23353.c": line 3883) 1 inline variable l_1403 at ("test/cases/large/clang-23353.c": line 3884) +1 remove empty compound at ("test/cases/large/clang-23353.c": line 3875) 1 remove check at ("test/cases/large/clang-23353.c": line 3874) 1 expand compound statment at ("test/cases/large/clang-23353.c": line 3871) 1 remove expr statement at ("test/cases/large/clang-23353.c": line 3890) @@ -439,6 +443,7 @@ 1 remove expr statement at ("test/cases/large/clang-23353.c": line 3909) 1 remove expr statement at ("test/cases/large/clang-23353.c": line 3910) 1 remove expr statement at ("test/cases/large/clang-23353.c": line 3911) +1 remove empty compound at ("test/cases/large/clang-23353.c": line 3913) 1 expand compound statment at ("test/cases/large/clang-23353.c": line 3912) 1 remove expr statement at ("test/cases/large/clang-23353.c": line 3919) 1 remove expr statement at ("test/cases/large/clang-23353.c": line 3920) @@ -446,6 +451,8 @@ 1 remove expr statement at ("test/cases/large/clang-23353.c": line 3922) 1 remove condition at ("test/cases/large/clang-23353.c": line 3923) 1 inline variable l_817 at ("test/cases/large/clang-23353.c": line 3927) +1 remove empty compound at ("test/cases/large/clang-23353.c": line 3926) +1 remove empty compound at ("test/cases/large/clang-23353.c": line 3924) 1 expand compound statment at ("test/cases/large/clang-23353.c": line 3923) 1 remove expr statement at ("test/cases/large/clang-23353.c": line 3934) 1 remove expr statement at ("test/cases/large/clang-23353.c": line 3935) @@ -471,6 +478,8 @@ 1 remove expr statement at ("test/cases/large/clang-23353.c": line 3955) 1 remove variable l_124 at ("test/cases/large/clang-23353.c": line 3960) 1 remove expr statement at ("test/cases/large/clang-23353.c": line 3963) +1 remove empty compound at ("test/cases/large/clang-23353.c": line 3959) +1 remove empty compound at ("test/cases/large/clang-23353.c": line 3957) 1 expand compound statment at ("test/cases/large/clang-23353.c": line 3956) 1 remove expr statement at ("test/cases/large/clang-23353.c": line 3970) 1 remove expr statement at ("test/cases/large/clang-23353.c": line 3971) @@ -497,6 +506,8 @@ 1 remove variable l_4144 at ("test/cases/large/clang-23353.c": line 3992) 1 remove declaration at ("test/cases/large/clang-23353.c": line 3992) 1 remove expr statement at ("test/cases/large/clang-23353.c": line 3995) +1 remove empty compound at ("test/cases/large/clang-23353.c": line 3989) +1 remove empty compound at ("test/cases/large/clang-23353.c": line 3987) 1 expand compound statment at ("test/cases/large/clang-23353.c": line 3986) 1 remove expr statement at ("test/cases/large/clang-23353.c": line 4000) 1 remove expr statement at ("test/cases/large/clang-23353.c": line 4001) diff --git a/rtree-c/test/expected/clang-23353/reduction/p7.path b/rtree-c/test/expected/clang-23353/reduction/p7.path index 3c918e0..6d90f6f 100644 --- a/rtree-c/test/expected/clang-23353/reduction/p7.path +++ b/rtree-c/test/expected/clang-23353/reduction/p7.path @@ -5440,6 +5440,7 @@ * reduce to operant at ("test/cases/large/clang-23353.c": line 3138) * remove expression at ("test/cases/large/clang-23353.c": line 3138) * remove return statement at ("test/cases/large/clang-23353.c": line 3144) +* remove empty compound at ("test/cases/large/clang-23353.c": line 3139) * remove expr statement at ("test/cases/large/clang-23353.c": line 3148) * do without param at ("test/cases/large/clang-23353.c": line 3148) * do without param at ("test/cases/large/clang-23353.c": line 3148) @@ -7151,6 +7152,7 @@ * do without param at ("test/cases/large/clang-23353.c": line 3813) * remove condition at ("test/cases/large/clang-23353.c": line 3814) * reduce to operant at ("test/cases/large/clang-23353.c": line 3814) +* remove empty compound at ("test/cases/large/clang-23353.c": line 3815) * remove expr statement at ("test/cases/large/clang-23353.c": line 3821) * do without param at ("test/cases/large/clang-23353.c": line 3821) * do without param at ("test/cases/large/clang-23353.c": line 3821) @@ -7437,6 +7439,7 @@ * reduce to operant at ("test/cases/large/clang-23353.c": line 3912) * reduce to operant at ("test/cases/large/clang-23353.c": line 3912) * reduce to operant at ("test/cases/large/clang-23353.c": line 3912) +* remove empty compound at ("test/cases/large/clang-23353.c": line 3913) * remove expr statement at ("test/cases/large/clang-23353.c": line 3919) * do without param at ("test/cases/large/clang-23353.c": line 3919) * do without param at ("test/cases/large/clang-23353.c": line 3919) diff --git a/rtree-c/test/expected/clang-23353/reduction/p8.path b/rtree-c/test/expected/clang-23353/reduction/p8.path index dde2df6..3f90409 100644 --- a/rtree-c/test/expected/clang-23353/reduction/p8.path +++ b/rtree-c/test/expected/clang-23353/reduction/p8.path @@ -3566,6 +3566,8 @@ * reduce to operant at ("test/cases/large/clang-23353.c": line 2728) * remove iterator at ("test/cases/large/clang-23353.c": line 2728) * reduce to operant at ("test/cases/large/clang-23353.c": line 2728) +* remove empty compound at ("test/cases/large/clang-23353.c": line 2741) +* expand compound statment at ("test/cases/large/clang-23353.c": line 2741) * remove expr statement at ("test/cases/large/clang-23353.c": line 2746) * reduce to left at ("test/cases/large/clang-23353.c": line 2746) * reduce to right at ("test/cases/large/clang-23353.c": line 2746) @@ -4833,6 +4835,7 @@ * reduce to operant at ("test/cases/large/clang-23353.c": line 3138) * remove expression at ("test/cases/large/clang-23353.c": line 3138) * remove return statement at ("test/cases/large/clang-23353.c": line 3144) +* remove empty compound at ("test/cases/large/clang-23353.c": line 3139) * remove expr statement at ("test/cases/large/clang-23353.c": line 3148) * do without param at ("test/cases/large/clang-23353.c": line 3148) * do without param at ("test/cases/large/clang-23353.c": line 3148) @@ -6500,6 +6503,7 @@ * do without param at ("test/cases/large/clang-23353.c": line 3813) * remove condition at ("test/cases/large/clang-23353.c": line 3814) * reduce to operant at ("test/cases/large/clang-23353.c": line 3814) +* remove empty compound at ("test/cases/large/clang-23353.c": line 3815) * remove expr statement at ("test/cases/large/clang-23353.c": line 3821) * do without param at ("test/cases/large/clang-23353.c": line 3821) * do without param at ("test/cases/large/clang-23353.c": line 3821) @@ -6595,6 +6599,7 @@ * remove expr statement at ("test/cases/large/clang-23353.c": line 3857) * do without param at ("test/cases/large/clang-23353.c": line 3857) * do without param at ("test/cases/large/clang-23353.c": line 3857) +* remove empty compound at ("test/cases/large/clang-23353.c": line 3859) * expand compound statment at ("test/cases/large/clang-23353.c": line 3858) * remove expr statement at ("test/cases/large/clang-23353.c": line 3865) * do without param at ("test/cases/large/clang-23353.c": line 3865) @@ -6703,6 +6708,7 @@ * do without param at ("test/cases/large/clang-23353.c": line 3911) * do without param at ("test/cases/large/clang-23353.c": line 3911) * do without param at ("test/cases/large/clang-23353.c": line 3911) +* remove empty compound at ("test/cases/large/clang-23353.c": line 3913) * expand compound statment at ("test/cases/large/clang-23353.c": line 3912) * remove expr statement at ("test/cases/large/clang-23353.c": line 3919) * do without param at ("test/cases/large/clang-23353.c": line 3919) diff --git a/rtree-c/test/expected/clang-23353/reduction/p9.path b/rtree-c/test/expected/clang-23353/reduction/p9.path index a52eaae..6ea0d58 100644 --- a/rtree-c/test/expected/clang-23353/reduction/p9.path +++ b/rtree-c/test/expected/clang-23353/reduction/p9.path @@ -363,6 +363,7 @@ 1 remove expr statement at ("test/cases/large/clang-23353.c": line 3812) 1 remove expr statement at ("test/cases/large/clang-23353.c": line 3813) 1 remove condition at ("test/cases/large/clang-23353.c": line 3814) +1 remove empty compound at ("test/cases/large/clang-23353.c": line 3815) 1 expand compound statment at ("test/cases/large/clang-23353.c": line 3814) 1 remove expr statement at ("test/cases/large/clang-23353.c": line 3821) 1 remove expr statement at ("test/cases/large/clang-23353.c": line 3822) @@ -382,6 +383,7 @@ 1 remove expr statement at ("test/cases/large/clang-23353.c": line 3836) 1 remove expr statement at ("test/cases/large/clang-23353.c": line 3837) 1 remove expr statement at ("test/cases/large/clang-23353.c": line 3838) +1 remove empty compound at ("test/cases/large/clang-23353.c": line 3840) 1 expand compound statment at ("test/cases/large/clang-23353.c": line 3839) 1 remove expr statement at ("test/cases/large/clang-23353.c": line 3846) 1 remove expr statement at ("test/cases/large/clang-23353.c": line 3847) @@ -395,6 +397,7 @@ 1 remove expr statement at ("test/cases/large/clang-23353.c": line 3855) 1 remove expr statement at ("test/cases/large/clang-23353.c": line 3856) 1 remove expr statement at ("test/cases/large/clang-23353.c": line 3857) +1 remove empty compound at ("test/cases/large/clang-23353.c": line 3859) 1 expand compound statment at ("test/cases/large/clang-23353.c": line 3858) 1 remove expr statement at ("test/cases/large/clang-23353.c": line 3865) 1 remove expr statement at ("test/cases/large/clang-23353.c": line 3866) @@ -415,6 +418,7 @@ 1 inline variable l_1353 at ("test/cases/large/clang-23353.c": line 3882) 1 inline variable l_1364 at ("test/cases/large/clang-23353.c": line 3883) 1 inline variable l_1403 at ("test/cases/large/clang-23353.c": line 3884) +1 remove empty compound at ("test/cases/large/clang-23353.c": line 3875) 1 remove check at ("test/cases/large/clang-23353.c": line 3874) 1 expand compound statment at ("test/cases/large/clang-23353.c": line 3871) 1 remove expr statement at ("test/cases/large/clang-23353.c": line 3890) @@ -439,6 +443,7 @@ 1 remove expr statement at ("test/cases/large/clang-23353.c": line 3909) 1 remove expr statement at ("test/cases/large/clang-23353.c": line 3910) 1 remove expr statement at ("test/cases/large/clang-23353.c": line 3911) +1 remove empty compound at ("test/cases/large/clang-23353.c": line 3913) 1 expand compound statment at ("test/cases/large/clang-23353.c": line 3912) 1 remove expr statement at ("test/cases/large/clang-23353.c": line 3919) 1 remove expr statement at ("test/cases/large/clang-23353.c": line 3920) @@ -446,6 +451,8 @@ 1 remove expr statement at ("test/cases/large/clang-23353.c": line 3922) 1 remove condition at ("test/cases/large/clang-23353.c": line 3923) 1 inline variable l_817 at ("test/cases/large/clang-23353.c": line 3927) +1 remove empty compound at ("test/cases/large/clang-23353.c": line 3926) +1 remove empty compound at ("test/cases/large/clang-23353.c": line 3924) 1 expand compound statment at ("test/cases/large/clang-23353.c": line 3923) 1 remove expr statement at ("test/cases/large/clang-23353.c": line 3934) 1 remove expr statement at ("test/cases/large/clang-23353.c": line 3935) @@ -471,6 +478,8 @@ 1 remove expr statement at ("test/cases/large/clang-23353.c": line 3955) 1 remove variable l_124 at ("test/cases/large/clang-23353.c": line 3960) 1 remove expr statement at ("test/cases/large/clang-23353.c": line 3963) +1 remove empty compound at ("test/cases/large/clang-23353.c": line 3959) +1 remove empty compound at ("test/cases/large/clang-23353.c": line 3957) 1 expand compound statment at ("test/cases/large/clang-23353.c": line 3956) 1 remove expr statement at ("test/cases/large/clang-23353.c": line 3970) 1 remove expr statement at ("test/cases/large/clang-23353.c": line 3971) @@ -497,18 +506,45 @@ 1 remove variable l_4144 at ("test/cases/large/clang-23353.c": line 3992) 1 remove declaration at ("test/cases/large/clang-23353.c": line 3992) 1 remove expr statement at ("test/cases/large/clang-23353.c": line 3995) +1 remove empty compound at ("test/cases/large/clang-23353.c": line 3989) +1 remove empty compound at ("test/cases/large/clang-23353.c": line 3987) 1 expand compound statment at ("test/cases/large/clang-23353.c": line 3986) 1 remove expr statement at ("test/cases/large/clang-23353.c": line 4000) -1 remove expr statement at ("test/cases/large/clang-23353.c": line 4001) -1 remove expr statement at ("test/cases/large/clang-23353.c": line 4002) -1 remove expr statement at ("test/cases/large/clang-23353.c": line 4003) -1 remove expr statement at ("test/cases/large/clang-23353.c": line 4004) -1 remove expr statement at ("test/cases/large/clang-23353.c": line 4005) -1 remove expr statement at ("test/cases/large/clang-23353.c": line 4006) -1 remove expr statement at ("test/cases/large/clang-23353.c": line 4007) -1 remove expr statement at ("test/cases/large/clang-23353.c": line 4008) -1 remove expr statement at ("test/cases/large/clang-23353.c": line 4009) -1 remove expr statement at ("test/cases/large/clang-23353.c": line 4010) -1 remove expr statement at ("test/cases/large/clang-23353.c": line 4011) +* remove expr statement at ("test/cases/large/clang-23353.c": line 4001) +* do without param at ("test/cases/large/clang-23353.c": line 4001) +* do without param at ("test/cases/large/clang-23353.c": line 4001) +* remove expr statement at ("test/cases/large/clang-23353.c": line 4002) +* do without param at ("test/cases/large/clang-23353.c": line 4002) +* do without param at ("test/cases/large/clang-23353.c": line 4002) +* remove expr statement at ("test/cases/large/clang-23353.c": line 4003) +* do without param at ("test/cases/large/clang-23353.c": line 4003) +* do without param at ("test/cases/large/clang-23353.c": line 4003) +* remove expr statement at ("test/cases/large/clang-23353.c": line 4004) +* do without param at ("test/cases/large/clang-23353.c": line 4004) +* do without param at ("test/cases/large/clang-23353.c": line 4004) +* remove expr statement at ("test/cases/large/clang-23353.c": line 4005) +* do without param at ("test/cases/large/clang-23353.c": line 4005) +* do without param at ("test/cases/large/clang-23353.c": line 4005) +* remove expr statement at ("test/cases/large/clang-23353.c": line 4006) +* do without param at ("test/cases/large/clang-23353.c": line 4006) +* do without param at ("test/cases/large/clang-23353.c": line 4006) +* do without param at ("test/cases/large/clang-23353.c": line 4006) +* remove expr statement at ("test/cases/large/clang-23353.c": line 4007) +* do without param at ("test/cases/large/clang-23353.c": line 4007) +* do without param at ("test/cases/large/clang-23353.c": line 4007) +* remove expr statement at ("test/cases/large/clang-23353.c": line 4008) +* do without param at ("test/cases/large/clang-23353.c": line 4008) +* do without param at ("test/cases/large/clang-23353.c": line 4008) +* remove expr statement at ("test/cases/large/clang-23353.c": line 4009) +* do without param at ("test/cases/large/clang-23353.c": line 4009) +* do without param at ("test/cases/large/clang-23353.c": line 4009) +* remove expr statement at ("test/cases/large/clang-23353.c": line 4010) +* do without param at ("test/cases/large/clang-23353.c": line 4010) +* do without param at ("test/cases/large/clang-23353.c": line 4010) +* remove expr statement at ("test/cases/large/clang-23353.c": line 4011) +* do without param at ("test/cases/large/clang-23353.c": line 4011) +* reduce to left at ("test/cases/large/clang-23353.c": line 4011) +* reduce to right at ("test/cases/large/clang-23353.c": line 4011) +* do without param at ("test/cases/large/clang-23353.c": line 4011) * remove return statement at ("test/cases/large/clang-23353.c": line 4012) diff --git a/rtree-c/test/expected/clang-23353/reduction/x7.c b/rtree-c/test/expected/clang-23353/reduction/x7.c index 0137a4f..046ee09 100644 --- a/rtree-c/test/expected/clang-23353/reduction/x7.c +++ b/rtree-c/test/expected/clang-23353/reduction/x7.c @@ -2560,7 +2560,9 @@ int main(void) (g_803.f2, "g_803.f2", print_hash_value); (g_803.f3, "g_803.f3", print_hash_value); (g_803.f4, "g_803.f4", print_hash_value); - 0xe07f0936a74b4fbfLL < -2270085556831825985; + if (0xe07f0936a74b4fbfLL < -2270085556831825985) + { + } (g_803.f5, "g_803.f5", print_hash_value); (g_804.f0, "g_804.f0", print_hash_value); (g_804.f1, "g_804.f1", print_hash_value); @@ -2642,7 +2644,9 @@ int main(void) (g_2213.f2, "g_2213.f2", print_hash_value); (g_2213.f3, "g_2213.f3", print_hash_value); (g_2243, "g_2243", print_hash_value); - g_2976 != 0 && *g_2976 != 0 && * (*g_2976) != 0 && * (*g_2976) < 0; + if (g_2976 != 0 && *g_2976 != 0 && * (*g_2976) != 0 && * (*g_2976) < 0) + { + } (g_2309, "g_2309", print_hash_value); (g_2321.f0, "g_2321.f0", print_hash_value); (g_2321.f1, "g_2321.f1", print_hash_value); diff --git a/rtree-c/test/expected/clang-23353/reduction/x8.c b/rtree-c/test/expected/clang-23353/reduction/x8.c index 3af3148..80c2650 100644 --- a/rtree-c/test/expected/clang-23353/reduction/x8.c +++ b/rtree-c/test/expected/clang-23353/reduction/x8.c @@ -1486,6 +1486,8 @@ static const uint8_t func_43(uint64_t p_44, int32_t l_1364 = 1L; int32_t l_1403 = 1L; } + { + } l_1440 = l_1439; 0 ? (void) 0 : ("l_1440 == &g_804", "t.c", 1622, __PRETTY_FUNCTION__); for (; 0xccL < 42;) @@ -2495,7 +2497,9 @@ int main(void) ("g_803.f2", print_hash_value); ("g_803.f3", print_hash_value); ("g_803.f4", print_hash_value); - 0xe07f0936a74b4fbfLL < -2270085556831825985; + if (0xe07f0936a74b4fbfLL < -2270085556831825985) + { + } ("g_803.f5", print_hash_value); ("g_804.f0", print_hash_value); ("g_804.f1", print_hash_value); diff --git a/rtree-c/test/expected/clang-23353/reduction/x9.c b/rtree-c/test/expected/clang-23353/reduction/x9.c index ac1e277..ae3fc4b 100644 --- a/rtree-c/test/expected/clang-23353/reduction/x9.c +++ b/rtree-c/test/expected/clang-23353/reduction/x9.c @@ -13,5 +13,16 @@ int main(void) { } ; + ("g_4141.f5", 0); + ("g_4181.f0", 0); + ("g_4181.f1", 0); + ("g_4181.f2", 0); + ("g_4181.f3", 0); + (65532uL, "g_4582", 0); + ("g_4585.f0", 0); + ("g_4585.f1", 0); + ("g_4585.f2", 0); + ("g_4585.f3", 0); + (0xffffffffuL ^ 0xffffffffuL, 0); return 0; } diff --git a/rtree-c/test/expected/clang-26760/reduction/p9.path b/rtree-c/test/expected/clang-26760/reduction/p9.path index f6f6c28..5d2a8e7 100644 --- a/rtree-c/test/expected/clang-26760/reduction/p9.path +++ b/rtree-c/test/expected/clang-26760/reduction/p9.path @@ -261,12 +261,14 @@ 1 remove condition at ("test/cases/large/clang-26760.c": line 13379) 1 remove expr statement at ("test/cases/large/clang-26760.c": line 13380) 1 expand compound statment at ("test/cases/large/clang-26760.c": line 13379) +1 remove empty compound at ("test/cases/large/clang-26760.c": line 13377) 1 remove expr statement at ("test/cases/large/clang-26760.c": line 13382) 1 remove expr statement at ("test/cases/large/clang-26760.c": line 13383) 1 remove expr statement at ("test/cases/large/clang-26760.c": line 13386) 1 remove condition at ("test/cases/large/clang-26760.c": line 13387) 1 remove expr statement at ("test/cases/large/clang-26760.c": line 13388) 1 expand compound statment at ("test/cases/large/clang-26760.c": line 13387) +1 remove empty compound at ("test/cases/large/clang-26760.c": line 13385) 1 remove expr statement at ("test/cases/large/clang-26760.c": line 13390) 1 remove expr statement at ("test/cases/large/clang-26760.c": line 13391) 1 remove expr statement at ("test/cases/large/clang-26760.c": line 13392) @@ -276,6 +278,7 @@ 1 remove condition at ("test/cases/large/clang-26760.c": line 13398) 1 remove expr statement at ("test/cases/large/clang-26760.c": line 13399) 1 expand compound statment at ("test/cases/large/clang-26760.c": line 13398) +1 remove empty compound at ("test/cases/large/clang-26760.c": line 13396) 1 remove expr statement at ("test/cases/large/clang-26760.c": line 13401) 1 remove expr statement at ("test/cases/large/clang-26760.c": line 13402) 1 remove expr statement at ("test/cases/large/clang-26760.c": line 13403) @@ -284,27 +287,33 @@ 1 remove condition at ("test/cases/large/clang-26760.c": line 13408) 1 remove expr statement at ("test/cases/large/clang-26760.c": line 13409) 1 expand compound statment at ("test/cases/large/clang-26760.c": line 13408) +1 remove empty compound at ("test/cases/large/clang-26760.c": line 13406) 1 remove expr statement at ("test/cases/large/clang-26760.c": line 13417) 1 remove condition at ("test/cases/large/clang-26760.c": line 13420) 1 remove expr statement at ("test/cases/large/clang-26760.c": line 13421) 1 expand compound statment at ("test/cases/large/clang-26760.c": line 13420) +1 remove empty compound at ("test/cases/large/clang-26760.c": line 13416) 1 remove expr statement at ("test/cases/large/clang-26760.c": line 13429) 1 remove condition at ("test/cases/large/clang-26760.c": line 13430) 1 remove expr statement at ("test/cases/large/clang-26760.c": line 13431) 1 expand compound statment at ("test/cases/large/clang-26760.c": line 13430) +1 remove empty compound at ("test/cases/large/clang-26760.c": line 13428) 1 remove expr statement at ("test/cases/large/clang-26760.c": line 13440) 1 remove condition at ("test/cases/large/clang-26760.c": line 13443) 1 remove expr statement at ("test/cases/large/clang-26760.c": line 13444) 1 expand compound statment at ("test/cases/large/clang-26760.c": line 13443) +1 remove empty compound at ("test/cases/large/clang-26760.c": line 13439) 1 remove expr statement at ("test/cases/large/clang-26760.c": line 13450) 1 remove condition at ("test/cases/large/clang-26760.c": line 13451) 1 remove expr statement at ("test/cases/large/clang-26760.c": line 13452) 1 expand compound statment at ("test/cases/large/clang-26760.c": line 13451) +1 remove empty compound at ("test/cases/large/clang-26760.c": line 13449) 1 remove expr statement at ("test/cases/large/clang-26760.c": line 13454) 1 remove expr statement at ("test/cases/large/clang-26760.c": line 13459) 1 remove condition at ("test/cases/large/clang-26760.c": line 13460) 1 remove expr statement at ("test/cases/large/clang-26760.c": line 13461) 1 expand compound statment at ("test/cases/large/clang-26760.c": line 13460) +1 remove empty compound at ("test/cases/large/clang-26760.c": line 13458) 1 remove expr statement at ("test/cases/large/clang-26760.c": line 13464) 1 remove expr statement at ("test/cases/large/clang-26760.c": line 13465) 1 remove expr statement at ("test/cases/large/clang-26760.c": line 13466) @@ -315,6 +324,7 @@ 1 remove condition at ("test/cases/large/clang-26760.c": line 13479) 1 remove expr statement at ("test/cases/large/clang-26760.c": line 13480) 1 expand compound statment at ("test/cases/large/clang-26760.c": line 13479) +1 remove empty compound at ("test/cases/large/clang-26760.c": line 13475) 1 remove expr statement at ("test/cases/large/clang-26760.c": line 13484) 1 remove return statement at ("test/cases/large/clang-26760.c": line 13485) diff --git a/rtree-c/test/expected/constant/reduction/r00000.c.hs b/rtree-c/test/expected/constant/reduction/r00000.c.hs new file mode 100644 index 0000000..f3fe70d --- /dev/null +++ b/rtree-c/test/expected/constant/reduction/r00000.c.hs @@ -0,0 +1,72 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 10 () ) + ) () + ) + ) Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "y" 121 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 25 () ) + ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "x" 120 () ) () + ) + ( CVar + ( Ident "y" 121 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/constant/reduction/r00001.c.hs b/rtree-c/test/expected/constant/reduction/r00001.c.hs new file mode 100644 index 0000000..f3fe70d --- /dev/null +++ b/rtree-c/test/expected/constant/reduction/r00001.c.hs @@ -0,0 +1,72 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 10 () ) + ) () + ) + ) Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "y" 121 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 25 () ) + ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "x" 120 () ) () + ) + ( CVar + ( Ident "y" 121 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/constant/reduction/r0001.c.hs b/rtree-c/test/expected/constant/reduction/r0001.c.hs new file mode 100644 index 0000000..f3fe70d --- /dev/null +++ b/rtree-c/test/expected/constant/reduction/r0001.c.hs @@ -0,0 +1,72 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 10 () ) + ) () + ) + ) Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "y" 121 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 25 () ) + ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "x" 120 () ) () + ) + ( CVar + ( Ident "y" 121 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/constant/reduction/r001.c.hs b/rtree-c/test/expected/constant/reduction/r001.c.hs new file mode 100644 index 0000000..f3fe70d --- /dev/null +++ b/rtree-c/test/expected/constant/reduction/r001.c.hs @@ -0,0 +1,72 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 10 () ) + ) () + ) + ) Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "y" 121 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 25 () ) + ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "x" 120 () ) () + ) + ( CVar + ( Ident "y" 121 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/constant/reduction/r01000.c.hs b/rtree-c/test/expected/constant/reduction/r01000.c.hs new file mode 100644 index 0000000..f3fe70d --- /dev/null +++ b/rtree-c/test/expected/constant/reduction/r01000.c.hs @@ -0,0 +1,72 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 10 () ) + ) () + ) + ) Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "y" 121 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 25 () ) + ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "x" 120 () ) () + ) + ( CVar + ( Ident "y" 121 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/constant/reduction/r01001.c.hs b/rtree-c/test/expected/constant/reduction/r01001.c.hs new file mode 100644 index 0000000..f3fe70d --- /dev/null +++ b/rtree-c/test/expected/constant/reduction/r01001.c.hs @@ -0,0 +1,72 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 10 () ) + ) () + ) + ) Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "y" 121 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 25 () ) + ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "x" 120 () ) () + ) + ( CVar + ( Ident "y" 121 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/constant/reduction/r0101.c.hs b/rtree-c/test/expected/constant/reduction/r0101.c.hs new file mode 100644 index 0000000..f3fe70d --- /dev/null +++ b/rtree-c/test/expected/constant/reduction/r0101.c.hs @@ -0,0 +1,72 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 10 () ) + ) () + ) + ) Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "y" 121 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 25 () ) + ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "x" 120 () ) () + ) + ( CVar + ( Ident "y" 121 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/constant/reduction/r011.c b/rtree-c/test/expected/constant/reduction/r0110.c similarity index 76% rename from rtree-c/test/expected/constant/reduction/r011.c rename to rtree-c/test/expected/constant/reduction/r0110.c index 0e611cb..10a730e 100644 --- a/rtree-c/test/expected/constant/reduction/r011.c +++ b/rtree-c/test/expected/constant/reduction/r0110.c @@ -1,6 +1,7 @@ // 0 inline variable x at ("test/cases/small/constant.c": line 1) // 1 inline variable y at ("test/cases/small/constant.c": line 4) // 1 remove return statement at ("test/cases/small/constant.c": line 5) +// 0 remove empty compound at ("test/cases/small/constant.c": line 3) int x = 10; int main() diff --git a/rtree-c/test/expected/constant/reduction/r0110.c.hs b/rtree-c/test/expected/constant/reduction/r0110.c.hs new file mode 100644 index 0000000..f3fe70d --- /dev/null +++ b/rtree-c/test/expected/constant/reduction/r0110.c.hs @@ -0,0 +1,72 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 10 () ) + ) () + ) + ) Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "y" 121 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 25 () ) + ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "x" 120 () ) () + ) + ( CVar + ( Ident "y" 121 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/constant/reduction/r0111.c b/rtree-c/test/expected/constant/reduction/r0111.c new file mode 100644 index 0000000..aaef730 --- /dev/null +++ b/rtree-c/test/expected/constant/reduction/r0111.c @@ -0,0 +1,9 @@ +// 0 inline variable x at ("test/cases/small/constant.c": line 1) +// 1 inline variable y at ("test/cases/small/constant.c": line 4) +// 1 remove return statement at ("test/cases/small/constant.c": line 5) +// 1 remove empty compound at ("test/cases/small/constant.c": line 3) + +int x = 10; +int main() +{ +} diff --git a/rtree-c/test/expected/constant/reduction/r0111.c.hs b/rtree-c/test/expected/constant/reduction/r0111.c.hs new file mode 100644 index 0000000..f3fe70d --- /dev/null +++ b/rtree-c/test/expected/constant/reduction/r0111.c.hs @@ -0,0 +1,72 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 10 () ) + ) () + ) + ) Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "y" 121 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 25 () ) + ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "x" 120 () ) () + ) + ( CVar + ( Ident "y" 121 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/constant/reduction/r10000.c.hs b/rtree-c/test/expected/constant/reduction/r10000.c.hs new file mode 100644 index 0000000..f3fe70d --- /dev/null +++ b/rtree-c/test/expected/constant/reduction/r10000.c.hs @@ -0,0 +1,72 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 10 () ) + ) () + ) + ) Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "y" 121 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 25 () ) + ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "x" 120 () ) () + ) + ( CVar + ( Ident "y" 121 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/constant/reduction/r10001.c.hs b/rtree-c/test/expected/constant/reduction/r10001.c.hs new file mode 100644 index 0000000..f3fe70d --- /dev/null +++ b/rtree-c/test/expected/constant/reduction/r10001.c.hs @@ -0,0 +1,72 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 10 () ) + ) () + ) + ) Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "y" 121 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 25 () ) + ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "x" 120 () ) () + ) + ( CVar + ( Ident "y" 121 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/constant/reduction/r1001.c.hs b/rtree-c/test/expected/constant/reduction/r1001.c.hs new file mode 100644 index 0000000..f3fe70d --- /dev/null +++ b/rtree-c/test/expected/constant/reduction/r1001.c.hs @@ -0,0 +1,72 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 10 () ) + ) () + ) + ) Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "y" 121 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 25 () ) + ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "x" 120 () ) () + ) + ( CVar + ( Ident "y" 121 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/constant/reduction/r101.c.hs b/rtree-c/test/expected/constant/reduction/r101.c.hs new file mode 100644 index 0000000..f3fe70d --- /dev/null +++ b/rtree-c/test/expected/constant/reduction/r101.c.hs @@ -0,0 +1,72 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 10 () ) + ) () + ) + ) Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "y" 121 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 25 () ) + ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "x" 120 () ) () + ) + ( CVar + ( Ident "y" 121 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/constant/reduction/r11000.c.hs b/rtree-c/test/expected/constant/reduction/r11000.c.hs new file mode 100644 index 0000000..f3fe70d --- /dev/null +++ b/rtree-c/test/expected/constant/reduction/r11000.c.hs @@ -0,0 +1,72 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 10 () ) + ) () + ) + ) Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "y" 121 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 25 () ) + ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "x" 120 () ) () + ) + ( CVar + ( Ident "y" 121 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/constant/reduction/r11001.c.hs b/rtree-c/test/expected/constant/reduction/r11001.c.hs new file mode 100644 index 0000000..f3fe70d --- /dev/null +++ b/rtree-c/test/expected/constant/reduction/r11001.c.hs @@ -0,0 +1,72 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 10 () ) + ) () + ) + ) Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "y" 121 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 25 () ) + ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "x" 120 () ) () + ) + ( CVar + ( Ident "y" 121 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/constant/reduction/r1101.c.hs b/rtree-c/test/expected/constant/reduction/r1101.c.hs new file mode 100644 index 0000000..f3fe70d --- /dev/null +++ b/rtree-c/test/expected/constant/reduction/r1101.c.hs @@ -0,0 +1,72 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 10 () ) + ) () + ) + ) Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "y" 121 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 25 () ) + ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "x" 120 () ) () + ) + ( CVar + ( Ident "y" 121 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/constant/reduction/r111.c b/rtree-c/test/expected/constant/reduction/r1110.c similarity index 75% rename from rtree-c/test/expected/constant/reduction/r111.c rename to rtree-c/test/expected/constant/reduction/r1110.c index 72a38fd..c03bf1d 100644 --- a/rtree-c/test/expected/constant/reduction/r111.c +++ b/rtree-c/test/expected/constant/reduction/r1110.c @@ -1,6 +1,7 @@ // 1 inline variable x at ("test/cases/small/constant.c": line 1) // 1 inline variable y at ("test/cases/small/constant.c": line 4) // 1 remove return statement at ("test/cases/small/constant.c": line 5) +// 0 remove empty compound at ("test/cases/small/constant.c": line 3) int main() { diff --git a/rtree-c/test/expected/constant/reduction/r1110.c.hs b/rtree-c/test/expected/constant/reduction/r1110.c.hs new file mode 100644 index 0000000..f3fe70d --- /dev/null +++ b/rtree-c/test/expected/constant/reduction/r1110.c.hs @@ -0,0 +1,72 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 10 () ) + ) () + ) + ) Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "y" 121 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 25 () ) + ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "x" 120 () ) () + ) + ( CVar + ( Ident "y" 121 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/constant/reduction/r1111.c b/rtree-c/test/expected/constant/reduction/r1111.c new file mode 100644 index 0000000..ab1f2de --- /dev/null +++ b/rtree-c/test/expected/constant/reduction/r1111.c @@ -0,0 +1,8 @@ +// 1 inline variable x at ("test/cases/small/constant.c": line 1) +// 1 inline variable y at ("test/cases/small/constant.c": line 4) +// 1 remove return statement at ("test/cases/small/constant.c": line 5) +// 1 remove empty compound at ("test/cases/small/constant.c": line 3) + +int main() +{ +} diff --git a/rtree-c/test/expected/constant/reduction/r1111.c.hs b/rtree-c/test/expected/constant/reduction/r1111.c.hs new file mode 100644 index 0000000..f3fe70d --- /dev/null +++ b/rtree-c/test/expected/constant/reduction/r1111.c.hs @@ -0,0 +1,72 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 10 () ) + ) () + ) + ) Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "y" 121 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 25 () ) + ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CBinary CAddOp + ( CVar + ( Ident "x" 120 () ) () + ) + ( CVar + ( Ident "y" 121 () ) () + ) () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/declaration/reduction/r0000.c.hs b/rtree-c/test/expected/declaration/reduction/r0000.c.hs new file mode 100644 index 0000000..9608e86 --- /dev/null +++ b/rtree-c/test/expected/declaration/reduction/r0000.c.hs @@ -0,0 +1,61 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "printf" 232434916 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeQual + ( CConstQual () ) + , CTypeSpec + ( CCharType () ) + ] + [ CDeclarationItem + ( CDeclr Nothing + [ CPtrDeclr [] () ] Nothing [] () + ) Nothing Nothing + ] () + ] True + ) [] () + ] Nothing [] () + ) Nothing Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "printf" 232434916 () ) () + ) + [ CConst + ( CStrConst "Hello, World!" () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/declaration/reduction/r0001.c.hs b/rtree-c/test/expected/declaration/reduction/r0001.c.hs new file mode 100644 index 0000000..9608e86 --- /dev/null +++ b/rtree-c/test/expected/declaration/reduction/r0001.c.hs @@ -0,0 +1,61 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "printf" 232434916 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeQual + ( CConstQual () ) + , CTypeSpec + ( CCharType () ) + ] + [ CDeclarationItem + ( CDeclr Nothing + [ CPtrDeclr [] () ] Nothing [] () + ) Nothing Nothing + ] () + ] True + ) [] () + ] Nothing [] () + ) Nothing Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "printf" 232434916 () ) () + ) + [ CConst + ( CStrConst "Hello, World!" () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/declaration/reduction/r0010.c.hs b/rtree-c/test/expected/declaration/reduction/r0010.c.hs new file mode 100644 index 0000000..9608e86 --- /dev/null +++ b/rtree-c/test/expected/declaration/reduction/r0010.c.hs @@ -0,0 +1,61 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "printf" 232434916 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeQual + ( CConstQual () ) + , CTypeSpec + ( CCharType () ) + ] + [ CDeclarationItem + ( CDeclr Nothing + [ CPtrDeclr [] () ] Nothing [] () + ) Nothing Nothing + ] () + ] True + ) [] () + ] Nothing [] () + ) Nothing Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "printf" 232434916 () ) () + ) + [ CConst + ( CStrConst "Hello, World!" () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/declaration/reduction/r0011.c.hs b/rtree-c/test/expected/declaration/reduction/r0011.c.hs new file mode 100644 index 0000000..9608e86 --- /dev/null +++ b/rtree-c/test/expected/declaration/reduction/r0011.c.hs @@ -0,0 +1,61 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "printf" 232434916 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeQual + ( CConstQual () ) + , CTypeSpec + ( CCharType () ) + ] + [ CDeclarationItem + ( CDeclr Nothing + [ CPtrDeclr [] () ] Nothing [] () + ) Nothing Nothing + ] () + ] True + ) [] () + ] Nothing [] () + ) Nothing Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "printf" 232434916 () ) () + ) + [ CConst + ( CStrConst "Hello, World!" () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/declaration/reduction/r01.c b/rtree-c/test/expected/declaration/reduction/r010.c similarity index 72% rename from rtree-c/test/expected/declaration/reduction/r01.c rename to rtree-c/test/expected/declaration/reduction/r010.c index 4caade5..554e67c 100644 --- a/rtree-c/test/expected/declaration/reduction/r01.c +++ b/rtree-c/test/expected/declaration/reduction/r010.c @@ -1,5 +1,6 @@ // 0 remove variable printf at ("test/cases/small/declaration.c": line 1) // 1 remove expr statement at ("test/cases/small/declaration.c": line 4) +// 0 remove empty compound at ("test/cases/small/declaration.c": line 3) int printf(const char *, ...); int main() diff --git a/rtree-c/test/expected/declaration/reduction/r010.c.hs b/rtree-c/test/expected/declaration/reduction/r010.c.hs new file mode 100644 index 0000000..9608e86 --- /dev/null +++ b/rtree-c/test/expected/declaration/reduction/r010.c.hs @@ -0,0 +1,61 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "printf" 232434916 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeQual + ( CConstQual () ) + , CTypeSpec + ( CCharType () ) + ] + [ CDeclarationItem + ( CDeclr Nothing + [ CPtrDeclr [] () ] Nothing [] () + ) Nothing Nothing + ] () + ] True + ) [] () + ] Nothing [] () + ) Nothing Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "printf" 232434916 () ) () + ) + [ CConst + ( CStrConst "Hello, World!" () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/declaration/reduction/r011.c b/rtree-c/test/expected/declaration/reduction/r011.c new file mode 100644 index 0000000..abfa6ea --- /dev/null +++ b/rtree-c/test/expected/declaration/reduction/r011.c @@ -0,0 +1,8 @@ +// 0 remove variable printf at ("test/cases/small/declaration.c": line 1) +// 1 remove expr statement at ("test/cases/small/declaration.c": line 4) +// 1 remove empty compound at ("test/cases/small/declaration.c": line 3) + +int printf(const char *, ...); +int main() +{ +} diff --git a/rtree-c/test/expected/declaration/reduction/r011.c.hs b/rtree-c/test/expected/declaration/reduction/r011.c.hs new file mode 100644 index 0000000..9608e86 --- /dev/null +++ b/rtree-c/test/expected/declaration/reduction/r011.c.hs @@ -0,0 +1,61 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "printf" 232434916 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeQual + ( CConstQual () ) + , CTypeSpec + ( CCharType () ) + ] + [ CDeclarationItem + ( CDeclr Nothing + [ CPtrDeclr [] () ] Nothing [] () + ) Nothing Nothing + ] () + ] True + ) [] () + ] Nothing [] () + ) Nothing Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "printf" 232434916 () ) () + ) + [ CConst + ( CStrConst "Hello, World!" () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/declaration/reduction/r100.c.hs b/rtree-c/test/expected/declaration/reduction/r100.c.hs new file mode 100644 index 0000000..9608e86 --- /dev/null +++ b/rtree-c/test/expected/declaration/reduction/r100.c.hs @@ -0,0 +1,61 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "printf" 232434916 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeQual + ( CConstQual () ) + , CTypeSpec + ( CCharType () ) + ] + [ CDeclarationItem + ( CDeclr Nothing + [ CPtrDeclr [] () ] Nothing [] () + ) Nothing Nothing + ] () + ] True + ) [] () + ] Nothing [] () + ) Nothing Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "printf" 232434916 () ) () + ) + [ CConst + ( CStrConst "Hello, World!" () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/declaration/reduction/r101.c.hs b/rtree-c/test/expected/declaration/reduction/r101.c.hs new file mode 100644 index 0000000..9608e86 --- /dev/null +++ b/rtree-c/test/expected/declaration/reduction/r101.c.hs @@ -0,0 +1,61 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "printf" 232434916 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeQual + ( CConstQual () ) + , CTypeSpec + ( CCharType () ) + ] + [ CDeclarationItem + ( CDeclr Nothing + [ CPtrDeclr [] () ] Nothing [] () + ) Nothing Nothing + ] () + ] True + ) [] () + ] Nothing [] () + ) Nothing Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "printf" 232434916 () ) () + ) + [ CConst + ( CStrConst "Hello, World!" () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/declaration/reduction/r11.c b/rtree-c/test/expected/declaration/reduction/r110.c similarity index 69% rename from rtree-c/test/expected/declaration/reduction/r11.c rename to rtree-c/test/expected/declaration/reduction/r110.c index 6a962b2..a2a5cd3 100644 --- a/rtree-c/test/expected/declaration/reduction/r11.c +++ b/rtree-c/test/expected/declaration/reduction/r110.c @@ -1,5 +1,6 @@ // 1 remove variable printf at ("test/cases/small/declaration.c": line 1) // 1 remove expr statement at ("test/cases/small/declaration.c": line 4) +// 0 remove empty compound at ("test/cases/small/declaration.c": line 3) int main() { diff --git a/rtree-c/test/expected/declaration/reduction/r110.c.hs b/rtree-c/test/expected/declaration/reduction/r110.c.hs new file mode 100644 index 0000000..9608e86 --- /dev/null +++ b/rtree-c/test/expected/declaration/reduction/r110.c.hs @@ -0,0 +1,61 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "printf" 232434916 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeQual + ( CConstQual () ) + , CTypeSpec + ( CCharType () ) + ] + [ CDeclarationItem + ( CDeclr Nothing + [ CPtrDeclr [] () ] Nothing [] () + ) Nothing Nothing + ] () + ] True + ) [] () + ] Nothing [] () + ) Nothing Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "printf" 232434916 () ) () + ) + [ CConst + ( CStrConst "Hello, World!" () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/declaration/reduction/r111.c b/rtree-c/test/expected/declaration/reduction/r111.c new file mode 100644 index 0000000..975d1c6 --- /dev/null +++ b/rtree-c/test/expected/declaration/reduction/r111.c @@ -0,0 +1,7 @@ +// 1 remove variable printf at ("test/cases/small/declaration.c": line 1) +// 1 remove expr statement at ("test/cases/small/declaration.c": line 4) +// 1 remove empty compound at ("test/cases/small/declaration.c": line 3) + +int main() +{ +} diff --git a/rtree-c/test/expected/declaration/reduction/r111.c.hs b/rtree-c/test/expected/declaration/reduction/r111.c.hs new file mode 100644 index 0000000..9608e86 --- /dev/null +++ b/rtree-c/test/expected/declaration/reduction/r111.c.hs @@ -0,0 +1,61 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "printf" 232434916 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeQual + ( CConstQual () ) + , CTypeSpec + ( CCharType () ) + ] + [ CDeclarationItem + ( CDeclr Nothing + [ CPtrDeclr [] () ] Nothing [] () + ) Nothing Nothing + ] () + ] True + ) [] () + ] Nothing [] () + ) Nothing Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "printf" 232434916 () ) () + ) + [ CConst + ( CStrConst "Hello, World!" () ) + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/definition/reduction/r000.c.hs b/rtree-c/test/expected/definition/reduction/r000.c.hs new file mode 100644 index 0000000..adadaee --- /dev/null +++ b/rtree-c/test/expected/definition/reduction/r000.c.hs @@ -0,0 +1,54 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CConst + ( CIntConst 0 () ) + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) [] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/definition/reduction/r001.c b/rtree-c/test/expected/definition/reduction/r0010.c similarity index 78% rename from rtree-c/test/expected/definition/reduction/r001.c rename to rtree-c/test/expected/definition/reduction/r0010.c index d774277..18561da 100644 --- a/rtree-c/test/expected/definition/reduction/r001.c +++ b/rtree-c/test/expected/definition/reduction/r0010.c @@ -1,6 +1,7 @@ // 0 remove function f at ("test/cases/small/definition.c": line 1) // 0 remove return statement at ("test/cases/small/definition.c": line 2) // 1 remove return statement at ("test/cases/small/definition.c": line 6) +// 0 remove empty compound at ("test/cases/small/definition.c": line 5) int f() { diff --git a/rtree-c/test/expected/definition/reduction/r0010.c.hs b/rtree-c/test/expected/definition/reduction/r0010.c.hs new file mode 100644 index 0000000..adadaee --- /dev/null +++ b/rtree-c/test/expected/definition/reduction/r0010.c.hs @@ -0,0 +1,54 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CConst + ( CIntConst 0 () ) + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) [] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/definition/reduction/r0011.c b/rtree-c/test/expected/definition/reduction/r0011.c new file mode 100644 index 0000000..65af645 --- /dev/null +++ b/rtree-c/test/expected/definition/reduction/r0011.c @@ -0,0 +1,12 @@ +// 0 remove function f at ("test/cases/small/definition.c": line 1) +// 0 remove return statement at ("test/cases/small/definition.c": line 2) +// 1 remove return statement at ("test/cases/small/definition.c": line 6) +// 1 remove empty compound at ("test/cases/small/definition.c": line 5) + +int f() +{ + return 0; +} +int main() +{ +} diff --git a/rtree-c/test/expected/definition/reduction/r0011.c.hs b/rtree-c/test/expected/definition/reduction/r0011.c.hs new file mode 100644 index 0000000..adadaee --- /dev/null +++ b/rtree-c/test/expected/definition/reduction/r0011.c.hs @@ -0,0 +1,54 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CConst + ( CIntConst 0 () ) + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) [] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/definition/reduction/r010.c b/rtree-c/test/expected/definition/reduction/r0100.c similarity index 78% rename from rtree-c/test/expected/definition/reduction/r010.c rename to rtree-c/test/expected/definition/reduction/r0100.c index 6ec9fb8..d1b2460 100644 --- a/rtree-c/test/expected/definition/reduction/r010.c +++ b/rtree-c/test/expected/definition/reduction/r0100.c @@ -1,5 +1,6 @@ // 0 remove function f at ("test/cases/small/definition.c": line 1) // 1 remove return statement at ("test/cases/small/definition.c": line 2) +// 0 remove empty compound at ("test/cases/small/definition.c": line 1) // 0 remove return statement at ("test/cases/small/definition.c": line 6) int f() diff --git a/rtree-c/test/expected/definition/reduction/r0100.c.hs b/rtree-c/test/expected/definition/reduction/r0100.c.hs new file mode 100644 index 0000000..adadaee --- /dev/null +++ b/rtree-c/test/expected/definition/reduction/r0100.c.hs @@ -0,0 +1,54 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CConst + ( CIntConst 0 () ) + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) [] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/definition/reduction/r011.c b/rtree-c/test/expected/definition/reduction/r01010.c similarity index 62% rename from rtree-c/test/expected/definition/reduction/r011.c rename to rtree-c/test/expected/definition/reduction/r01010.c index 5003e4d..4013d98 100644 --- a/rtree-c/test/expected/definition/reduction/r011.c +++ b/rtree-c/test/expected/definition/reduction/r01010.c @@ -1,6 +1,8 @@ // 0 remove function f at ("test/cases/small/definition.c": line 1) // 1 remove return statement at ("test/cases/small/definition.c": line 2) +// 0 remove empty compound at ("test/cases/small/definition.c": line 1) // 1 remove return statement at ("test/cases/small/definition.c": line 6) +// 0 remove empty compound at ("test/cases/small/definition.c": line 5) int f() { diff --git a/rtree-c/test/expected/definition/reduction/r01010.c.hs b/rtree-c/test/expected/definition/reduction/r01010.c.hs new file mode 100644 index 0000000..adadaee --- /dev/null +++ b/rtree-c/test/expected/definition/reduction/r01010.c.hs @@ -0,0 +1,54 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CConst + ( CIntConst 0 () ) + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) [] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/definition/reduction/r01011.c b/rtree-c/test/expected/definition/reduction/r01011.c new file mode 100644 index 0000000..ed36743 --- /dev/null +++ b/rtree-c/test/expected/definition/reduction/r01011.c @@ -0,0 +1,12 @@ +// 0 remove function f at ("test/cases/small/definition.c": line 1) +// 1 remove return statement at ("test/cases/small/definition.c": line 2) +// 0 remove empty compound at ("test/cases/small/definition.c": line 1) +// 1 remove return statement at ("test/cases/small/definition.c": line 6) +// 1 remove empty compound at ("test/cases/small/definition.c": line 5) + +int f() +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/definition/reduction/r01011.c.hs b/rtree-c/test/expected/definition/reduction/r01011.c.hs new file mode 100644 index 0000000..adadaee --- /dev/null +++ b/rtree-c/test/expected/definition/reduction/r01011.c.hs @@ -0,0 +1,54 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CConst + ( CIntConst 0 () ) + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) [] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/definition/reduction/r0110.c b/rtree-c/test/expected/definition/reduction/r0110.c new file mode 100644 index 0000000..c24e77e --- /dev/null +++ b/rtree-c/test/expected/definition/reduction/r0110.c @@ -0,0 +1,12 @@ +// 0 remove function f at ("test/cases/small/definition.c": line 1) +// 1 remove return statement at ("test/cases/small/definition.c": line 2) +// 1 remove empty compound at ("test/cases/small/definition.c": line 1) +// 0 remove return statement at ("test/cases/small/definition.c": line 6) + +int f() +{ +} +int main() +{ + return f(); +} diff --git a/rtree-c/test/expected/definition/reduction/r0110.c.hs b/rtree-c/test/expected/definition/reduction/r0110.c.hs new file mode 100644 index 0000000..adadaee --- /dev/null +++ b/rtree-c/test/expected/definition/reduction/r0110.c.hs @@ -0,0 +1,54 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CConst + ( CIntConst 0 () ) + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) [] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/definition/reduction/r01110.c b/rtree-c/test/expected/definition/reduction/r01110.c new file mode 100644 index 0000000..8879ce9 --- /dev/null +++ b/rtree-c/test/expected/definition/reduction/r01110.c @@ -0,0 +1,12 @@ +// 0 remove function f at ("test/cases/small/definition.c": line 1) +// 1 remove return statement at ("test/cases/small/definition.c": line 2) +// 1 remove empty compound at ("test/cases/small/definition.c": line 1) +// 1 remove return statement at ("test/cases/small/definition.c": line 6) +// 0 remove empty compound at ("test/cases/small/definition.c": line 5) + +int f() +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/definition/reduction/r01110.c.hs b/rtree-c/test/expected/definition/reduction/r01110.c.hs new file mode 100644 index 0000000..adadaee --- /dev/null +++ b/rtree-c/test/expected/definition/reduction/r01110.c.hs @@ -0,0 +1,54 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CConst + ( CIntConst 0 () ) + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) [] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/definition/reduction/r01111.c b/rtree-c/test/expected/definition/reduction/r01111.c new file mode 100644 index 0000000..7455363 --- /dev/null +++ b/rtree-c/test/expected/definition/reduction/r01111.c @@ -0,0 +1,12 @@ +// 0 remove function f at ("test/cases/small/definition.c": line 1) +// 1 remove return statement at ("test/cases/small/definition.c": line 2) +// 1 remove empty compound at ("test/cases/small/definition.c": line 1) +// 1 remove return statement at ("test/cases/small/definition.c": line 6) +// 1 remove empty compound at ("test/cases/small/definition.c": line 5) + +int f() +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/definition/reduction/r01111.c.hs b/rtree-c/test/expected/definition/reduction/r01111.c.hs new file mode 100644 index 0000000..adadaee --- /dev/null +++ b/rtree-c/test/expected/definition/reduction/r01111.c.hs @@ -0,0 +1,54 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CConst + ( CIntConst 0 () ) + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) [] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/definition/reduction/r10.c.hs b/rtree-c/test/expected/definition/reduction/r10.c.hs new file mode 100644 index 0000000..adadaee --- /dev/null +++ b/rtree-c/test/expected/definition/reduction/r10.c.hs @@ -0,0 +1,54 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CConst + ( CIntConst 0 () ) + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) [] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/definition/reduction/r11.c b/rtree-c/test/expected/definition/reduction/r110.c similarity index 68% rename from rtree-c/test/expected/definition/reduction/r11.c rename to rtree-c/test/expected/definition/reduction/r110.c index 1564cc3..0c5a740 100644 --- a/rtree-c/test/expected/definition/reduction/r11.c +++ b/rtree-c/test/expected/definition/reduction/r110.c @@ -1,5 +1,6 @@ // 1 remove function f at ("test/cases/small/definition.c": line 1) // 1 remove return statement at ("test/cases/small/definition.c": line 6) +// 0 remove empty compound at ("test/cases/small/definition.c": line 5) int main() { diff --git a/rtree-c/test/expected/definition/reduction/r110.c.hs b/rtree-c/test/expected/definition/reduction/r110.c.hs new file mode 100644 index 0000000..adadaee --- /dev/null +++ b/rtree-c/test/expected/definition/reduction/r110.c.hs @@ -0,0 +1,54 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CConst + ( CIntConst 0 () ) + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) [] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/definition/reduction/r111.c b/rtree-c/test/expected/definition/reduction/r111.c new file mode 100644 index 0000000..50a5445 --- /dev/null +++ b/rtree-c/test/expected/definition/reduction/r111.c @@ -0,0 +1,7 @@ +// 1 remove function f at ("test/cases/small/definition.c": line 1) +// 1 remove return statement at ("test/cases/small/definition.c": line 6) +// 1 remove empty compound at ("test/cases/small/definition.c": line 5) + +int main() +{ +} diff --git a/rtree-c/test/expected/definition/reduction/r111.c.hs b/rtree-c/test/expected/definition/reduction/r111.c.hs new file mode 100644 index 0000000..adadaee --- /dev/null +++ b/rtree-c/test/expected/definition/reduction/r111.c.hs @@ -0,0 +1,54 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CConst + ( CIntConst 0 () ) + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) [] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/for/reduction/r00000.c b/rtree-c/test/expected/for/reduction/r000000.c similarity index 84% rename from rtree-c/test/expected/for/reduction/r00000.c rename to rtree-c/test/expected/for/reduction/r000000.c index 59d6a66..cb0ad0b 100644 --- a/rtree-c/test/expected/for/reduction/r00000.c +++ b/rtree-c/test/expected/for/reduction/r000000.c @@ -3,6 +3,7 @@ // 0 remove initializer at ("test/cases/small/for.c": line 4) // 0 reduce to left at ("test/cases/small/for.c": line 4) // 0 reduce to right at ("test/cases/small/for.c": line 4) +// 0 remove empty compound at ("test/cases/small/for.c": line 4) static int a = 0; int main() diff --git a/rtree-c/test/expected/for/reduction/r000000.c.hs b/rtree-c/test/expected/for/reduction/r000000.c.hs new file mode 100644 index 0000000..844af64 --- /dev/null +++ b/rtree-c/test/expected/for/reduction/r000000.c.hs @@ -0,0 +1,57 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CStorageSpec + ( CStatic () ) + , CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + ) Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CFor + ( CForInitializing + ( Just + ( CAssign CAssignOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CConst + ( CIntConst 0 () ) + ) () + ) + ) + ) Nothing Nothing + ( CCompound [] [] () ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/for/reduction/r000001.c b/rtree-c/test/expected/for/reduction/r000001.c new file mode 100644 index 0000000..8300117 --- /dev/null +++ b/rtree-c/test/expected/for/reduction/r000001.c @@ -0,0 +1,14 @@ +// 0 inline variable a at ("test/cases/small/for.c": line 1) +// 0 remove static at ("test/cases/small/for.c": line 1) +// 0 remove initializer at ("test/cases/small/for.c": line 4) +// 0 reduce to left at ("test/cases/small/for.c": line 4) +// 0 reduce to right at ("test/cases/small/for.c": line 4) +// 1 remove empty compound at ("test/cases/small/for.c": line 4) + +static int a = 0; +int main() +{ + for (a = 0;;) + { + } +} diff --git a/rtree-c/test/expected/for/reduction/r000001.c.hs b/rtree-c/test/expected/for/reduction/r000001.c.hs new file mode 100644 index 0000000..844af64 --- /dev/null +++ b/rtree-c/test/expected/for/reduction/r000001.c.hs @@ -0,0 +1,57 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CStorageSpec + ( CStatic () ) + , CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + ) Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CFor + ( CForInitializing + ( Just + ( CAssign CAssignOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CConst + ( CIntConst 0 () ) + ) () + ) + ) + ) Nothing Nothing + ( CCompound [] [] () ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/for/reduction/r00001.c b/rtree-c/test/expected/for/reduction/r000010.c similarity index 84% rename from rtree-c/test/expected/for/reduction/r00001.c rename to rtree-c/test/expected/for/reduction/r000010.c index 9e8dd57..958c7b6 100644 --- a/rtree-c/test/expected/for/reduction/r00001.c +++ b/rtree-c/test/expected/for/reduction/r000010.c @@ -3,6 +3,7 @@ // 0 remove initializer at ("test/cases/small/for.c": line 4) // 0 reduce to left at ("test/cases/small/for.c": line 4) // 1 reduce to right at ("test/cases/small/for.c": line 4) +// 0 remove empty compound at ("test/cases/small/for.c": line 4) static int a = 0; int main() diff --git a/rtree-c/test/expected/for/reduction/r000010.c.hs b/rtree-c/test/expected/for/reduction/r000010.c.hs new file mode 100644 index 0000000..844af64 --- /dev/null +++ b/rtree-c/test/expected/for/reduction/r000010.c.hs @@ -0,0 +1,57 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CStorageSpec + ( CStatic () ) + , CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + ) Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CFor + ( CForInitializing + ( Just + ( CAssign CAssignOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CConst + ( CIntConst 0 () ) + ) () + ) + ) + ) Nothing Nothing + ( CCompound [] [] () ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/for/reduction/r000011.c b/rtree-c/test/expected/for/reduction/r000011.c new file mode 100644 index 0000000..3e1f08b --- /dev/null +++ b/rtree-c/test/expected/for/reduction/r000011.c @@ -0,0 +1,14 @@ +// 0 inline variable a at ("test/cases/small/for.c": line 1) +// 0 remove static at ("test/cases/small/for.c": line 1) +// 0 remove initializer at ("test/cases/small/for.c": line 4) +// 0 reduce to left at ("test/cases/small/for.c": line 4) +// 1 reduce to right at ("test/cases/small/for.c": line 4) +// 1 remove empty compound at ("test/cases/small/for.c": line 4) + +static int a = 0; +int main() +{ + for (0;;) + { + } +} diff --git a/rtree-c/test/expected/for/reduction/r000011.c.hs b/rtree-c/test/expected/for/reduction/r000011.c.hs new file mode 100644 index 0000000..844af64 --- /dev/null +++ b/rtree-c/test/expected/for/reduction/r000011.c.hs @@ -0,0 +1,57 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CStorageSpec + ( CStatic () ) + , CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + ) Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CFor + ( CForInitializing + ( Just + ( CAssign CAssignOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CConst + ( CIntConst 0 () ) + ) () + ) + ) + ) Nothing Nothing + ( CCompound [] [] () ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/for/reduction/r0001.c b/rtree-c/test/expected/for/reduction/r00010.c similarity index 82% rename from rtree-c/test/expected/for/reduction/r0001.c rename to rtree-c/test/expected/for/reduction/r00010.c index d71841f..a58f913 100644 --- a/rtree-c/test/expected/for/reduction/r0001.c +++ b/rtree-c/test/expected/for/reduction/r00010.c @@ -2,6 +2,7 @@ // 0 remove static at ("test/cases/small/for.c": line 1) // 0 remove initializer at ("test/cases/small/for.c": line 4) // 1 reduce to left at ("test/cases/small/for.c": line 4) +// 0 remove empty compound at ("test/cases/small/for.c": line 4) static int a = 0; int main() diff --git a/rtree-c/test/expected/for/reduction/r00010.c.hs b/rtree-c/test/expected/for/reduction/r00010.c.hs new file mode 100644 index 0000000..844af64 --- /dev/null +++ b/rtree-c/test/expected/for/reduction/r00010.c.hs @@ -0,0 +1,57 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CStorageSpec + ( CStatic () ) + , CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + ) Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CFor + ( CForInitializing + ( Just + ( CAssign CAssignOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CConst + ( CIntConst 0 () ) + ) () + ) + ) + ) Nothing Nothing + ( CCompound [] [] () ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/for/reduction/r00011.c b/rtree-c/test/expected/for/reduction/r00011.c new file mode 100644 index 0000000..b988cd7 --- /dev/null +++ b/rtree-c/test/expected/for/reduction/r00011.c @@ -0,0 +1,13 @@ +// 0 inline variable a at ("test/cases/small/for.c": line 1) +// 0 remove static at ("test/cases/small/for.c": line 1) +// 0 remove initializer at ("test/cases/small/for.c": line 4) +// 1 reduce to left at ("test/cases/small/for.c": line 4) +// 1 remove empty compound at ("test/cases/small/for.c": line 4) + +static int a = 0; +int main() +{ + for (a;;) + { + } +} diff --git a/rtree-c/test/expected/for/reduction/r00011.c.hs b/rtree-c/test/expected/for/reduction/r00011.c.hs new file mode 100644 index 0000000..844af64 --- /dev/null +++ b/rtree-c/test/expected/for/reduction/r00011.c.hs @@ -0,0 +1,57 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CStorageSpec + ( CStatic () ) + , CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + ) Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CFor + ( CForInitializing + ( Just + ( CAssign CAssignOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CConst + ( CIntConst 0 () ) + ) () + ) + ) + ) Nothing Nothing + ( CCompound [] [] () ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/for/reduction/r001.c b/rtree-c/test/expected/for/reduction/r0010.c similarity index 78% rename from rtree-c/test/expected/for/reduction/r001.c rename to rtree-c/test/expected/for/reduction/r0010.c index a6df431..d8181bf 100644 --- a/rtree-c/test/expected/for/reduction/r001.c +++ b/rtree-c/test/expected/for/reduction/r0010.c @@ -1,6 +1,7 @@ // 0 inline variable a at ("test/cases/small/for.c": line 1) // 0 remove static at ("test/cases/small/for.c": line 1) // 1 remove initializer at ("test/cases/small/for.c": line 4) +// 0 remove empty compound at ("test/cases/small/for.c": line 4) static int a = 0; int main() diff --git a/rtree-c/test/expected/for/reduction/r0010.c.hs b/rtree-c/test/expected/for/reduction/r0010.c.hs new file mode 100644 index 0000000..844af64 --- /dev/null +++ b/rtree-c/test/expected/for/reduction/r0010.c.hs @@ -0,0 +1,57 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CStorageSpec + ( CStatic () ) + , CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + ) Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CFor + ( CForInitializing + ( Just + ( CAssign CAssignOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CConst + ( CIntConst 0 () ) + ) () + ) + ) + ) Nothing Nothing + ( CCompound [] [] () ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/for/reduction/r0011.c b/rtree-c/test/expected/for/reduction/r0011.c new file mode 100644 index 0000000..b96bfe1 --- /dev/null +++ b/rtree-c/test/expected/for/reduction/r0011.c @@ -0,0 +1,12 @@ +// 0 inline variable a at ("test/cases/small/for.c": line 1) +// 0 remove static at ("test/cases/small/for.c": line 1) +// 1 remove initializer at ("test/cases/small/for.c": line 4) +// 1 remove empty compound at ("test/cases/small/for.c": line 4) + +static int a = 0; +int main() +{ + for (;;) + { + } +} diff --git a/rtree-c/test/expected/for/reduction/r0011.c.hs b/rtree-c/test/expected/for/reduction/r0011.c.hs new file mode 100644 index 0000000..844af64 --- /dev/null +++ b/rtree-c/test/expected/for/reduction/r0011.c.hs @@ -0,0 +1,57 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CStorageSpec + ( CStatic () ) + , CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + ) Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CFor + ( CForInitializing + ( Just + ( CAssign CAssignOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CConst + ( CIntConst 0 () ) + ) () + ) + ) + ) Nothing Nothing + ( CCompound [] [] () ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/for/reduction/r01000.c b/rtree-c/test/expected/for/reduction/r010000.c similarity index 84% rename from rtree-c/test/expected/for/reduction/r01000.c rename to rtree-c/test/expected/for/reduction/r010000.c index 900304c..5fe1c0b 100644 --- a/rtree-c/test/expected/for/reduction/r01000.c +++ b/rtree-c/test/expected/for/reduction/r010000.c @@ -3,6 +3,7 @@ // 0 remove initializer at ("test/cases/small/for.c": line 4) // 0 reduce to left at ("test/cases/small/for.c": line 4) // 0 reduce to right at ("test/cases/small/for.c": line 4) +// 0 remove empty compound at ("test/cases/small/for.c": line 4) int a = 0; int main() diff --git a/rtree-c/test/expected/for/reduction/r010000.c.hs b/rtree-c/test/expected/for/reduction/r010000.c.hs new file mode 100644 index 0000000..844af64 --- /dev/null +++ b/rtree-c/test/expected/for/reduction/r010000.c.hs @@ -0,0 +1,57 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CStorageSpec + ( CStatic () ) + , CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + ) Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CFor + ( CForInitializing + ( Just + ( CAssign CAssignOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CConst + ( CIntConst 0 () ) + ) () + ) + ) + ) Nothing Nothing + ( CCompound [] [] () ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/for/reduction/r010001.c b/rtree-c/test/expected/for/reduction/r010001.c new file mode 100644 index 0000000..4236d05 --- /dev/null +++ b/rtree-c/test/expected/for/reduction/r010001.c @@ -0,0 +1,14 @@ +// 0 inline variable a at ("test/cases/small/for.c": line 1) +// 1 remove static at ("test/cases/small/for.c": line 1) +// 0 remove initializer at ("test/cases/small/for.c": line 4) +// 0 reduce to left at ("test/cases/small/for.c": line 4) +// 0 reduce to right at ("test/cases/small/for.c": line 4) +// 1 remove empty compound at ("test/cases/small/for.c": line 4) + +int a = 0; +int main() +{ + for (a = 0;;) + { + } +} diff --git a/rtree-c/test/expected/for/reduction/r010001.c.hs b/rtree-c/test/expected/for/reduction/r010001.c.hs new file mode 100644 index 0000000..844af64 --- /dev/null +++ b/rtree-c/test/expected/for/reduction/r010001.c.hs @@ -0,0 +1,57 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CStorageSpec + ( CStatic () ) + , CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + ) Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CFor + ( CForInitializing + ( Just + ( CAssign CAssignOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CConst + ( CIntConst 0 () ) + ) () + ) + ) + ) Nothing Nothing + ( CCompound [] [] () ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/for/reduction/r01001.c b/rtree-c/test/expected/for/reduction/r010010.c similarity index 84% rename from rtree-c/test/expected/for/reduction/r01001.c rename to rtree-c/test/expected/for/reduction/r010010.c index a5ace4a..811a7a6 100644 --- a/rtree-c/test/expected/for/reduction/r01001.c +++ b/rtree-c/test/expected/for/reduction/r010010.c @@ -3,6 +3,7 @@ // 0 remove initializer at ("test/cases/small/for.c": line 4) // 0 reduce to left at ("test/cases/small/for.c": line 4) // 1 reduce to right at ("test/cases/small/for.c": line 4) +// 0 remove empty compound at ("test/cases/small/for.c": line 4) int a = 0; int main() diff --git a/rtree-c/test/expected/for/reduction/r010010.c.hs b/rtree-c/test/expected/for/reduction/r010010.c.hs new file mode 100644 index 0000000..844af64 --- /dev/null +++ b/rtree-c/test/expected/for/reduction/r010010.c.hs @@ -0,0 +1,57 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CStorageSpec + ( CStatic () ) + , CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + ) Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CFor + ( CForInitializing + ( Just + ( CAssign CAssignOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CConst + ( CIntConst 0 () ) + ) () + ) + ) + ) Nothing Nothing + ( CCompound [] [] () ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/for/reduction/r010011.c b/rtree-c/test/expected/for/reduction/r010011.c new file mode 100644 index 0000000..de101b4 --- /dev/null +++ b/rtree-c/test/expected/for/reduction/r010011.c @@ -0,0 +1,14 @@ +// 0 inline variable a at ("test/cases/small/for.c": line 1) +// 1 remove static at ("test/cases/small/for.c": line 1) +// 0 remove initializer at ("test/cases/small/for.c": line 4) +// 0 reduce to left at ("test/cases/small/for.c": line 4) +// 1 reduce to right at ("test/cases/small/for.c": line 4) +// 1 remove empty compound at ("test/cases/small/for.c": line 4) + +int a = 0; +int main() +{ + for (0;;) + { + } +} diff --git a/rtree-c/test/expected/for/reduction/r010011.c.hs b/rtree-c/test/expected/for/reduction/r010011.c.hs new file mode 100644 index 0000000..844af64 --- /dev/null +++ b/rtree-c/test/expected/for/reduction/r010011.c.hs @@ -0,0 +1,57 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CStorageSpec + ( CStatic () ) + , CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + ) Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CFor + ( CForInitializing + ( Just + ( CAssign CAssignOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CConst + ( CIntConst 0 () ) + ) () + ) + ) + ) Nothing Nothing + ( CCompound [] [] () ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/for/reduction/r0101.c b/rtree-c/test/expected/for/reduction/r01010.c similarity index 81% rename from rtree-c/test/expected/for/reduction/r0101.c rename to rtree-c/test/expected/for/reduction/r01010.c index a0adfc8..d0e4bbf 100644 --- a/rtree-c/test/expected/for/reduction/r0101.c +++ b/rtree-c/test/expected/for/reduction/r01010.c @@ -2,6 +2,7 @@ // 1 remove static at ("test/cases/small/for.c": line 1) // 0 remove initializer at ("test/cases/small/for.c": line 4) // 1 reduce to left at ("test/cases/small/for.c": line 4) +// 0 remove empty compound at ("test/cases/small/for.c": line 4) int a = 0; int main() diff --git a/rtree-c/test/expected/for/reduction/r01010.c.hs b/rtree-c/test/expected/for/reduction/r01010.c.hs new file mode 100644 index 0000000..844af64 --- /dev/null +++ b/rtree-c/test/expected/for/reduction/r01010.c.hs @@ -0,0 +1,57 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CStorageSpec + ( CStatic () ) + , CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + ) Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CFor + ( CForInitializing + ( Just + ( CAssign CAssignOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CConst + ( CIntConst 0 () ) + ) () + ) + ) + ) Nothing Nothing + ( CCompound [] [] () ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/for/reduction/r01011.c b/rtree-c/test/expected/for/reduction/r01011.c new file mode 100644 index 0000000..af38507 --- /dev/null +++ b/rtree-c/test/expected/for/reduction/r01011.c @@ -0,0 +1,13 @@ +// 0 inline variable a at ("test/cases/small/for.c": line 1) +// 1 remove static at ("test/cases/small/for.c": line 1) +// 0 remove initializer at ("test/cases/small/for.c": line 4) +// 1 reduce to left at ("test/cases/small/for.c": line 4) +// 1 remove empty compound at ("test/cases/small/for.c": line 4) + +int a = 0; +int main() +{ + for (a;;) + { + } +} diff --git a/rtree-c/test/expected/for/reduction/r01011.c.hs b/rtree-c/test/expected/for/reduction/r01011.c.hs new file mode 100644 index 0000000..844af64 --- /dev/null +++ b/rtree-c/test/expected/for/reduction/r01011.c.hs @@ -0,0 +1,57 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CStorageSpec + ( CStatic () ) + , CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + ) Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CFor + ( CForInitializing + ( Just + ( CAssign CAssignOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CConst + ( CIntConst 0 () ) + ) () + ) + ) + ) Nothing Nothing + ( CCompound [] [] () ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/for/reduction/r011.c b/rtree-c/test/expected/for/reduction/r0110.c similarity index 78% rename from rtree-c/test/expected/for/reduction/r011.c rename to rtree-c/test/expected/for/reduction/r0110.c index c3b59ac..a89475b 100644 --- a/rtree-c/test/expected/for/reduction/r011.c +++ b/rtree-c/test/expected/for/reduction/r0110.c @@ -1,6 +1,7 @@ // 0 inline variable a at ("test/cases/small/for.c": line 1) // 1 remove static at ("test/cases/small/for.c": line 1) // 1 remove initializer at ("test/cases/small/for.c": line 4) +// 0 remove empty compound at ("test/cases/small/for.c": line 4) int a = 0; int main() diff --git a/rtree-c/test/expected/for/reduction/r0110.c.hs b/rtree-c/test/expected/for/reduction/r0110.c.hs new file mode 100644 index 0000000..844af64 --- /dev/null +++ b/rtree-c/test/expected/for/reduction/r0110.c.hs @@ -0,0 +1,57 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CStorageSpec + ( CStatic () ) + , CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + ) Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CFor + ( CForInitializing + ( Just + ( CAssign CAssignOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CConst + ( CIntConst 0 () ) + ) () + ) + ) + ) Nothing Nothing + ( CCompound [] [] () ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/for/reduction/r0111.c b/rtree-c/test/expected/for/reduction/r0111.c new file mode 100644 index 0000000..d936ce0 --- /dev/null +++ b/rtree-c/test/expected/for/reduction/r0111.c @@ -0,0 +1,12 @@ +// 0 inline variable a at ("test/cases/small/for.c": line 1) +// 1 remove static at ("test/cases/small/for.c": line 1) +// 1 remove initializer at ("test/cases/small/for.c": line 4) +// 1 remove empty compound at ("test/cases/small/for.c": line 4) + +int a = 0; +int main() +{ + for (;;) + { + } +} diff --git a/rtree-c/test/expected/for/reduction/r0111.c.hs b/rtree-c/test/expected/for/reduction/r0111.c.hs new file mode 100644 index 0000000..844af64 --- /dev/null +++ b/rtree-c/test/expected/for/reduction/r0111.c.hs @@ -0,0 +1,57 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CStorageSpec + ( CStatic () ) + , CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + ) Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CFor + ( CForInitializing + ( Just + ( CAssign CAssignOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CConst + ( CIntConst 0 () ) + ) () + ) + ) + ) Nothing Nothing + ( CCompound [] [] () ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/for/reduction/r1.c b/rtree-c/test/expected/for/reduction/r10.c similarity index 61% rename from rtree-c/test/expected/for/reduction/r1.c rename to rtree-c/test/expected/for/reduction/r10.c index b99962f..8c7a31c 100644 --- a/rtree-c/test/expected/for/reduction/r1.c +++ b/rtree-c/test/expected/for/reduction/r10.c @@ -1,4 +1,5 @@ // 1 inline variable a at ("test/cases/small/for.c": line 1) +// 0 remove empty compound at ("test/cases/small/for.c": line 4) int main() { diff --git a/rtree-c/test/expected/for/reduction/r10.c.hs b/rtree-c/test/expected/for/reduction/r10.c.hs new file mode 100644 index 0000000..844af64 --- /dev/null +++ b/rtree-c/test/expected/for/reduction/r10.c.hs @@ -0,0 +1,57 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CStorageSpec + ( CStatic () ) + , CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + ) Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CFor + ( CForInitializing + ( Just + ( CAssign CAssignOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CConst + ( CIntConst 0 () ) + ) () + ) + ) + ) Nothing Nothing + ( CCompound [] [] () ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/for/reduction/r11.c b/rtree-c/test/expected/for/reduction/r11.c new file mode 100644 index 0000000..c3507ba --- /dev/null +++ b/rtree-c/test/expected/for/reduction/r11.c @@ -0,0 +1,9 @@ +// 1 inline variable a at ("test/cases/small/for.c": line 1) +// 1 remove empty compound at ("test/cases/small/for.c": line 4) + +int main() +{ + for (;;) + { + } +} diff --git a/rtree-c/test/expected/for/reduction/r11.c.hs b/rtree-c/test/expected/for/reduction/r11.c.hs new file mode 100644 index 0000000..844af64 --- /dev/null +++ b/rtree-c/test/expected/for/reduction/r11.c.hs @@ -0,0 +1,57 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CStorageSpec + ( CStatic () ) + , CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + ) Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CFor + ( CForInitializing + ( Just + ( CAssign CAssignOp + ( CVar + ( Ident "a" 97 () ) () + ) + ( CConst + ( CIntConst 0 () ) + ) () + ) + ) + ) Nothing Nothing + ( CCompound [] [] () ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r00000000.c b/rtree-c/test/expected/functions/reduction/r000000000.c similarity index 89% rename from rtree-c/test/expected/functions/reduction/r00000000.c rename to rtree-c/test/expected/functions/reduction/r000000000.c index 543338b..48db573 100644 --- a/rtree-c/test/expected/functions/reduction/r00000000.c +++ b/rtree-c/test/expected/functions/reduction/r000000000.c @@ -3,6 +3,7 @@ // 0 remove function g at ("test/cases/small/functions.c": line 5) // 0 remove parameter at ("test/cases/small/functions.c": line 5) // 0 remove expr statement at ("test/cases/small/functions.c": line 2) +// 0 remove empty compound at ("test/cases/small/functions.c": line 5) // 0 remove return statement at ("test/cases/small/functions.c": line 9) // 0 do without param at ("test/cases/small/functions.c": line 9) // 0 do without param at ("test/cases/small/functions.c": line 9) diff --git a/rtree-c/test/expected/functions/reduction/r000000000.c.hs b/rtree-c/test/expected/functions/reduction/r000000000.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000000000.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r000000001.c b/rtree-c/test/expected/functions/reduction/r000000001.c new file mode 100644 index 0000000..df1433b --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000000001.c @@ -0,0 +1,21 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 0 remove parameter at ("test/cases/small/functions.c": line 5) +// 0 remove expr statement at ("test/cases/small/functions.c": line 2) +// 0 remove empty compound at ("test/cases/small/functions.c": line 5) +// 0 remove return statement at ("test/cases/small/functions.c": line 9) +// 0 do without param at ("test/cases/small/functions.c": line 9) +// 1 do without param at ("test/cases/small/functions.c": line 9) + +int f(int a) +{ + a; +} +int g(int a) +{ +} +int main() +{ + return f(g(0)); +} diff --git a/rtree-c/test/expected/functions/reduction/r000000001.c.hs b/rtree-c/test/expected/functions/reduction/r000000001.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000000001.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r00000001.c b/rtree-c/test/expected/functions/reduction/r00000001.c index 66abac8..e8511e7 100644 --- a/rtree-c/test/expected/functions/reduction/r00000001.c +++ b/rtree-c/test/expected/functions/reduction/r00000001.c @@ -3,8 +3,8 @@ // 0 remove function g at ("test/cases/small/functions.c": line 5) // 0 remove parameter at ("test/cases/small/functions.c": line 5) // 0 remove expr statement at ("test/cases/small/functions.c": line 2) +// 0 remove empty compound at ("test/cases/small/functions.c": line 5) // 0 remove return statement at ("test/cases/small/functions.c": line 9) -// 0 do without param at ("test/cases/small/functions.c": line 9) // 1 do without param at ("test/cases/small/functions.c": line 9) int f(int a) @@ -16,5 +16,5 @@ int g(int a) } int main() { - return f(g(0)); + return f(0); } diff --git a/rtree-c/test/expected/functions/reduction/r00000001.c.hs b/rtree-c/test/expected/functions/reduction/r00000001.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r00000001.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r000001.c b/rtree-c/test/expected/functions/reduction/r00000010.c similarity index 76% rename from rtree-c/test/expected/functions/reduction/r000001.c rename to rtree-c/test/expected/functions/reduction/r00000010.c index df38e38..6ba5aed 100644 --- a/rtree-c/test/expected/functions/reduction/r000001.c +++ b/rtree-c/test/expected/functions/reduction/r00000010.c @@ -3,7 +3,9 @@ // 0 remove function g at ("test/cases/small/functions.c": line 5) // 0 remove parameter at ("test/cases/small/functions.c": line 5) // 0 remove expr statement at ("test/cases/small/functions.c": line 2) +// 0 remove empty compound at ("test/cases/small/functions.c": line 5) // 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 0 remove empty compound at ("test/cases/small/functions.c": line 8) int f(int a) { diff --git a/rtree-c/test/expected/functions/reduction/r00000010.c.hs b/rtree-c/test/expected/functions/reduction/r00000010.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r00000010.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r00000011.c b/rtree-c/test/expected/functions/reduction/r00000011.c new file mode 100644 index 0000000..6414c87 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r00000011.c @@ -0,0 +1,19 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 0 remove parameter at ("test/cases/small/functions.c": line 5) +// 0 remove expr statement at ("test/cases/small/functions.c": line 2) +// 0 remove empty compound at ("test/cases/small/functions.c": line 5) +// 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 1 remove empty compound at ("test/cases/small/functions.c": line 8) + +int f(int a) +{ + a; +} +int g(int a) +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/functions/reduction/r00000011.c.hs b/rtree-c/test/expected/functions/reduction/r00000011.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r00000011.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r000001000.c b/rtree-c/test/expected/functions/reduction/r000001000.c new file mode 100644 index 0000000..66c3869 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000001000.c @@ -0,0 +1,21 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 0 remove parameter at ("test/cases/small/functions.c": line 5) +// 0 remove expr statement at ("test/cases/small/functions.c": line 2) +// 1 remove empty compound at ("test/cases/small/functions.c": line 5) +// 0 remove return statement at ("test/cases/small/functions.c": line 9) +// 0 do without param at ("test/cases/small/functions.c": line 9) +// 0 do without param at ("test/cases/small/functions.c": line 9) + +int f(int a) +{ + a; +} +int g(int a) +{ +} +int main() +{ + return f(g(42)); +} diff --git a/rtree-c/test/expected/functions/reduction/r000001000.c.hs b/rtree-c/test/expected/functions/reduction/r000001000.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000001000.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r000001001.c b/rtree-c/test/expected/functions/reduction/r000001001.c new file mode 100644 index 0000000..0a87c9a --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000001001.c @@ -0,0 +1,21 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 0 remove parameter at ("test/cases/small/functions.c": line 5) +// 0 remove expr statement at ("test/cases/small/functions.c": line 2) +// 1 remove empty compound at ("test/cases/small/functions.c": line 5) +// 0 remove return statement at ("test/cases/small/functions.c": line 9) +// 0 do without param at ("test/cases/small/functions.c": line 9) +// 1 do without param at ("test/cases/small/functions.c": line 9) + +int f(int a) +{ + a; +} +int g(int a) +{ +} +int main() +{ + return f(g(0)); +} diff --git a/rtree-c/test/expected/functions/reduction/r000001001.c.hs b/rtree-c/test/expected/functions/reduction/r000001001.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000001001.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r0000001.c b/rtree-c/test/expected/functions/reduction/r00000101.c similarity index 88% rename from rtree-c/test/expected/functions/reduction/r0000001.c rename to rtree-c/test/expected/functions/reduction/r00000101.c index f7b815a..da6fa13 100644 --- a/rtree-c/test/expected/functions/reduction/r0000001.c +++ b/rtree-c/test/expected/functions/reduction/r00000101.c @@ -3,6 +3,7 @@ // 0 remove function g at ("test/cases/small/functions.c": line 5) // 0 remove parameter at ("test/cases/small/functions.c": line 5) // 0 remove expr statement at ("test/cases/small/functions.c": line 2) +// 1 remove empty compound at ("test/cases/small/functions.c": line 5) // 0 remove return statement at ("test/cases/small/functions.c": line 9) // 1 do without param at ("test/cases/small/functions.c": line 9) diff --git a/rtree-c/test/expected/functions/reduction/r00000101.c.hs b/rtree-c/test/expected/functions/reduction/r00000101.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r00000101.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r00000110.c b/rtree-c/test/expected/functions/reduction/r00000110.c new file mode 100644 index 0000000..d0159c2 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r00000110.c @@ -0,0 +1,19 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 0 remove parameter at ("test/cases/small/functions.c": line 5) +// 0 remove expr statement at ("test/cases/small/functions.c": line 2) +// 1 remove empty compound at ("test/cases/small/functions.c": line 5) +// 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 0 remove empty compound at ("test/cases/small/functions.c": line 8) + +int f(int a) +{ + a; +} +int g(int a) +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/functions/reduction/r00000110.c.hs b/rtree-c/test/expected/functions/reduction/r00000110.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r00000110.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r00000111.c b/rtree-c/test/expected/functions/reduction/r00000111.c new file mode 100644 index 0000000..fde2f96 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r00000111.c @@ -0,0 +1,19 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 0 remove parameter at ("test/cases/small/functions.c": line 5) +// 0 remove expr statement at ("test/cases/small/functions.c": line 2) +// 1 remove empty compound at ("test/cases/small/functions.c": line 5) +// 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 1 remove empty compound at ("test/cases/small/functions.c": line 8) + +int f(int a) +{ + a; +} +int g(int a) +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/functions/reduction/r00000111.c.hs b/rtree-c/test/expected/functions/reduction/r00000111.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r00000111.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r00001000.c b/rtree-c/test/expected/functions/reduction/r0000100000.c similarity index 81% rename from rtree-c/test/expected/functions/reduction/r00001000.c rename to rtree-c/test/expected/functions/reduction/r0000100000.c index 6367eec..044cb46 100644 --- a/rtree-c/test/expected/functions/reduction/r00001000.c +++ b/rtree-c/test/expected/functions/reduction/r0000100000.c @@ -3,6 +3,8 @@ // 0 remove function g at ("test/cases/small/functions.c": line 5) // 0 remove parameter at ("test/cases/small/functions.c": line 5) // 1 remove expr statement at ("test/cases/small/functions.c": line 2) +// 0 remove empty compound at ("test/cases/small/functions.c": line 1) +// 0 remove empty compound at ("test/cases/small/functions.c": line 5) // 0 remove return statement at ("test/cases/small/functions.c": line 9) // 0 do without param at ("test/cases/small/functions.c": line 9) // 0 do without param at ("test/cases/small/functions.c": line 9) diff --git a/rtree-c/test/expected/functions/reduction/r0000100000.c.hs b/rtree-c/test/expected/functions/reduction/r0000100000.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r0000100000.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r00001001.c b/rtree-c/test/expected/functions/reduction/r0000100001.c similarity index 81% rename from rtree-c/test/expected/functions/reduction/r00001001.c rename to rtree-c/test/expected/functions/reduction/r0000100001.c index d166d3f..95b3b77 100644 --- a/rtree-c/test/expected/functions/reduction/r00001001.c +++ b/rtree-c/test/expected/functions/reduction/r0000100001.c @@ -3,6 +3,8 @@ // 0 remove function g at ("test/cases/small/functions.c": line 5) // 0 remove parameter at ("test/cases/small/functions.c": line 5) // 1 remove expr statement at ("test/cases/small/functions.c": line 2) +// 0 remove empty compound at ("test/cases/small/functions.c": line 1) +// 0 remove empty compound at ("test/cases/small/functions.c": line 5) // 0 remove return statement at ("test/cases/small/functions.c": line 9) // 0 do without param at ("test/cases/small/functions.c": line 9) // 1 do without param at ("test/cases/small/functions.c": line 9) diff --git a/rtree-c/test/expected/functions/reduction/r0000100001.c.hs b/rtree-c/test/expected/functions/reduction/r0000100001.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r0000100001.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r0000101.c b/rtree-c/test/expected/functions/reduction/r000010001.c similarity index 79% rename from rtree-c/test/expected/functions/reduction/r0000101.c rename to rtree-c/test/expected/functions/reduction/r000010001.c index e904596..e8a82a0 100644 --- a/rtree-c/test/expected/functions/reduction/r0000101.c +++ b/rtree-c/test/expected/functions/reduction/r000010001.c @@ -3,6 +3,8 @@ // 0 remove function g at ("test/cases/small/functions.c": line 5) // 0 remove parameter at ("test/cases/small/functions.c": line 5) // 1 remove expr statement at ("test/cases/small/functions.c": line 2) +// 0 remove empty compound at ("test/cases/small/functions.c": line 1) +// 0 remove empty compound at ("test/cases/small/functions.c": line 5) // 0 remove return statement at ("test/cases/small/functions.c": line 9) // 1 do without param at ("test/cases/small/functions.c": line 9) diff --git a/rtree-c/test/expected/functions/reduction/r000010001.c.hs b/rtree-c/test/expected/functions/reduction/r000010001.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000010001.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r000011.c b/rtree-c/test/expected/functions/reduction/r000010010.c similarity index 68% rename from rtree-c/test/expected/functions/reduction/r000011.c rename to rtree-c/test/expected/functions/reduction/r000010010.c index f110d87..7e926cb 100644 --- a/rtree-c/test/expected/functions/reduction/r000011.c +++ b/rtree-c/test/expected/functions/reduction/r000010010.c @@ -3,7 +3,10 @@ // 0 remove function g at ("test/cases/small/functions.c": line 5) // 0 remove parameter at ("test/cases/small/functions.c": line 5) // 1 remove expr statement at ("test/cases/small/functions.c": line 2) +// 0 remove empty compound at ("test/cases/small/functions.c": line 1) +// 0 remove empty compound at ("test/cases/small/functions.c": line 5) // 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 0 remove empty compound at ("test/cases/small/functions.c": line 8) int f(int a) { diff --git a/rtree-c/test/expected/functions/reduction/r000010010.c.hs b/rtree-c/test/expected/functions/reduction/r000010010.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000010010.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r000010011.c b/rtree-c/test/expected/functions/reduction/r000010011.c new file mode 100644 index 0000000..aaacd6a --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000010011.c @@ -0,0 +1,19 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 0 remove parameter at ("test/cases/small/functions.c": line 5) +// 1 remove expr statement at ("test/cases/small/functions.c": line 2) +// 0 remove empty compound at ("test/cases/small/functions.c": line 1) +// 0 remove empty compound at ("test/cases/small/functions.c": line 5) +// 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 1 remove empty compound at ("test/cases/small/functions.c": line 8) + +int f(int a) +{ +} +int g(int a) +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/functions/reduction/r000010011.c.hs b/rtree-c/test/expected/functions/reduction/r000010011.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000010011.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r0000101000.c b/rtree-c/test/expected/functions/reduction/r0000101000.c new file mode 100644 index 0000000..d924cca --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r0000101000.c @@ -0,0 +1,21 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 0 remove parameter at ("test/cases/small/functions.c": line 5) +// 1 remove expr statement at ("test/cases/small/functions.c": line 2) +// 0 remove empty compound at ("test/cases/small/functions.c": line 1) +// 1 remove empty compound at ("test/cases/small/functions.c": line 5) +// 0 remove return statement at ("test/cases/small/functions.c": line 9) +// 0 do without param at ("test/cases/small/functions.c": line 9) +// 0 do without param at ("test/cases/small/functions.c": line 9) + +int f(int a) +{ +} +int g(int a) +{ +} +int main() +{ + return f(g(42)); +} diff --git a/rtree-c/test/expected/functions/reduction/r0000101000.c.hs b/rtree-c/test/expected/functions/reduction/r0000101000.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r0000101000.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r0000101001.c b/rtree-c/test/expected/functions/reduction/r0000101001.c new file mode 100644 index 0000000..9b4469d --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r0000101001.c @@ -0,0 +1,21 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 0 remove parameter at ("test/cases/small/functions.c": line 5) +// 1 remove expr statement at ("test/cases/small/functions.c": line 2) +// 0 remove empty compound at ("test/cases/small/functions.c": line 1) +// 1 remove empty compound at ("test/cases/small/functions.c": line 5) +// 0 remove return statement at ("test/cases/small/functions.c": line 9) +// 0 do without param at ("test/cases/small/functions.c": line 9) +// 1 do without param at ("test/cases/small/functions.c": line 9) + +int f(int a) +{ +} +int g(int a) +{ +} +int main() +{ + return f(g(0)); +} diff --git a/rtree-c/test/expected/functions/reduction/r0000101001.c.hs b/rtree-c/test/expected/functions/reduction/r0000101001.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r0000101001.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r000010101.c b/rtree-c/test/expected/functions/reduction/r000010101.c new file mode 100644 index 0000000..f63f0f3 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000010101.c @@ -0,0 +1,20 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 0 remove parameter at ("test/cases/small/functions.c": line 5) +// 1 remove expr statement at ("test/cases/small/functions.c": line 2) +// 0 remove empty compound at ("test/cases/small/functions.c": line 1) +// 1 remove empty compound at ("test/cases/small/functions.c": line 5) +// 0 remove return statement at ("test/cases/small/functions.c": line 9) +// 1 do without param at ("test/cases/small/functions.c": line 9) + +int f(int a) +{ +} +int g(int a) +{ +} +int main() +{ + return f(0); +} diff --git a/rtree-c/test/expected/functions/reduction/r000010101.c.hs b/rtree-c/test/expected/functions/reduction/r000010101.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000010101.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r000010110.c b/rtree-c/test/expected/functions/reduction/r000010110.c new file mode 100644 index 0000000..2eca743 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000010110.c @@ -0,0 +1,19 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 0 remove parameter at ("test/cases/small/functions.c": line 5) +// 1 remove expr statement at ("test/cases/small/functions.c": line 2) +// 0 remove empty compound at ("test/cases/small/functions.c": line 1) +// 1 remove empty compound at ("test/cases/small/functions.c": line 5) +// 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 0 remove empty compound at ("test/cases/small/functions.c": line 8) + +int f(int a) +{ +} +int g(int a) +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/functions/reduction/r000010110.c.hs b/rtree-c/test/expected/functions/reduction/r000010110.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000010110.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r000010111.c b/rtree-c/test/expected/functions/reduction/r000010111.c new file mode 100644 index 0000000..d21e381 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000010111.c @@ -0,0 +1,19 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 0 remove parameter at ("test/cases/small/functions.c": line 5) +// 1 remove expr statement at ("test/cases/small/functions.c": line 2) +// 0 remove empty compound at ("test/cases/small/functions.c": line 1) +// 1 remove empty compound at ("test/cases/small/functions.c": line 5) +// 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 1 remove empty compound at ("test/cases/small/functions.c": line 8) + +int f(int a) +{ +} +int g(int a) +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/functions/reduction/r000010111.c.hs b/rtree-c/test/expected/functions/reduction/r000010111.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000010111.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r0000110000.c b/rtree-c/test/expected/functions/reduction/r0000110000.c new file mode 100644 index 0000000..fb999eb --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r0000110000.c @@ -0,0 +1,21 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 0 remove parameter at ("test/cases/small/functions.c": line 5) +// 1 remove expr statement at ("test/cases/small/functions.c": line 2) +// 1 remove empty compound at ("test/cases/small/functions.c": line 1) +// 0 remove empty compound at ("test/cases/small/functions.c": line 5) +// 0 remove return statement at ("test/cases/small/functions.c": line 9) +// 0 do without param at ("test/cases/small/functions.c": line 9) +// 0 do without param at ("test/cases/small/functions.c": line 9) + +int f(int a) +{ +} +int g(int a) +{ +} +int main() +{ + return f(g(42)); +} diff --git a/rtree-c/test/expected/functions/reduction/r0000110000.c.hs b/rtree-c/test/expected/functions/reduction/r0000110000.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r0000110000.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r0000110001.c b/rtree-c/test/expected/functions/reduction/r0000110001.c new file mode 100644 index 0000000..c8328b8 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r0000110001.c @@ -0,0 +1,21 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 0 remove parameter at ("test/cases/small/functions.c": line 5) +// 1 remove expr statement at ("test/cases/small/functions.c": line 2) +// 1 remove empty compound at ("test/cases/small/functions.c": line 1) +// 0 remove empty compound at ("test/cases/small/functions.c": line 5) +// 0 remove return statement at ("test/cases/small/functions.c": line 9) +// 0 do without param at ("test/cases/small/functions.c": line 9) +// 1 do without param at ("test/cases/small/functions.c": line 9) + +int f(int a) +{ +} +int g(int a) +{ +} +int main() +{ + return f(g(0)); +} diff --git a/rtree-c/test/expected/functions/reduction/r0000110001.c.hs b/rtree-c/test/expected/functions/reduction/r0000110001.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r0000110001.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r000011001.c b/rtree-c/test/expected/functions/reduction/r000011001.c new file mode 100644 index 0000000..ebe2ee0 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000011001.c @@ -0,0 +1,20 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 0 remove parameter at ("test/cases/small/functions.c": line 5) +// 1 remove expr statement at ("test/cases/small/functions.c": line 2) +// 1 remove empty compound at ("test/cases/small/functions.c": line 1) +// 0 remove empty compound at ("test/cases/small/functions.c": line 5) +// 0 remove return statement at ("test/cases/small/functions.c": line 9) +// 1 do without param at ("test/cases/small/functions.c": line 9) + +int f(int a) +{ +} +int g(int a) +{ +} +int main() +{ + return f(0); +} diff --git a/rtree-c/test/expected/functions/reduction/r000011001.c.hs b/rtree-c/test/expected/functions/reduction/r000011001.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000011001.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r000011010.c b/rtree-c/test/expected/functions/reduction/r000011010.c new file mode 100644 index 0000000..56ae3fa --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000011010.c @@ -0,0 +1,19 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 0 remove parameter at ("test/cases/small/functions.c": line 5) +// 1 remove expr statement at ("test/cases/small/functions.c": line 2) +// 1 remove empty compound at ("test/cases/small/functions.c": line 1) +// 0 remove empty compound at ("test/cases/small/functions.c": line 5) +// 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 0 remove empty compound at ("test/cases/small/functions.c": line 8) + +int f(int a) +{ +} +int g(int a) +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/functions/reduction/r000011010.c.hs b/rtree-c/test/expected/functions/reduction/r000011010.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000011010.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r000011011.c b/rtree-c/test/expected/functions/reduction/r000011011.c new file mode 100644 index 0000000..3fe5856 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000011011.c @@ -0,0 +1,19 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 0 remove parameter at ("test/cases/small/functions.c": line 5) +// 1 remove expr statement at ("test/cases/small/functions.c": line 2) +// 1 remove empty compound at ("test/cases/small/functions.c": line 1) +// 0 remove empty compound at ("test/cases/small/functions.c": line 5) +// 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 1 remove empty compound at ("test/cases/small/functions.c": line 8) + +int f(int a) +{ +} +int g(int a) +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/functions/reduction/r000011011.c.hs b/rtree-c/test/expected/functions/reduction/r000011011.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000011011.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r0000111000.c b/rtree-c/test/expected/functions/reduction/r0000111000.c new file mode 100644 index 0000000..06f58d0 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r0000111000.c @@ -0,0 +1,21 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 0 remove parameter at ("test/cases/small/functions.c": line 5) +// 1 remove expr statement at ("test/cases/small/functions.c": line 2) +// 1 remove empty compound at ("test/cases/small/functions.c": line 1) +// 1 remove empty compound at ("test/cases/small/functions.c": line 5) +// 0 remove return statement at ("test/cases/small/functions.c": line 9) +// 0 do without param at ("test/cases/small/functions.c": line 9) +// 0 do without param at ("test/cases/small/functions.c": line 9) + +int f(int a) +{ +} +int g(int a) +{ +} +int main() +{ + return f(g(42)); +} diff --git a/rtree-c/test/expected/functions/reduction/r0000111000.c.hs b/rtree-c/test/expected/functions/reduction/r0000111000.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r0000111000.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r0000111001.c b/rtree-c/test/expected/functions/reduction/r0000111001.c new file mode 100644 index 0000000..2ebf0ce --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r0000111001.c @@ -0,0 +1,21 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 0 remove parameter at ("test/cases/small/functions.c": line 5) +// 1 remove expr statement at ("test/cases/small/functions.c": line 2) +// 1 remove empty compound at ("test/cases/small/functions.c": line 1) +// 1 remove empty compound at ("test/cases/small/functions.c": line 5) +// 0 remove return statement at ("test/cases/small/functions.c": line 9) +// 0 do without param at ("test/cases/small/functions.c": line 9) +// 1 do without param at ("test/cases/small/functions.c": line 9) + +int f(int a) +{ +} +int g(int a) +{ +} +int main() +{ + return f(g(0)); +} diff --git a/rtree-c/test/expected/functions/reduction/r0000111001.c.hs b/rtree-c/test/expected/functions/reduction/r0000111001.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r0000111001.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r000011101.c b/rtree-c/test/expected/functions/reduction/r000011101.c new file mode 100644 index 0000000..cd95483 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000011101.c @@ -0,0 +1,20 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 0 remove parameter at ("test/cases/small/functions.c": line 5) +// 1 remove expr statement at ("test/cases/small/functions.c": line 2) +// 1 remove empty compound at ("test/cases/small/functions.c": line 1) +// 1 remove empty compound at ("test/cases/small/functions.c": line 5) +// 0 remove return statement at ("test/cases/small/functions.c": line 9) +// 1 do without param at ("test/cases/small/functions.c": line 9) + +int f(int a) +{ +} +int g(int a) +{ +} +int main() +{ + return f(0); +} diff --git a/rtree-c/test/expected/functions/reduction/r000011101.c.hs b/rtree-c/test/expected/functions/reduction/r000011101.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000011101.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r000011110.c b/rtree-c/test/expected/functions/reduction/r000011110.c new file mode 100644 index 0000000..4481f1c --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000011110.c @@ -0,0 +1,19 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 0 remove parameter at ("test/cases/small/functions.c": line 5) +// 1 remove expr statement at ("test/cases/small/functions.c": line 2) +// 1 remove empty compound at ("test/cases/small/functions.c": line 1) +// 1 remove empty compound at ("test/cases/small/functions.c": line 5) +// 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 0 remove empty compound at ("test/cases/small/functions.c": line 8) + +int f(int a) +{ +} +int g(int a) +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/functions/reduction/r000011110.c.hs b/rtree-c/test/expected/functions/reduction/r000011110.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000011110.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r000011111.c b/rtree-c/test/expected/functions/reduction/r000011111.c new file mode 100644 index 0000000..3fb1ad9 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000011111.c @@ -0,0 +1,19 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 0 remove parameter at ("test/cases/small/functions.c": line 5) +// 1 remove expr statement at ("test/cases/small/functions.c": line 2) +// 1 remove empty compound at ("test/cases/small/functions.c": line 1) +// 1 remove empty compound at ("test/cases/small/functions.c": line 5) +// 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 1 remove empty compound at ("test/cases/small/functions.c": line 8) + +int f(int a) +{ +} +int g(int a) +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/functions/reduction/r000011111.c.hs b/rtree-c/test/expected/functions/reduction/r000011111.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000011111.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r0001000.c b/rtree-c/test/expected/functions/reduction/r00010000.c similarity index 88% rename from rtree-c/test/expected/functions/reduction/r0001000.c rename to rtree-c/test/expected/functions/reduction/r00010000.c index 9f79ff2..126a8d1 100644 --- a/rtree-c/test/expected/functions/reduction/r0001000.c +++ b/rtree-c/test/expected/functions/reduction/r00010000.c @@ -3,6 +3,7 @@ // 0 remove function g at ("test/cases/small/functions.c": line 5) // 1 remove parameter at ("test/cases/small/functions.c": line 5) // 0 remove expr statement at ("test/cases/small/functions.c": line 2) +// 0 remove empty compound at ("test/cases/small/functions.c": line 5) // 0 remove return statement at ("test/cases/small/functions.c": line 9) // 0 do without param at ("test/cases/small/functions.c": line 9) diff --git a/rtree-c/test/expected/functions/reduction/r00010000.c.hs b/rtree-c/test/expected/functions/reduction/r00010000.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r00010000.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r0001001.c b/rtree-c/test/expected/functions/reduction/r00010001.c similarity index 88% rename from rtree-c/test/expected/functions/reduction/r0001001.c rename to rtree-c/test/expected/functions/reduction/r00010001.c index 707a844..fc0970d 100644 --- a/rtree-c/test/expected/functions/reduction/r0001001.c +++ b/rtree-c/test/expected/functions/reduction/r00010001.c @@ -3,6 +3,7 @@ // 0 remove function g at ("test/cases/small/functions.c": line 5) // 1 remove parameter at ("test/cases/small/functions.c": line 5) // 0 remove expr statement at ("test/cases/small/functions.c": line 2) +// 0 remove empty compound at ("test/cases/small/functions.c": line 5) // 0 remove return statement at ("test/cases/small/functions.c": line 9) // 1 do without param at ("test/cases/small/functions.c": line 9) diff --git a/rtree-c/test/expected/functions/reduction/r00010001.c.hs b/rtree-c/test/expected/functions/reduction/r00010001.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r00010001.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r000101.c b/rtree-c/test/expected/functions/reduction/r00010010.c similarity index 76% rename from rtree-c/test/expected/functions/reduction/r000101.c rename to rtree-c/test/expected/functions/reduction/r00010010.c index f84ccce..e3f27b3 100644 --- a/rtree-c/test/expected/functions/reduction/r000101.c +++ b/rtree-c/test/expected/functions/reduction/r00010010.c @@ -3,7 +3,9 @@ // 0 remove function g at ("test/cases/small/functions.c": line 5) // 1 remove parameter at ("test/cases/small/functions.c": line 5) // 0 remove expr statement at ("test/cases/small/functions.c": line 2) +// 0 remove empty compound at ("test/cases/small/functions.c": line 5) // 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 0 remove empty compound at ("test/cases/small/functions.c": line 8) int f(int a) { diff --git a/rtree-c/test/expected/functions/reduction/r00010010.c.hs b/rtree-c/test/expected/functions/reduction/r00010010.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r00010010.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r00010011.c b/rtree-c/test/expected/functions/reduction/r00010011.c new file mode 100644 index 0000000..44533ba --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r00010011.c @@ -0,0 +1,19 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 1 remove parameter at ("test/cases/small/functions.c": line 5) +// 0 remove expr statement at ("test/cases/small/functions.c": line 2) +// 0 remove empty compound at ("test/cases/small/functions.c": line 5) +// 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 1 remove empty compound at ("test/cases/small/functions.c": line 8) + +int f(int a) +{ + a; +} +int g() +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/functions/reduction/r00010011.c.hs b/rtree-c/test/expected/functions/reduction/r00010011.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r00010011.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r00010100.c b/rtree-c/test/expected/functions/reduction/r00010100.c new file mode 100644 index 0000000..ba46fdc --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r00010100.c @@ -0,0 +1,20 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 1 remove parameter at ("test/cases/small/functions.c": line 5) +// 0 remove expr statement at ("test/cases/small/functions.c": line 2) +// 1 remove empty compound at ("test/cases/small/functions.c": line 5) +// 0 remove return statement at ("test/cases/small/functions.c": line 9) +// 0 do without param at ("test/cases/small/functions.c": line 9) + +int f(int a) +{ + a; +} +int g() +{ +} +int main() +{ + return f(g()); +} diff --git a/rtree-c/test/expected/functions/reduction/r00010100.c.hs b/rtree-c/test/expected/functions/reduction/r00010100.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r00010100.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r00010101.c b/rtree-c/test/expected/functions/reduction/r00010101.c new file mode 100644 index 0000000..6c4744a --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r00010101.c @@ -0,0 +1,20 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 1 remove parameter at ("test/cases/small/functions.c": line 5) +// 0 remove expr statement at ("test/cases/small/functions.c": line 2) +// 1 remove empty compound at ("test/cases/small/functions.c": line 5) +// 0 remove return statement at ("test/cases/small/functions.c": line 9) +// 1 do without param at ("test/cases/small/functions.c": line 9) + +int f(int a) +{ + a; +} +int g() +{ +} +int main() +{ + return f(0); +} diff --git a/rtree-c/test/expected/functions/reduction/r00010101.c.hs b/rtree-c/test/expected/functions/reduction/r00010101.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r00010101.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r00010110.c b/rtree-c/test/expected/functions/reduction/r00010110.c new file mode 100644 index 0000000..ca1b3c1 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r00010110.c @@ -0,0 +1,19 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 1 remove parameter at ("test/cases/small/functions.c": line 5) +// 0 remove expr statement at ("test/cases/small/functions.c": line 2) +// 1 remove empty compound at ("test/cases/small/functions.c": line 5) +// 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 0 remove empty compound at ("test/cases/small/functions.c": line 8) + +int f(int a) +{ + a; +} +int g() +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/functions/reduction/r00010110.c.hs b/rtree-c/test/expected/functions/reduction/r00010110.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r00010110.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r00010111.c b/rtree-c/test/expected/functions/reduction/r00010111.c new file mode 100644 index 0000000..49ed8c8 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r00010111.c @@ -0,0 +1,19 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 1 remove parameter at ("test/cases/small/functions.c": line 5) +// 0 remove expr statement at ("test/cases/small/functions.c": line 2) +// 1 remove empty compound at ("test/cases/small/functions.c": line 5) +// 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 1 remove empty compound at ("test/cases/small/functions.c": line 8) + +int f(int a) +{ + a; +} +int g() +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/functions/reduction/r00010111.c.hs b/rtree-c/test/expected/functions/reduction/r00010111.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r00010111.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r0001100.c b/rtree-c/test/expected/functions/reduction/r000110000.c similarity index 79% rename from rtree-c/test/expected/functions/reduction/r0001100.c rename to rtree-c/test/expected/functions/reduction/r000110000.c index 77f5940..b365e37 100644 --- a/rtree-c/test/expected/functions/reduction/r0001100.c +++ b/rtree-c/test/expected/functions/reduction/r000110000.c @@ -3,6 +3,8 @@ // 0 remove function g at ("test/cases/small/functions.c": line 5) // 1 remove parameter at ("test/cases/small/functions.c": line 5) // 1 remove expr statement at ("test/cases/small/functions.c": line 2) +// 0 remove empty compound at ("test/cases/small/functions.c": line 1) +// 0 remove empty compound at ("test/cases/small/functions.c": line 5) // 0 remove return statement at ("test/cases/small/functions.c": line 9) // 0 do without param at ("test/cases/small/functions.c": line 9) diff --git a/rtree-c/test/expected/functions/reduction/r000110000.c.hs b/rtree-c/test/expected/functions/reduction/r000110000.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000110000.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r0001101.c b/rtree-c/test/expected/functions/reduction/r000110001.c similarity index 79% rename from rtree-c/test/expected/functions/reduction/r0001101.c rename to rtree-c/test/expected/functions/reduction/r000110001.c index 796824d..4bd0d70 100644 --- a/rtree-c/test/expected/functions/reduction/r0001101.c +++ b/rtree-c/test/expected/functions/reduction/r000110001.c @@ -3,6 +3,8 @@ // 0 remove function g at ("test/cases/small/functions.c": line 5) // 1 remove parameter at ("test/cases/small/functions.c": line 5) // 1 remove expr statement at ("test/cases/small/functions.c": line 2) +// 0 remove empty compound at ("test/cases/small/functions.c": line 1) +// 0 remove empty compound at ("test/cases/small/functions.c": line 5) // 0 remove return statement at ("test/cases/small/functions.c": line 9) // 1 do without param at ("test/cases/small/functions.c": line 9) diff --git a/rtree-c/test/expected/functions/reduction/r000110001.c.hs b/rtree-c/test/expected/functions/reduction/r000110001.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000110001.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r000111.c b/rtree-c/test/expected/functions/reduction/r000110010.c similarity index 68% rename from rtree-c/test/expected/functions/reduction/r000111.c rename to rtree-c/test/expected/functions/reduction/r000110010.c index b5e02bd..7b2540b 100644 --- a/rtree-c/test/expected/functions/reduction/r000111.c +++ b/rtree-c/test/expected/functions/reduction/r000110010.c @@ -3,7 +3,10 @@ // 0 remove function g at ("test/cases/small/functions.c": line 5) // 1 remove parameter at ("test/cases/small/functions.c": line 5) // 1 remove expr statement at ("test/cases/small/functions.c": line 2) +// 0 remove empty compound at ("test/cases/small/functions.c": line 1) +// 0 remove empty compound at ("test/cases/small/functions.c": line 5) // 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 0 remove empty compound at ("test/cases/small/functions.c": line 8) int f(int a) { diff --git a/rtree-c/test/expected/functions/reduction/r000110010.c.hs b/rtree-c/test/expected/functions/reduction/r000110010.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000110010.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r000110011.c b/rtree-c/test/expected/functions/reduction/r000110011.c new file mode 100644 index 0000000..8aca3ea --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000110011.c @@ -0,0 +1,19 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 1 remove parameter at ("test/cases/small/functions.c": line 5) +// 1 remove expr statement at ("test/cases/small/functions.c": line 2) +// 0 remove empty compound at ("test/cases/small/functions.c": line 1) +// 0 remove empty compound at ("test/cases/small/functions.c": line 5) +// 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 1 remove empty compound at ("test/cases/small/functions.c": line 8) + +int f(int a) +{ +} +int g() +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/functions/reduction/r000110011.c.hs b/rtree-c/test/expected/functions/reduction/r000110011.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000110011.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r000110100.c b/rtree-c/test/expected/functions/reduction/r000110100.c new file mode 100644 index 0000000..6835182 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000110100.c @@ -0,0 +1,20 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 1 remove parameter at ("test/cases/small/functions.c": line 5) +// 1 remove expr statement at ("test/cases/small/functions.c": line 2) +// 0 remove empty compound at ("test/cases/small/functions.c": line 1) +// 1 remove empty compound at ("test/cases/small/functions.c": line 5) +// 0 remove return statement at ("test/cases/small/functions.c": line 9) +// 0 do without param at ("test/cases/small/functions.c": line 9) + +int f(int a) +{ +} +int g() +{ +} +int main() +{ + return f(g()); +} diff --git a/rtree-c/test/expected/functions/reduction/r000110100.c.hs b/rtree-c/test/expected/functions/reduction/r000110100.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000110100.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r000110101.c b/rtree-c/test/expected/functions/reduction/r000110101.c new file mode 100644 index 0000000..384c0d2 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000110101.c @@ -0,0 +1,20 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 1 remove parameter at ("test/cases/small/functions.c": line 5) +// 1 remove expr statement at ("test/cases/small/functions.c": line 2) +// 0 remove empty compound at ("test/cases/small/functions.c": line 1) +// 1 remove empty compound at ("test/cases/small/functions.c": line 5) +// 0 remove return statement at ("test/cases/small/functions.c": line 9) +// 1 do without param at ("test/cases/small/functions.c": line 9) + +int f(int a) +{ +} +int g() +{ +} +int main() +{ + return f(0); +} diff --git a/rtree-c/test/expected/functions/reduction/r000110101.c.hs b/rtree-c/test/expected/functions/reduction/r000110101.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000110101.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r000110110.c b/rtree-c/test/expected/functions/reduction/r000110110.c new file mode 100644 index 0000000..b417ad1 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000110110.c @@ -0,0 +1,19 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 1 remove parameter at ("test/cases/small/functions.c": line 5) +// 1 remove expr statement at ("test/cases/small/functions.c": line 2) +// 0 remove empty compound at ("test/cases/small/functions.c": line 1) +// 1 remove empty compound at ("test/cases/small/functions.c": line 5) +// 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 0 remove empty compound at ("test/cases/small/functions.c": line 8) + +int f(int a) +{ +} +int g() +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/functions/reduction/r000110110.c.hs b/rtree-c/test/expected/functions/reduction/r000110110.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000110110.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r000110111.c b/rtree-c/test/expected/functions/reduction/r000110111.c new file mode 100644 index 0000000..e8152a5 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000110111.c @@ -0,0 +1,19 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 1 remove parameter at ("test/cases/small/functions.c": line 5) +// 1 remove expr statement at ("test/cases/small/functions.c": line 2) +// 0 remove empty compound at ("test/cases/small/functions.c": line 1) +// 1 remove empty compound at ("test/cases/small/functions.c": line 5) +// 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 1 remove empty compound at ("test/cases/small/functions.c": line 8) + +int f(int a) +{ +} +int g() +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/functions/reduction/r000110111.c.hs b/rtree-c/test/expected/functions/reduction/r000110111.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000110111.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r000111000.c b/rtree-c/test/expected/functions/reduction/r000111000.c new file mode 100644 index 0000000..8bd0be2 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000111000.c @@ -0,0 +1,20 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 1 remove parameter at ("test/cases/small/functions.c": line 5) +// 1 remove expr statement at ("test/cases/small/functions.c": line 2) +// 1 remove empty compound at ("test/cases/small/functions.c": line 1) +// 0 remove empty compound at ("test/cases/small/functions.c": line 5) +// 0 remove return statement at ("test/cases/small/functions.c": line 9) +// 0 do without param at ("test/cases/small/functions.c": line 9) + +int f(int a) +{ +} +int g() +{ +} +int main() +{ + return f(g()); +} diff --git a/rtree-c/test/expected/functions/reduction/r000111000.c.hs b/rtree-c/test/expected/functions/reduction/r000111000.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000111000.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r000111001.c b/rtree-c/test/expected/functions/reduction/r000111001.c new file mode 100644 index 0000000..034bad1 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000111001.c @@ -0,0 +1,20 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 1 remove parameter at ("test/cases/small/functions.c": line 5) +// 1 remove expr statement at ("test/cases/small/functions.c": line 2) +// 1 remove empty compound at ("test/cases/small/functions.c": line 1) +// 0 remove empty compound at ("test/cases/small/functions.c": line 5) +// 0 remove return statement at ("test/cases/small/functions.c": line 9) +// 1 do without param at ("test/cases/small/functions.c": line 9) + +int f(int a) +{ +} +int g() +{ +} +int main() +{ + return f(0); +} diff --git a/rtree-c/test/expected/functions/reduction/r000111001.c.hs b/rtree-c/test/expected/functions/reduction/r000111001.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000111001.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r000111010.c b/rtree-c/test/expected/functions/reduction/r000111010.c new file mode 100644 index 0000000..8aff078 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000111010.c @@ -0,0 +1,19 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 1 remove parameter at ("test/cases/small/functions.c": line 5) +// 1 remove expr statement at ("test/cases/small/functions.c": line 2) +// 1 remove empty compound at ("test/cases/small/functions.c": line 1) +// 0 remove empty compound at ("test/cases/small/functions.c": line 5) +// 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 0 remove empty compound at ("test/cases/small/functions.c": line 8) + +int f(int a) +{ +} +int g() +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/functions/reduction/r000111010.c.hs b/rtree-c/test/expected/functions/reduction/r000111010.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000111010.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r000111011.c b/rtree-c/test/expected/functions/reduction/r000111011.c new file mode 100644 index 0000000..dc0f73f --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000111011.c @@ -0,0 +1,19 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 1 remove parameter at ("test/cases/small/functions.c": line 5) +// 1 remove expr statement at ("test/cases/small/functions.c": line 2) +// 1 remove empty compound at ("test/cases/small/functions.c": line 1) +// 0 remove empty compound at ("test/cases/small/functions.c": line 5) +// 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 1 remove empty compound at ("test/cases/small/functions.c": line 8) + +int f(int a) +{ +} +int g() +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/functions/reduction/r000111011.c.hs b/rtree-c/test/expected/functions/reduction/r000111011.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000111011.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r000111100.c b/rtree-c/test/expected/functions/reduction/r000111100.c new file mode 100644 index 0000000..786a700 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000111100.c @@ -0,0 +1,20 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 1 remove parameter at ("test/cases/small/functions.c": line 5) +// 1 remove expr statement at ("test/cases/small/functions.c": line 2) +// 1 remove empty compound at ("test/cases/small/functions.c": line 1) +// 1 remove empty compound at ("test/cases/small/functions.c": line 5) +// 0 remove return statement at ("test/cases/small/functions.c": line 9) +// 0 do without param at ("test/cases/small/functions.c": line 9) + +int f(int a) +{ +} +int g() +{ +} +int main() +{ + return f(g()); +} diff --git a/rtree-c/test/expected/functions/reduction/r000111100.c.hs b/rtree-c/test/expected/functions/reduction/r000111100.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000111100.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r000111101.c b/rtree-c/test/expected/functions/reduction/r000111101.c new file mode 100644 index 0000000..3d92a46 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000111101.c @@ -0,0 +1,20 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 1 remove parameter at ("test/cases/small/functions.c": line 5) +// 1 remove expr statement at ("test/cases/small/functions.c": line 2) +// 1 remove empty compound at ("test/cases/small/functions.c": line 1) +// 1 remove empty compound at ("test/cases/small/functions.c": line 5) +// 0 remove return statement at ("test/cases/small/functions.c": line 9) +// 1 do without param at ("test/cases/small/functions.c": line 9) + +int f(int a) +{ +} +int g() +{ +} +int main() +{ + return f(0); +} diff --git a/rtree-c/test/expected/functions/reduction/r000111101.c.hs b/rtree-c/test/expected/functions/reduction/r000111101.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000111101.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r000111110.c b/rtree-c/test/expected/functions/reduction/r000111110.c new file mode 100644 index 0000000..706ec04 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000111110.c @@ -0,0 +1,19 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 1 remove parameter at ("test/cases/small/functions.c": line 5) +// 1 remove expr statement at ("test/cases/small/functions.c": line 2) +// 1 remove empty compound at ("test/cases/small/functions.c": line 1) +// 1 remove empty compound at ("test/cases/small/functions.c": line 5) +// 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 0 remove empty compound at ("test/cases/small/functions.c": line 8) + +int f(int a) +{ +} +int g() +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/functions/reduction/r000111110.c.hs b/rtree-c/test/expected/functions/reduction/r000111110.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000111110.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r000111111.c b/rtree-c/test/expected/functions/reduction/r000111111.c new file mode 100644 index 0000000..09dff47 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000111111.c @@ -0,0 +1,19 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 1 remove parameter at ("test/cases/small/functions.c": line 5) +// 1 remove expr statement at ("test/cases/small/functions.c": line 2) +// 1 remove empty compound at ("test/cases/small/functions.c": line 1) +// 1 remove empty compound at ("test/cases/small/functions.c": line 5) +// 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 1 remove empty compound at ("test/cases/small/functions.c": line 8) + +int f(int a) +{ +} +int g() +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/functions/reduction/r000111111.c.hs b/rtree-c/test/expected/functions/reduction/r000111111.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r000111111.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r0010000.c.hs b/rtree-c/test/expected/functions/reduction/r0010000.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r0010000.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r0010001.c.hs b/rtree-c/test/expected/functions/reduction/r0010001.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r0010001.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r001001.c.hs b/rtree-c/test/expected/functions/reduction/r001001.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r001001.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r00101.c b/rtree-c/test/expected/functions/reduction/r001010.c similarity index 84% rename from rtree-c/test/expected/functions/reduction/r00101.c rename to rtree-c/test/expected/functions/reduction/r001010.c index f516cce..a8be415 100644 --- a/rtree-c/test/expected/functions/reduction/r00101.c +++ b/rtree-c/test/expected/functions/reduction/r001010.c @@ -3,6 +3,7 @@ // 1 remove function g at ("test/cases/small/functions.c": line 5) // 0 remove expr statement at ("test/cases/small/functions.c": line 2) // 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 0 remove empty compound at ("test/cases/small/functions.c": line 8) int f(int a) { diff --git a/rtree-c/test/expected/functions/reduction/r001010.c.hs b/rtree-c/test/expected/functions/reduction/r001010.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r001010.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r001011.c b/rtree-c/test/expected/functions/reduction/r001011.c new file mode 100644 index 0000000..482b030 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r001011.c @@ -0,0 +1,14 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove parameter at ("test/cases/small/functions.c": line 1) +// 1 remove function g at ("test/cases/small/functions.c": line 5) +// 0 remove expr statement at ("test/cases/small/functions.c": line 2) +// 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 1 remove empty compound at ("test/cases/small/functions.c": line 8) + +int f(int a) +{ + a; +} +int main() +{ +} diff --git a/rtree-c/test/expected/functions/reduction/r001011.c.hs b/rtree-c/test/expected/functions/reduction/r001011.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r001011.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r0011000.c b/rtree-c/test/expected/functions/reduction/r00110000.c similarity index 88% rename from rtree-c/test/expected/functions/reduction/r0011000.c rename to rtree-c/test/expected/functions/reduction/r00110000.c index 145db02..f7a9ac3 100644 --- a/rtree-c/test/expected/functions/reduction/r0011000.c +++ b/rtree-c/test/expected/functions/reduction/r00110000.c @@ -2,6 +2,7 @@ // 0 remove parameter at ("test/cases/small/functions.c": line 1) // 1 remove function g at ("test/cases/small/functions.c": line 5) // 1 remove expr statement at ("test/cases/small/functions.c": line 2) +// 0 remove empty compound at ("test/cases/small/functions.c": line 1) // 0 remove return statement at ("test/cases/small/functions.c": line 9) // 0 do without param at ("test/cases/small/functions.c": line 9) // 0 do without param at ("test/cases/small/functions.c": line 9) diff --git a/rtree-c/test/expected/functions/reduction/r00110000.c.hs b/rtree-c/test/expected/functions/reduction/r00110000.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r00110000.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r00110001.c b/rtree-c/test/expected/functions/reduction/r00110001.c new file mode 100644 index 0000000..b3958ef --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r00110001.c @@ -0,0 +1,16 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove parameter at ("test/cases/small/functions.c": line 1) +// 1 remove function g at ("test/cases/small/functions.c": line 5) +// 1 remove expr statement at ("test/cases/small/functions.c": line 2) +// 0 remove empty compound at ("test/cases/small/functions.c": line 1) +// 0 remove return statement at ("test/cases/small/functions.c": line 9) +// 0 do without param at ("test/cases/small/functions.c": line 9) +// 1 do without param at ("test/cases/small/functions.c": line 9) + +int f(int a) +{ +} +int main() +{ + return f(0); +} diff --git a/rtree-c/test/expected/functions/reduction/r00110001.c.hs b/rtree-c/test/expected/functions/reduction/r00110001.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r00110001.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r0011001.c b/rtree-c/test/expected/functions/reduction/r0011001.c index f5dec94..9e67135 100644 --- a/rtree-c/test/expected/functions/reduction/r0011001.c +++ b/rtree-c/test/expected/functions/reduction/r0011001.c @@ -2,8 +2,8 @@ // 0 remove parameter at ("test/cases/small/functions.c": line 1) // 1 remove function g at ("test/cases/small/functions.c": line 5) // 1 remove expr statement at ("test/cases/small/functions.c": line 2) +// 0 remove empty compound at ("test/cases/small/functions.c": line 1) // 0 remove return statement at ("test/cases/small/functions.c": line 9) -// 0 do without param at ("test/cases/small/functions.c": line 9) // 1 do without param at ("test/cases/small/functions.c": line 9) int f(int a) diff --git a/rtree-c/test/expected/functions/reduction/r0011001.c.hs b/rtree-c/test/expected/functions/reduction/r0011001.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r0011001.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r00111.c b/rtree-c/test/expected/functions/reduction/r0011010.c similarity index 72% rename from rtree-c/test/expected/functions/reduction/r00111.c rename to rtree-c/test/expected/functions/reduction/r0011010.c index 2b415fe..0112bf7 100644 --- a/rtree-c/test/expected/functions/reduction/r00111.c +++ b/rtree-c/test/expected/functions/reduction/r0011010.c @@ -2,7 +2,9 @@ // 0 remove parameter at ("test/cases/small/functions.c": line 1) // 1 remove function g at ("test/cases/small/functions.c": line 5) // 1 remove expr statement at ("test/cases/small/functions.c": line 2) +// 0 remove empty compound at ("test/cases/small/functions.c": line 1) // 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 0 remove empty compound at ("test/cases/small/functions.c": line 8) int f(int a) { diff --git a/rtree-c/test/expected/functions/reduction/r0011010.c.hs b/rtree-c/test/expected/functions/reduction/r0011010.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r0011010.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r0011011.c b/rtree-c/test/expected/functions/reduction/r0011011.c new file mode 100644 index 0000000..8118804 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r0011011.c @@ -0,0 +1,14 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove parameter at ("test/cases/small/functions.c": line 1) +// 1 remove function g at ("test/cases/small/functions.c": line 5) +// 1 remove expr statement at ("test/cases/small/functions.c": line 2) +// 0 remove empty compound at ("test/cases/small/functions.c": line 1) +// 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 1 remove empty compound at ("test/cases/small/functions.c": line 8) + +int f(int a) +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/functions/reduction/r0011011.c.hs b/rtree-c/test/expected/functions/reduction/r0011011.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r0011011.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r00111000.c b/rtree-c/test/expected/functions/reduction/r00111000.c new file mode 100644 index 0000000..12fb566 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r00111000.c @@ -0,0 +1,16 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove parameter at ("test/cases/small/functions.c": line 1) +// 1 remove function g at ("test/cases/small/functions.c": line 5) +// 1 remove expr statement at ("test/cases/small/functions.c": line 2) +// 1 remove empty compound at ("test/cases/small/functions.c": line 1) +// 0 remove return statement at ("test/cases/small/functions.c": line 9) +// 0 do without param at ("test/cases/small/functions.c": line 9) +// 0 do without param at ("test/cases/small/functions.c": line 9) + +int f(int a) +{ +} +int main() +{ + return f(42); +} diff --git a/rtree-c/test/expected/functions/reduction/r00111000.c.hs b/rtree-c/test/expected/functions/reduction/r00111000.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r00111000.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r00111001.c b/rtree-c/test/expected/functions/reduction/r00111001.c new file mode 100644 index 0000000..3ed3627 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r00111001.c @@ -0,0 +1,16 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove parameter at ("test/cases/small/functions.c": line 1) +// 1 remove function g at ("test/cases/small/functions.c": line 5) +// 1 remove expr statement at ("test/cases/small/functions.c": line 2) +// 1 remove empty compound at ("test/cases/small/functions.c": line 1) +// 0 remove return statement at ("test/cases/small/functions.c": line 9) +// 0 do without param at ("test/cases/small/functions.c": line 9) +// 1 do without param at ("test/cases/small/functions.c": line 9) + +int f(int a) +{ +} +int main() +{ + return f(0); +} diff --git a/rtree-c/test/expected/functions/reduction/r00111001.c.hs b/rtree-c/test/expected/functions/reduction/r00111001.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r00111001.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r001101.c b/rtree-c/test/expected/functions/reduction/r0011101.c similarity index 86% rename from rtree-c/test/expected/functions/reduction/r001101.c rename to rtree-c/test/expected/functions/reduction/r0011101.c index 77375d6..34c0b22 100644 --- a/rtree-c/test/expected/functions/reduction/r001101.c +++ b/rtree-c/test/expected/functions/reduction/r0011101.c @@ -2,6 +2,7 @@ // 0 remove parameter at ("test/cases/small/functions.c": line 1) // 1 remove function g at ("test/cases/small/functions.c": line 5) // 1 remove expr statement at ("test/cases/small/functions.c": line 2) +// 1 remove empty compound at ("test/cases/small/functions.c": line 1) // 0 remove return statement at ("test/cases/small/functions.c": line 9) // 1 do without param at ("test/cases/small/functions.c": line 9) diff --git a/rtree-c/test/expected/functions/reduction/r0011101.c.hs b/rtree-c/test/expected/functions/reduction/r0011101.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r0011101.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r0011110.c b/rtree-c/test/expected/functions/reduction/r0011110.c new file mode 100644 index 0000000..6a6a735 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r0011110.c @@ -0,0 +1,14 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove parameter at ("test/cases/small/functions.c": line 1) +// 1 remove function g at ("test/cases/small/functions.c": line 5) +// 1 remove expr statement at ("test/cases/small/functions.c": line 2) +// 1 remove empty compound at ("test/cases/small/functions.c": line 1) +// 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 0 remove empty compound at ("test/cases/small/functions.c": line 8) + +int f(int a) +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/functions/reduction/r0011110.c.hs b/rtree-c/test/expected/functions/reduction/r0011110.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r0011110.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r0011111.c b/rtree-c/test/expected/functions/reduction/r0011111.c new file mode 100644 index 0000000..913cb4a --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r0011111.c @@ -0,0 +1,14 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove parameter at ("test/cases/small/functions.c": line 1) +// 1 remove function g at ("test/cases/small/functions.c": line 5) +// 1 remove expr statement at ("test/cases/small/functions.c": line 2) +// 1 remove empty compound at ("test/cases/small/functions.c": line 1) +// 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 1 remove empty compound at ("test/cases/small/functions.c": line 8) + +int f(int a) +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/functions/reduction/r0011111.c.hs b/rtree-c/test/expected/functions/reduction/r0011111.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r0011111.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r01000.c b/rtree-c/test/expected/functions/reduction/r0100000.c similarity index 73% rename from rtree-c/test/expected/functions/reduction/r01000.c rename to rtree-c/test/expected/functions/reduction/r0100000.c index dc88096..b226fa8 100644 --- a/rtree-c/test/expected/functions/reduction/r01000.c +++ b/rtree-c/test/expected/functions/reduction/r0100000.c @@ -2,6 +2,8 @@ // 1 remove parameter at ("test/cases/small/functions.c": line 1) // 0 remove function g at ("test/cases/small/functions.c": line 5) // 0 remove parameter at ("test/cases/small/functions.c": line 5) +// 0 remove empty compound at ("test/cases/small/functions.c": line 1) +// 0 remove empty compound at ("test/cases/small/functions.c": line 5) // 0 remove return statement at ("test/cases/small/functions.c": line 9) int f() diff --git a/rtree-c/test/expected/functions/reduction/r0100000.c.hs b/rtree-c/test/expected/functions/reduction/r0100000.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r0100000.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r01001.c b/rtree-c/test/expected/functions/reduction/r01000010.c similarity index 64% rename from rtree-c/test/expected/functions/reduction/r01001.c rename to rtree-c/test/expected/functions/reduction/r01000010.c index 84b75cc..d446336 100644 --- a/rtree-c/test/expected/functions/reduction/r01001.c +++ b/rtree-c/test/expected/functions/reduction/r01000010.c @@ -2,7 +2,10 @@ // 1 remove parameter at ("test/cases/small/functions.c": line 1) // 0 remove function g at ("test/cases/small/functions.c": line 5) // 0 remove parameter at ("test/cases/small/functions.c": line 5) +// 0 remove empty compound at ("test/cases/small/functions.c": line 1) +// 0 remove empty compound at ("test/cases/small/functions.c": line 5) // 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 0 remove empty compound at ("test/cases/small/functions.c": line 8) int f() { diff --git a/rtree-c/test/expected/functions/reduction/r01000010.c.hs b/rtree-c/test/expected/functions/reduction/r01000010.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r01000010.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r01000011.c b/rtree-c/test/expected/functions/reduction/r01000011.c new file mode 100644 index 0000000..ee3d907 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r01000011.c @@ -0,0 +1,18 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 1 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 0 remove parameter at ("test/cases/small/functions.c": line 5) +// 0 remove empty compound at ("test/cases/small/functions.c": line 1) +// 0 remove empty compound at ("test/cases/small/functions.c": line 5) +// 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 1 remove empty compound at ("test/cases/small/functions.c": line 8) + +int f() +{ +} +int g(int a) +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/functions/reduction/r01000011.c.hs b/rtree-c/test/expected/functions/reduction/r01000011.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r01000011.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r0100010.c b/rtree-c/test/expected/functions/reduction/r0100010.c new file mode 100644 index 0000000..443b15d --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r0100010.c @@ -0,0 +1,18 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 1 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 0 remove parameter at ("test/cases/small/functions.c": line 5) +// 0 remove empty compound at ("test/cases/small/functions.c": line 1) +// 1 remove empty compound at ("test/cases/small/functions.c": line 5) +// 0 remove return statement at ("test/cases/small/functions.c": line 9) + +int f() +{ +} +int g(int a) +{ +} +int main() +{ + return f(); +} diff --git a/rtree-c/test/expected/functions/reduction/r0100010.c.hs b/rtree-c/test/expected/functions/reduction/r0100010.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r0100010.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r01000110.c b/rtree-c/test/expected/functions/reduction/r01000110.c new file mode 100644 index 0000000..e876058 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r01000110.c @@ -0,0 +1,18 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 1 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 0 remove parameter at ("test/cases/small/functions.c": line 5) +// 0 remove empty compound at ("test/cases/small/functions.c": line 1) +// 1 remove empty compound at ("test/cases/small/functions.c": line 5) +// 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 0 remove empty compound at ("test/cases/small/functions.c": line 8) + +int f() +{ +} +int g(int a) +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/functions/reduction/r01000110.c.hs b/rtree-c/test/expected/functions/reduction/r01000110.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r01000110.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r01000111.c b/rtree-c/test/expected/functions/reduction/r01000111.c new file mode 100644 index 0000000..14798b8 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r01000111.c @@ -0,0 +1,18 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 1 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 0 remove parameter at ("test/cases/small/functions.c": line 5) +// 0 remove empty compound at ("test/cases/small/functions.c": line 1) +// 1 remove empty compound at ("test/cases/small/functions.c": line 5) +// 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 1 remove empty compound at ("test/cases/small/functions.c": line 8) + +int f() +{ +} +int g(int a) +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/functions/reduction/r01000111.c.hs b/rtree-c/test/expected/functions/reduction/r01000111.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r01000111.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r0100100.c b/rtree-c/test/expected/functions/reduction/r0100100.c new file mode 100644 index 0000000..e8cb96d --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r0100100.c @@ -0,0 +1,18 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 1 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 0 remove parameter at ("test/cases/small/functions.c": line 5) +// 1 remove empty compound at ("test/cases/small/functions.c": line 1) +// 0 remove empty compound at ("test/cases/small/functions.c": line 5) +// 0 remove return statement at ("test/cases/small/functions.c": line 9) + +int f() +{ +} +int g(int a) +{ +} +int main() +{ + return f(); +} diff --git a/rtree-c/test/expected/functions/reduction/r0100100.c.hs b/rtree-c/test/expected/functions/reduction/r0100100.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r0100100.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r01001010.c b/rtree-c/test/expected/functions/reduction/r01001010.c new file mode 100644 index 0000000..7f1bee8 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r01001010.c @@ -0,0 +1,18 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 1 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 0 remove parameter at ("test/cases/small/functions.c": line 5) +// 1 remove empty compound at ("test/cases/small/functions.c": line 1) +// 0 remove empty compound at ("test/cases/small/functions.c": line 5) +// 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 0 remove empty compound at ("test/cases/small/functions.c": line 8) + +int f() +{ +} +int g(int a) +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/functions/reduction/r01001010.c.hs b/rtree-c/test/expected/functions/reduction/r01001010.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r01001010.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r01001011.c b/rtree-c/test/expected/functions/reduction/r01001011.c new file mode 100644 index 0000000..8c561f8 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r01001011.c @@ -0,0 +1,18 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 1 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 0 remove parameter at ("test/cases/small/functions.c": line 5) +// 1 remove empty compound at ("test/cases/small/functions.c": line 1) +// 0 remove empty compound at ("test/cases/small/functions.c": line 5) +// 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 1 remove empty compound at ("test/cases/small/functions.c": line 8) + +int f() +{ +} +int g(int a) +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/functions/reduction/r01001011.c.hs b/rtree-c/test/expected/functions/reduction/r01001011.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r01001011.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r0100110.c b/rtree-c/test/expected/functions/reduction/r0100110.c new file mode 100644 index 0000000..265e090 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r0100110.c @@ -0,0 +1,18 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 1 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 0 remove parameter at ("test/cases/small/functions.c": line 5) +// 1 remove empty compound at ("test/cases/small/functions.c": line 1) +// 1 remove empty compound at ("test/cases/small/functions.c": line 5) +// 0 remove return statement at ("test/cases/small/functions.c": line 9) + +int f() +{ +} +int g(int a) +{ +} +int main() +{ + return f(); +} diff --git a/rtree-c/test/expected/functions/reduction/r0100110.c.hs b/rtree-c/test/expected/functions/reduction/r0100110.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r0100110.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r01001110.c b/rtree-c/test/expected/functions/reduction/r01001110.c new file mode 100644 index 0000000..4fb5bc1 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r01001110.c @@ -0,0 +1,18 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 1 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 0 remove parameter at ("test/cases/small/functions.c": line 5) +// 1 remove empty compound at ("test/cases/small/functions.c": line 1) +// 1 remove empty compound at ("test/cases/small/functions.c": line 5) +// 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 0 remove empty compound at ("test/cases/small/functions.c": line 8) + +int f() +{ +} +int g(int a) +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/functions/reduction/r01001110.c.hs b/rtree-c/test/expected/functions/reduction/r01001110.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r01001110.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r01001111.c b/rtree-c/test/expected/functions/reduction/r01001111.c new file mode 100644 index 0000000..d0bbeee --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r01001111.c @@ -0,0 +1,18 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 1 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 0 remove parameter at ("test/cases/small/functions.c": line 5) +// 1 remove empty compound at ("test/cases/small/functions.c": line 1) +// 1 remove empty compound at ("test/cases/small/functions.c": line 5) +// 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 1 remove empty compound at ("test/cases/small/functions.c": line 8) + +int f() +{ +} +int g(int a) +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/functions/reduction/r01001111.c.hs b/rtree-c/test/expected/functions/reduction/r01001111.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r01001111.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r01010.c b/rtree-c/test/expected/functions/reduction/r0101000.c similarity index 73% rename from rtree-c/test/expected/functions/reduction/r01010.c rename to rtree-c/test/expected/functions/reduction/r0101000.c index a65ecc2..e0b3f2a 100644 --- a/rtree-c/test/expected/functions/reduction/r01010.c +++ b/rtree-c/test/expected/functions/reduction/r0101000.c @@ -2,6 +2,8 @@ // 1 remove parameter at ("test/cases/small/functions.c": line 1) // 0 remove function g at ("test/cases/small/functions.c": line 5) // 1 remove parameter at ("test/cases/small/functions.c": line 5) +// 0 remove empty compound at ("test/cases/small/functions.c": line 1) +// 0 remove empty compound at ("test/cases/small/functions.c": line 5) // 0 remove return statement at ("test/cases/small/functions.c": line 9) int f() diff --git a/rtree-c/test/expected/functions/reduction/r0101000.c.hs b/rtree-c/test/expected/functions/reduction/r0101000.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r0101000.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r01011.c b/rtree-c/test/expected/functions/reduction/r01010010.c similarity index 64% rename from rtree-c/test/expected/functions/reduction/r01011.c rename to rtree-c/test/expected/functions/reduction/r01010010.c index ca4938d..a3a0e5c 100644 --- a/rtree-c/test/expected/functions/reduction/r01011.c +++ b/rtree-c/test/expected/functions/reduction/r01010010.c @@ -2,7 +2,10 @@ // 1 remove parameter at ("test/cases/small/functions.c": line 1) // 0 remove function g at ("test/cases/small/functions.c": line 5) // 1 remove parameter at ("test/cases/small/functions.c": line 5) +// 0 remove empty compound at ("test/cases/small/functions.c": line 1) +// 0 remove empty compound at ("test/cases/small/functions.c": line 5) // 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 0 remove empty compound at ("test/cases/small/functions.c": line 8) int f() { diff --git a/rtree-c/test/expected/functions/reduction/r01010010.c.hs b/rtree-c/test/expected/functions/reduction/r01010010.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r01010010.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r01010011.c b/rtree-c/test/expected/functions/reduction/r01010011.c new file mode 100644 index 0000000..b9603a7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r01010011.c @@ -0,0 +1,18 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 1 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 1 remove parameter at ("test/cases/small/functions.c": line 5) +// 0 remove empty compound at ("test/cases/small/functions.c": line 1) +// 0 remove empty compound at ("test/cases/small/functions.c": line 5) +// 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 1 remove empty compound at ("test/cases/small/functions.c": line 8) + +int f() +{ +} +int g() +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/functions/reduction/r01010011.c.hs b/rtree-c/test/expected/functions/reduction/r01010011.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r01010011.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r0101010.c b/rtree-c/test/expected/functions/reduction/r0101010.c new file mode 100644 index 0000000..24f5faf --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r0101010.c @@ -0,0 +1,18 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 1 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 1 remove parameter at ("test/cases/small/functions.c": line 5) +// 0 remove empty compound at ("test/cases/small/functions.c": line 1) +// 1 remove empty compound at ("test/cases/small/functions.c": line 5) +// 0 remove return statement at ("test/cases/small/functions.c": line 9) + +int f() +{ +} +int g() +{ +} +int main() +{ + return f(); +} diff --git a/rtree-c/test/expected/functions/reduction/r0101010.c.hs b/rtree-c/test/expected/functions/reduction/r0101010.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r0101010.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r01010110.c b/rtree-c/test/expected/functions/reduction/r01010110.c new file mode 100644 index 0000000..a406fcf --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r01010110.c @@ -0,0 +1,18 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 1 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 1 remove parameter at ("test/cases/small/functions.c": line 5) +// 0 remove empty compound at ("test/cases/small/functions.c": line 1) +// 1 remove empty compound at ("test/cases/small/functions.c": line 5) +// 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 0 remove empty compound at ("test/cases/small/functions.c": line 8) + +int f() +{ +} +int g() +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/functions/reduction/r01010110.c.hs b/rtree-c/test/expected/functions/reduction/r01010110.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r01010110.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r01010111.c b/rtree-c/test/expected/functions/reduction/r01010111.c new file mode 100644 index 0000000..3024a6f --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r01010111.c @@ -0,0 +1,18 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 1 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 1 remove parameter at ("test/cases/small/functions.c": line 5) +// 0 remove empty compound at ("test/cases/small/functions.c": line 1) +// 1 remove empty compound at ("test/cases/small/functions.c": line 5) +// 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 1 remove empty compound at ("test/cases/small/functions.c": line 8) + +int f() +{ +} +int g() +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/functions/reduction/r01010111.c.hs b/rtree-c/test/expected/functions/reduction/r01010111.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r01010111.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r0101100.c b/rtree-c/test/expected/functions/reduction/r0101100.c new file mode 100644 index 0000000..f6494af --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r0101100.c @@ -0,0 +1,18 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 1 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 1 remove parameter at ("test/cases/small/functions.c": line 5) +// 1 remove empty compound at ("test/cases/small/functions.c": line 1) +// 0 remove empty compound at ("test/cases/small/functions.c": line 5) +// 0 remove return statement at ("test/cases/small/functions.c": line 9) + +int f() +{ +} +int g() +{ +} +int main() +{ + return f(); +} diff --git a/rtree-c/test/expected/functions/reduction/r0101100.c.hs b/rtree-c/test/expected/functions/reduction/r0101100.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r0101100.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r01011010.c b/rtree-c/test/expected/functions/reduction/r01011010.c new file mode 100644 index 0000000..900fe3a --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r01011010.c @@ -0,0 +1,18 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 1 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 1 remove parameter at ("test/cases/small/functions.c": line 5) +// 1 remove empty compound at ("test/cases/small/functions.c": line 1) +// 0 remove empty compound at ("test/cases/small/functions.c": line 5) +// 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 0 remove empty compound at ("test/cases/small/functions.c": line 8) + +int f() +{ +} +int g() +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/functions/reduction/r01011010.c.hs b/rtree-c/test/expected/functions/reduction/r01011010.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r01011010.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r01011011.c b/rtree-c/test/expected/functions/reduction/r01011011.c new file mode 100644 index 0000000..0db36fa --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r01011011.c @@ -0,0 +1,18 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 1 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 1 remove parameter at ("test/cases/small/functions.c": line 5) +// 1 remove empty compound at ("test/cases/small/functions.c": line 1) +// 0 remove empty compound at ("test/cases/small/functions.c": line 5) +// 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 1 remove empty compound at ("test/cases/small/functions.c": line 8) + +int f() +{ +} +int g() +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/functions/reduction/r01011011.c.hs b/rtree-c/test/expected/functions/reduction/r01011011.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r01011011.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r0101110.c b/rtree-c/test/expected/functions/reduction/r0101110.c new file mode 100644 index 0000000..74e7f5f --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r0101110.c @@ -0,0 +1,18 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 1 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 1 remove parameter at ("test/cases/small/functions.c": line 5) +// 1 remove empty compound at ("test/cases/small/functions.c": line 1) +// 1 remove empty compound at ("test/cases/small/functions.c": line 5) +// 0 remove return statement at ("test/cases/small/functions.c": line 9) + +int f() +{ +} +int g() +{ +} +int main() +{ + return f(); +} diff --git a/rtree-c/test/expected/functions/reduction/r0101110.c.hs b/rtree-c/test/expected/functions/reduction/r0101110.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r0101110.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r01011110.c b/rtree-c/test/expected/functions/reduction/r01011110.c new file mode 100644 index 0000000..c0112d8 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r01011110.c @@ -0,0 +1,18 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 1 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 1 remove parameter at ("test/cases/small/functions.c": line 5) +// 1 remove empty compound at ("test/cases/small/functions.c": line 1) +// 1 remove empty compound at ("test/cases/small/functions.c": line 5) +// 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 0 remove empty compound at ("test/cases/small/functions.c": line 8) + +int f() +{ +} +int g() +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/functions/reduction/r01011110.c.hs b/rtree-c/test/expected/functions/reduction/r01011110.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r01011110.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r01011111.c b/rtree-c/test/expected/functions/reduction/r01011111.c new file mode 100644 index 0000000..4ed5b05 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r01011111.c @@ -0,0 +1,18 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 1 remove parameter at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 1 remove parameter at ("test/cases/small/functions.c": line 5) +// 1 remove empty compound at ("test/cases/small/functions.c": line 1) +// 1 remove empty compound at ("test/cases/small/functions.c": line 5) +// 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 1 remove empty compound at ("test/cases/small/functions.c": line 8) + +int f() +{ +} +int g() +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/functions/reduction/r01011111.c.hs b/rtree-c/test/expected/functions/reduction/r01011111.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r01011111.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r0110.c b/rtree-c/test/expected/functions/reduction/r01100.c similarity index 81% rename from rtree-c/test/expected/functions/reduction/r0110.c rename to rtree-c/test/expected/functions/reduction/r01100.c index 17ab352..12115d8 100644 --- a/rtree-c/test/expected/functions/reduction/r0110.c +++ b/rtree-c/test/expected/functions/reduction/r01100.c @@ -1,6 +1,7 @@ // 0 remove function f at ("test/cases/small/functions.c": line 1) // 1 remove parameter at ("test/cases/small/functions.c": line 1) // 1 remove function g at ("test/cases/small/functions.c": line 5) +// 0 remove empty compound at ("test/cases/small/functions.c": line 1) // 0 remove return statement at ("test/cases/small/functions.c": line 9) int f() diff --git a/rtree-c/test/expected/functions/reduction/r01100.c.hs b/rtree-c/test/expected/functions/reduction/r01100.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r01100.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r0111.c b/rtree-c/test/expected/functions/reduction/r011010.c similarity index 67% rename from rtree-c/test/expected/functions/reduction/r0111.c rename to rtree-c/test/expected/functions/reduction/r011010.c index a55517c..9b4eaf7 100644 --- a/rtree-c/test/expected/functions/reduction/r0111.c +++ b/rtree-c/test/expected/functions/reduction/r011010.c @@ -1,7 +1,9 @@ // 0 remove function f at ("test/cases/small/functions.c": line 1) // 1 remove parameter at ("test/cases/small/functions.c": line 1) // 1 remove function g at ("test/cases/small/functions.c": line 5) +// 0 remove empty compound at ("test/cases/small/functions.c": line 1) // 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 0 remove empty compound at ("test/cases/small/functions.c": line 8) int f() { diff --git a/rtree-c/test/expected/functions/reduction/r011010.c.hs b/rtree-c/test/expected/functions/reduction/r011010.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r011010.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r011011.c b/rtree-c/test/expected/functions/reduction/r011011.c new file mode 100644 index 0000000..3c0138d --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r011011.c @@ -0,0 +1,13 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 1 remove parameter at ("test/cases/small/functions.c": line 1) +// 1 remove function g at ("test/cases/small/functions.c": line 5) +// 0 remove empty compound at ("test/cases/small/functions.c": line 1) +// 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 1 remove empty compound at ("test/cases/small/functions.c": line 8) + +int f() +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/functions/reduction/r011011.c.hs b/rtree-c/test/expected/functions/reduction/r011011.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r011011.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r01110.c b/rtree-c/test/expected/functions/reduction/r01110.c new file mode 100644 index 0000000..eb43471 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r01110.c @@ -0,0 +1,13 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 1 remove parameter at ("test/cases/small/functions.c": line 1) +// 1 remove function g at ("test/cases/small/functions.c": line 5) +// 1 remove empty compound at ("test/cases/small/functions.c": line 1) +// 0 remove return statement at ("test/cases/small/functions.c": line 9) + +int f() +{ +} +int main() +{ + return f(); +} diff --git a/rtree-c/test/expected/functions/reduction/r01110.c.hs b/rtree-c/test/expected/functions/reduction/r01110.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r01110.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r011110.c b/rtree-c/test/expected/functions/reduction/r011110.c new file mode 100644 index 0000000..37961a1 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r011110.c @@ -0,0 +1,13 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 1 remove parameter at ("test/cases/small/functions.c": line 1) +// 1 remove function g at ("test/cases/small/functions.c": line 5) +// 1 remove empty compound at ("test/cases/small/functions.c": line 1) +// 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 0 remove empty compound at ("test/cases/small/functions.c": line 8) + +int f() +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/functions/reduction/r011110.c.hs b/rtree-c/test/expected/functions/reduction/r011110.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r011110.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r011111.c b/rtree-c/test/expected/functions/reduction/r011111.c new file mode 100644 index 0000000..b93e5cf --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r011111.c @@ -0,0 +1,13 @@ +// 0 remove function f at ("test/cases/small/functions.c": line 1) +// 1 remove parameter at ("test/cases/small/functions.c": line 1) +// 1 remove function g at ("test/cases/small/functions.c": line 5) +// 1 remove empty compound at ("test/cases/small/functions.c": line 1) +// 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 1 remove empty compound at ("test/cases/small/functions.c": line 8) + +int f() +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/functions/reduction/r011111.c.hs b/rtree-c/test/expected/functions/reduction/r011111.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r011111.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r100000.c b/rtree-c/test/expected/functions/reduction/r1000000.c similarity index 86% rename from rtree-c/test/expected/functions/reduction/r100000.c rename to rtree-c/test/expected/functions/reduction/r1000000.c index 39b03b4..bff2a37 100644 --- a/rtree-c/test/expected/functions/reduction/r100000.c +++ b/rtree-c/test/expected/functions/reduction/r1000000.c @@ -1,6 +1,7 @@ // 1 remove function f at ("test/cases/small/functions.c": line 1) // 0 remove function g at ("test/cases/small/functions.c": line 5) // 0 remove parameter at ("test/cases/small/functions.c": line 5) +// 0 remove empty compound at ("test/cases/small/functions.c": line 5) // 0 remove return statement at ("test/cases/small/functions.c": line 9) // 0 do without param at ("test/cases/small/functions.c": line 9) // 0 do without param at ("test/cases/small/functions.c": line 9) diff --git a/rtree-c/test/expected/functions/reduction/r1000000.c.hs b/rtree-c/test/expected/functions/reduction/r1000000.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r1000000.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r1000001.c b/rtree-c/test/expected/functions/reduction/r1000001.c new file mode 100644 index 0000000..164f025 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r1000001.c @@ -0,0 +1,15 @@ +// 1 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 0 remove parameter at ("test/cases/small/functions.c": line 5) +// 0 remove empty compound at ("test/cases/small/functions.c": line 5) +// 0 remove return statement at ("test/cases/small/functions.c": line 9) +// 0 do without param at ("test/cases/small/functions.c": line 9) +// 1 do without param at ("test/cases/small/functions.c": line 9) + +int g(int a) +{ +} +int main() +{ + return g(0); +} diff --git a/rtree-c/test/expected/functions/reduction/r1000001.c.hs b/rtree-c/test/expected/functions/reduction/r1000001.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r1000001.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r100001.c b/rtree-c/test/expected/functions/reduction/r100001.c index da7a428..2863daa 100644 --- a/rtree-c/test/expected/functions/reduction/r100001.c +++ b/rtree-c/test/expected/functions/reduction/r100001.c @@ -1,8 +1,8 @@ // 1 remove function f at ("test/cases/small/functions.c": line 1) // 0 remove function g at ("test/cases/small/functions.c": line 5) // 0 remove parameter at ("test/cases/small/functions.c": line 5) +// 0 remove empty compound at ("test/cases/small/functions.c": line 5) // 0 remove return statement at ("test/cases/small/functions.c": line 9) -// 0 do without param at ("test/cases/small/functions.c": line 9) // 1 do without param at ("test/cases/small/functions.c": line 9) int g(int a) @@ -10,5 +10,5 @@ int g(int a) } int main() { - return g(0); + return 0; } diff --git a/rtree-c/test/expected/functions/reduction/r100001.c.hs b/rtree-c/test/expected/functions/reduction/r100001.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r100001.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r1001.c b/rtree-c/test/expected/functions/reduction/r100010.c similarity index 68% rename from rtree-c/test/expected/functions/reduction/r1001.c rename to rtree-c/test/expected/functions/reduction/r100010.c index 51e8857..9d5a4af 100644 --- a/rtree-c/test/expected/functions/reduction/r1001.c +++ b/rtree-c/test/expected/functions/reduction/r100010.c @@ -1,7 +1,9 @@ // 1 remove function f at ("test/cases/small/functions.c": line 1) // 0 remove function g at ("test/cases/small/functions.c": line 5) // 0 remove parameter at ("test/cases/small/functions.c": line 5) +// 0 remove empty compound at ("test/cases/small/functions.c": line 5) // 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 0 remove empty compound at ("test/cases/small/functions.c": line 8) int g(int a) { diff --git a/rtree-c/test/expected/functions/reduction/r100010.c.hs b/rtree-c/test/expected/functions/reduction/r100010.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r100010.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r100011.c b/rtree-c/test/expected/functions/reduction/r100011.c new file mode 100644 index 0000000..a658d65 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r100011.c @@ -0,0 +1,13 @@ +// 1 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 0 remove parameter at ("test/cases/small/functions.c": line 5) +// 0 remove empty compound at ("test/cases/small/functions.c": line 5) +// 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 1 remove empty compound at ("test/cases/small/functions.c": line 8) + +int g(int a) +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/functions/reduction/r100011.c.hs b/rtree-c/test/expected/functions/reduction/r100011.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r100011.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r1001000.c b/rtree-c/test/expected/functions/reduction/r1001000.c new file mode 100644 index 0000000..04b6aa2 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r1001000.c @@ -0,0 +1,15 @@ +// 1 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 0 remove parameter at ("test/cases/small/functions.c": line 5) +// 1 remove empty compound at ("test/cases/small/functions.c": line 5) +// 0 remove return statement at ("test/cases/small/functions.c": line 9) +// 0 do without param at ("test/cases/small/functions.c": line 9) +// 0 do without param at ("test/cases/small/functions.c": line 9) + +int g(int a) +{ +} +int main() +{ + return g(42); +} diff --git a/rtree-c/test/expected/functions/reduction/r1001000.c.hs b/rtree-c/test/expected/functions/reduction/r1001000.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r1001000.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r1001001.c b/rtree-c/test/expected/functions/reduction/r1001001.c new file mode 100644 index 0000000..363816b --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r1001001.c @@ -0,0 +1,15 @@ +// 1 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 0 remove parameter at ("test/cases/small/functions.c": line 5) +// 1 remove empty compound at ("test/cases/small/functions.c": line 5) +// 0 remove return statement at ("test/cases/small/functions.c": line 9) +// 0 do without param at ("test/cases/small/functions.c": line 9) +// 1 do without param at ("test/cases/small/functions.c": line 9) + +int g(int a) +{ +} +int main() +{ + return g(0); +} diff --git a/rtree-c/test/expected/functions/reduction/r1001001.c.hs b/rtree-c/test/expected/functions/reduction/r1001001.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r1001001.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r10001.c b/rtree-c/test/expected/functions/reduction/r100101.c similarity index 84% rename from rtree-c/test/expected/functions/reduction/r10001.c rename to rtree-c/test/expected/functions/reduction/r100101.c index 5d3a6ec..3e8eef3 100644 --- a/rtree-c/test/expected/functions/reduction/r10001.c +++ b/rtree-c/test/expected/functions/reduction/r100101.c @@ -1,6 +1,7 @@ // 1 remove function f at ("test/cases/small/functions.c": line 1) // 0 remove function g at ("test/cases/small/functions.c": line 5) // 0 remove parameter at ("test/cases/small/functions.c": line 5) +// 1 remove empty compound at ("test/cases/small/functions.c": line 5) // 0 remove return statement at ("test/cases/small/functions.c": line 9) // 1 do without param at ("test/cases/small/functions.c": line 9) diff --git a/rtree-c/test/expected/functions/reduction/r100101.c.hs b/rtree-c/test/expected/functions/reduction/r100101.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r100101.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r100110.c b/rtree-c/test/expected/functions/reduction/r100110.c new file mode 100644 index 0000000..92d376d --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r100110.c @@ -0,0 +1,13 @@ +// 1 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 0 remove parameter at ("test/cases/small/functions.c": line 5) +// 1 remove empty compound at ("test/cases/small/functions.c": line 5) +// 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 0 remove empty compound at ("test/cases/small/functions.c": line 8) + +int g(int a) +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/functions/reduction/r100110.c.hs b/rtree-c/test/expected/functions/reduction/r100110.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r100110.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r100111.c b/rtree-c/test/expected/functions/reduction/r100111.c new file mode 100644 index 0000000..80e3350 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r100111.c @@ -0,0 +1,13 @@ +// 1 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 0 remove parameter at ("test/cases/small/functions.c": line 5) +// 1 remove empty compound at ("test/cases/small/functions.c": line 5) +// 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 1 remove empty compound at ("test/cases/small/functions.c": line 8) + +int g(int a) +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/functions/reduction/r100111.c.hs b/rtree-c/test/expected/functions/reduction/r100111.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r100111.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r10100.c b/rtree-c/test/expected/functions/reduction/r101000.c similarity index 84% rename from rtree-c/test/expected/functions/reduction/r10100.c rename to rtree-c/test/expected/functions/reduction/r101000.c index 81115f1..7e065ea 100644 --- a/rtree-c/test/expected/functions/reduction/r10100.c +++ b/rtree-c/test/expected/functions/reduction/r101000.c @@ -1,6 +1,7 @@ // 1 remove function f at ("test/cases/small/functions.c": line 1) // 0 remove function g at ("test/cases/small/functions.c": line 5) // 1 remove parameter at ("test/cases/small/functions.c": line 5) +// 0 remove empty compound at ("test/cases/small/functions.c": line 5) // 0 remove return statement at ("test/cases/small/functions.c": line 9) // 0 do without param at ("test/cases/small/functions.c": line 9) diff --git a/rtree-c/test/expected/functions/reduction/r101000.c.hs b/rtree-c/test/expected/functions/reduction/r101000.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r101000.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r10101.c b/rtree-c/test/expected/functions/reduction/r101001.c similarity index 84% rename from rtree-c/test/expected/functions/reduction/r10101.c rename to rtree-c/test/expected/functions/reduction/r101001.c index 2abbb2b..d3ad348 100644 --- a/rtree-c/test/expected/functions/reduction/r10101.c +++ b/rtree-c/test/expected/functions/reduction/r101001.c @@ -1,6 +1,7 @@ // 1 remove function f at ("test/cases/small/functions.c": line 1) // 0 remove function g at ("test/cases/small/functions.c": line 5) // 1 remove parameter at ("test/cases/small/functions.c": line 5) +// 0 remove empty compound at ("test/cases/small/functions.c": line 5) // 0 remove return statement at ("test/cases/small/functions.c": line 9) // 1 do without param at ("test/cases/small/functions.c": line 9) diff --git a/rtree-c/test/expected/functions/reduction/r101001.c.hs b/rtree-c/test/expected/functions/reduction/r101001.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r101001.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r1011.c b/rtree-c/test/expected/functions/reduction/r101010.c similarity index 67% rename from rtree-c/test/expected/functions/reduction/r1011.c rename to rtree-c/test/expected/functions/reduction/r101010.c index 348a8cf..d36ae12 100644 --- a/rtree-c/test/expected/functions/reduction/r1011.c +++ b/rtree-c/test/expected/functions/reduction/r101010.c @@ -1,7 +1,9 @@ // 1 remove function f at ("test/cases/small/functions.c": line 1) // 0 remove function g at ("test/cases/small/functions.c": line 5) // 1 remove parameter at ("test/cases/small/functions.c": line 5) +// 0 remove empty compound at ("test/cases/small/functions.c": line 5) // 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 0 remove empty compound at ("test/cases/small/functions.c": line 8) int g() { diff --git a/rtree-c/test/expected/functions/reduction/r101010.c.hs b/rtree-c/test/expected/functions/reduction/r101010.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r101010.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r101011.c b/rtree-c/test/expected/functions/reduction/r101011.c new file mode 100644 index 0000000..8501d66 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r101011.c @@ -0,0 +1,13 @@ +// 1 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 1 remove parameter at ("test/cases/small/functions.c": line 5) +// 0 remove empty compound at ("test/cases/small/functions.c": line 5) +// 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 1 remove empty compound at ("test/cases/small/functions.c": line 8) + +int g() +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/functions/reduction/r101011.c.hs b/rtree-c/test/expected/functions/reduction/r101011.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r101011.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r101100.c b/rtree-c/test/expected/functions/reduction/r101100.c new file mode 100644 index 0000000..41d7930 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r101100.c @@ -0,0 +1,14 @@ +// 1 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 1 remove parameter at ("test/cases/small/functions.c": line 5) +// 1 remove empty compound at ("test/cases/small/functions.c": line 5) +// 0 remove return statement at ("test/cases/small/functions.c": line 9) +// 0 do without param at ("test/cases/small/functions.c": line 9) + +int g() +{ +} +int main() +{ + return g(); +} diff --git a/rtree-c/test/expected/functions/reduction/r101100.c.hs b/rtree-c/test/expected/functions/reduction/r101100.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r101100.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r101101.c b/rtree-c/test/expected/functions/reduction/r101101.c new file mode 100644 index 0000000..68db56c --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r101101.c @@ -0,0 +1,14 @@ +// 1 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 1 remove parameter at ("test/cases/small/functions.c": line 5) +// 1 remove empty compound at ("test/cases/small/functions.c": line 5) +// 0 remove return statement at ("test/cases/small/functions.c": line 9) +// 1 do without param at ("test/cases/small/functions.c": line 9) + +int g() +{ +} +int main() +{ + return 0; +} diff --git a/rtree-c/test/expected/functions/reduction/r101101.c.hs b/rtree-c/test/expected/functions/reduction/r101101.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r101101.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r101110.c b/rtree-c/test/expected/functions/reduction/r101110.c new file mode 100644 index 0000000..add83b8 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r101110.c @@ -0,0 +1,13 @@ +// 1 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 1 remove parameter at ("test/cases/small/functions.c": line 5) +// 1 remove empty compound at ("test/cases/small/functions.c": line 5) +// 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 0 remove empty compound at ("test/cases/small/functions.c": line 8) + +int g() +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/functions/reduction/r101110.c.hs b/rtree-c/test/expected/functions/reduction/r101110.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r101110.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r101111.c b/rtree-c/test/expected/functions/reduction/r101111.c new file mode 100644 index 0000000..53335d9 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r101111.c @@ -0,0 +1,13 @@ +// 1 remove function f at ("test/cases/small/functions.c": line 1) +// 0 remove function g at ("test/cases/small/functions.c": line 5) +// 1 remove parameter at ("test/cases/small/functions.c": line 5) +// 1 remove empty compound at ("test/cases/small/functions.c": line 5) +// 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 1 remove empty compound at ("test/cases/small/functions.c": line 8) + +int g() +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/functions/reduction/r101111.c.hs b/rtree-c/test/expected/functions/reduction/r101111.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r101111.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r11000.c.hs b/rtree-c/test/expected/functions/reduction/r11000.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r11000.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r11001.c.hs b/rtree-c/test/expected/functions/reduction/r11001.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r11001.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r1101.c.hs b/rtree-c/test/expected/functions/reduction/r1101.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r1101.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r111.c b/rtree-c/test/expected/functions/reduction/r1110.c similarity index 75% rename from rtree-c/test/expected/functions/reduction/r111.c rename to rtree-c/test/expected/functions/reduction/r1110.c index 58c45c0..bb933fa 100644 --- a/rtree-c/test/expected/functions/reduction/r111.c +++ b/rtree-c/test/expected/functions/reduction/r1110.c @@ -1,6 +1,7 @@ // 1 remove function f at ("test/cases/small/functions.c": line 1) // 1 remove function g at ("test/cases/small/functions.c": line 5) // 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 0 remove empty compound at ("test/cases/small/functions.c": line 8) int main() { diff --git a/rtree-c/test/expected/functions/reduction/r1110.c.hs b/rtree-c/test/expected/functions/reduction/r1110.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r1110.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/functions/reduction/r1111.c b/rtree-c/test/expected/functions/reduction/r1111.c new file mode 100644 index 0000000..63f3bfb --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r1111.c @@ -0,0 +1,8 @@ +// 1 remove function f at ("test/cases/small/functions.c": line 1) +// 1 remove function g at ("test/cases/small/functions.c": line 5) +// 1 remove return statement at ("test/cases/small/functions.c": line 9) +// 1 remove empty compound at ("test/cases/small/functions.c": line 8) + +int main() +{ +} diff --git a/rtree-c/test/expected/functions/reduction/r1111.c.hs b/rtree-c/test/expected/functions/reduction/r1111.c.hs new file mode 100644 index 0000000..f1350f7 --- /dev/null +++ b/rtree-c/test/expected/functions/reduction/r1111.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CVar + ( Ident "a" 97 () ) () + ) + ) () + ) + ] () + ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "g" 103 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockStmt + ( CReturn + ( Just + ( CCall + ( CVar + ( Ident "f" 102 () ) () + ) + [ CCall + ( CVar + ( Ident "g" 103 () ) () + ) + [ CConst + ( CIntConst 42 () ) + ] () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/llvm-26760/reduction/p0.path b/rtree-c/test/expected/llvm-26760/reduction/p0.path index df502ae..036e488 100644 --- a/rtree-c/test/expected/llvm-26760/reduction/p0.path +++ b/rtree-c/test/expected/llvm-26760/reduction/p0.path @@ -28,4 +28,5 @@ * reduce to right at ("test/cases/large/llvm-26760.c": line 24) * reduce to left at ("test/cases/large/llvm-26760.c": line 24) * reduce to right at ("test/cases/large/llvm-26760.c": line 24) +* remove empty compound at ("test/cases/large/llvm-26760.c": line 28) diff --git a/rtree-c/test/expected/llvm-26760/reduction/p1.path b/rtree-c/test/expected/llvm-26760/reduction/p1.path index 6d81e1a..b572383 100644 --- a/rtree-c/test/expected/llvm-26760/reduction/p1.path +++ b/rtree-c/test/expected/llvm-26760/reduction/p1.path @@ -1,3 +1,4 @@ 1 remove variable g_100 at ("test/cases/large/llvm-26760.c": line 6) 1 remove function func_33 at ("test/cases/large/llvm-26760.c": line 7) +* remove empty compound at ("test/cases/large/llvm-26760.c": line 28) diff --git a/rtree-c/test/expected/llvm-26760/reduction/p2.path b/rtree-c/test/expected/llvm-26760/reduction/p2.path new file mode 100644 index 0000000..e8c9085 --- /dev/null +++ b/rtree-c/test/expected/llvm-26760/reduction/p2.path @@ -0,0 +1,4 @@ +1 remove variable g_100 at ("test/cases/large/llvm-26760.c": line 6) +1 remove function func_33 at ("test/cases/large/llvm-26760.c": line 7) +1 remove empty compound at ("test/cases/large/llvm-26760.c": line 28) + diff --git a/rtree-c/test/expected/llvm-26760/reduction/x2.c b/rtree-c/test/expected/llvm-26760/reduction/x2.c new file mode 100644 index 0000000..de5eef3 --- /dev/null +++ b/rtree-c/test/expected/llvm-26760/reduction/x2.c @@ -0,0 +1,7 @@ +typedef signed int8_t; +typedef short int16_t; +typedef int int32_t; +typedef unsigned uint32_t; +int main() +{ +} diff --git a/rtree-c/test/expected/main/reduction/r.c b/rtree-c/test/expected/main/reduction/r.c deleted file mode 100644 index d3a1f6a..0000000 --- a/rtree-c/test/expected/main/reduction/r.c +++ /dev/null @@ -1,4 +0,0 @@ - -int main() -{ -} diff --git a/rtree-c/test/expected/main/reduction/r0.c b/rtree-c/test/expected/main/reduction/r0.c new file mode 100644 index 0000000..88f1f21 --- /dev/null +++ b/rtree-c/test/expected/main/reduction/r0.c @@ -0,0 +1,5 @@ +// 0 remove empty compound at ("test/cases/small/main.c": line 2) + +int main() +{ +} diff --git a/rtree-c/test/expected/main/reduction/r0.c.hs b/rtree-c/test/expected/main/reduction/r0.c.hs new file mode 100644 index 0000000..0d620f0 --- /dev/null +++ b/rtree-c/test/expected/main/reduction/r0.c.hs @@ -0,0 +1,17 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + ] () diff --git a/rtree-c/test/expected/main/reduction/r1.c b/rtree-c/test/expected/main/reduction/r1.c new file mode 100644 index 0000000..dbd7ca4 --- /dev/null +++ b/rtree-c/test/expected/main/reduction/r1.c @@ -0,0 +1,5 @@ +// 1 remove empty compound at ("test/cases/small/main.c": line 2) + +int main() +{ +} diff --git a/rtree-c/test/expected/main/reduction/r1.c.hs b/rtree-c/test/expected/main/reduction/r1.c.hs new file mode 100644 index 0000000..0d620f0 --- /dev/null +++ b/rtree-c/test/expected/main/reduction/r1.c.hs @@ -0,0 +1,17 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + ] () diff --git a/rtree-c/test/expected/struct/reduction/r00000.c.hs b/rtree-c/test/expected/struct/reduction/r00000.c.hs new file mode 100644 index 0000000..b37197c --- /dev/null +++ b/rtree-c/test/expected/struct/reduction/r00000.c.hs @@ -0,0 +1,126 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "point" 232421476 () ) + ) + ( Just + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "y" 121 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] + ) [] () + ) () + ) + ] [] () + ) + , CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "point" 232421476 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "p1" 6384 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList + [ + ( [] + , CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + , + ( [] + , CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + ] + ) () + ) + ) Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "point" 232421476 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "p2" 6512 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CMember + ( CVar + ( Ident "p1" 6384 () ) () + ) + ( Ident "x" 120 () ) False () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/struct/reduction/r00001.c.hs b/rtree-c/test/expected/struct/reduction/r00001.c.hs new file mode 100644 index 0000000..b37197c --- /dev/null +++ b/rtree-c/test/expected/struct/reduction/r00001.c.hs @@ -0,0 +1,126 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "point" 232421476 () ) + ) + ( Just + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "y" 121 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] + ) [] () + ) () + ) + ] [] () + ) + , CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "point" 232421476 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "p1" 6384 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList + [ + ( [] + , CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + , + ( [] + , CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + ] + ) () + ) + ) Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "point" 232421476 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "p2" 6512 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CMember + ( CVar + ( Ident "p1" 6384 () ) () + ) + ( Ident "x" 120 () ) False () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/struct/reduction/r00010.c.hs b/rtree-c/test/expected/struct/reduction/r00010.c.hs new file mode 100644 index 0000000..b37197c --- /dev/null +++ b/rtree-c/test/expected/struct/reduction/r00010.c.hs @@ -0,0 +1,126 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "point" 232421476 () ) + ) + ( Just + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "y" 121 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] + ) [] () + ) () + ) + ] [] () + ) + , CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "point" 232421476 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "p1" 6384 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList + [ + ( [] + , CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + , + ( [] + , CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + ] + ) () + ) + ) Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "point" 232421476 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "p2" 6512 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CMember + ( CVar + ( Ident "p1" 6384 () ) () + ) + ( Ident "x" 120 () ) False () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/struct/reduction/r00011.c b/rtree-c/test/expected/struct/reduction/r000110.c similarity index 85% rename from rtree-c/test/expected/struct/reduction/r00011.c rename to rtree-c/test/expected/struct/reduction/r000110.c index d8242be..c96ab6b 100644 --- a/rtree-c/test/expected/struct/reduction/r00011.c +++ b/rtree-c/test/expected/struct/reduction/r000110.c @@ -3,6 +3,7 @@ // 0 remove variable p1 at ("test/cases/small/struct.c": line 3) // 1 remove variable p2 at ("test/cases/small/struct.c": line 6) // 1 remove return statement at ("test/cases/small/struct.c": line 7) +// 0 remove empty compound at ("test/cases/small/struct.c": line 5) struct point { int x; int y; diff --git a/rtree-c/test/expected/struct/reduction/r000110.c.hs b/rtree-c/test/expected/struct/reduction/r000110.c.hs new file mode 100644 index 0000000..b37197c --- /dev/null +++ b/rtree-c/test/expected/struct/reduction/r000110.c.hs @@ -0,0 +1,126 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "point" 232421476 () ) + ) + ( Just + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "y" 121 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] + ) [] () + ) () + ) + ] [] () + ) + , CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "point" 232421476 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "p1" 6384 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList + [ + ( [] + , CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + , + ( [] + , CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + ] + ) () + ) + ) Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "point" 232421476 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "p2" 6512 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CMember + ( CVar + ( Ident "p1" 6384 () ) () + ) + ( Ident "x" 120 () ) False () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/struct/reduction/r10011.c b/rtree-c/test/expected/struct/reduction/r000111.c similarity index 65% rename from rtree-c/test/expected/struct/reduction/r10011.c rename to rtree-c/test/expected/struct/reduction/r000111.c index 5469ecc..026c454 100644 --- a/rtree-c/test/expected/struct/reduction/r10011.c +++ b/rtree-c/test/expected/struct/reduction/r000111.c @@ -1,12 +1,14 @@ -// 1 remove declaration at ("test/cases/small/struct.c": line 1) +// 0 remove declaration at ("test/cases/small/struct.c": line 1) // 0 remove initializer at ("test/cases/small/struct.c": line 3) // 0 remove variable p1 at ("test/cases/small/struct.c": line 3) // 1 remove variable p2 at ("test/cases/small/struct.c": line 6) // 1 remove return statement at ("test/cases/small/struct.c": line 7) +// 1 remove empty compound at ("test/cases/small/struct.c": line 5) struct point { int x; int y; -} p1 = { 0, 0 }; +}; +struct point p1 = { 0, 0 }; int main() { } diff --git a/rtree-c/test/expected/struct/reduction/r000111.c.hs b/rtree-c/test/expected/struct/reduction/r000111.c.hs new file mode 100644 index 0000000..b37197c --- /dev/null +++ b/rtree-c/test/expected/struct/reduction/r000111.c.hs @@ -0,0 +1,126 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "point" 232421476 () ) + ) + ( Just + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "y" 121 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] + ) [] () + ) () + ) + ] [] () + ) + , CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "point" 232421476 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "p1" 6384 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList + [ + ( [] + , CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + , + ( [] + , CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + ] + ) () + ) + ) Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "point" 232421476 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "p2" 6512 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CMember + ( CVar + ( Ident "p1" 6384 () ) () + ) + ( Ident "x" 120 () ) False () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/struct/reduction/r0010.c.hs b/rtree-c/test/expected/struct/reduction/r0010.c.hs new file mode 100644 index 0000000..b37197c --- /dev/null +++ b/rtree-c/test/expected/struct/reduction/r0010.c.hs @@ -0,0 +1,126 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "point" 232421476 () ) + ) + ( Just + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "y" 121 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] + ) [] () + ) () + ) + ] [] () + ) + , CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "point" 232421476 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "p1" 6384 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList + [ + ( [] + , CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + , + ( [] + , CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + ] + ) () + ) + ) Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "point" 232421476 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "p2" 6512 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CMember + ( CVar + ( Ident "p1" 6384 () ) () + ) + ( Ident "x" 120 () ) False () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/struct/reduction/r0011.c b/rtree-c/test/expected/struct/reduction/r00110.c similarity index 82% rename from rtree-c/test/expected/struct/reduction/r0011.c rename to rtree-c/test/expected/struct/reduction/r00110.c index 7dfcde9..4da04d6 100644 --- a/rtree-c/test/expected/struct/reduction/r0011.c +++ b/rtree-c/test/expected/struct/reduction/r00110.c @@ -2,6 +2,7 @@ // 0 remove initializer at ("test/cases/small/struct.c": line 3) // 1 remove variable p1 at ("test/cases/small/struct.c": line 3) // 1 remove variable p2 at ("test/cases/small/struct.c": line 6) +// 0 remove empty compound at ("test/cases/small/struct.c": line 5) struct point { int x; int y; diff --git a/rtree-c/test/expected/struct/reduction/r00110.c.hs b/rtree-c/test/expected/struct/reduction/r00110.c.hs new file mode 100644 index 0000000..b37197c --- /dev/null +++ b/rtree-c/test/expected/struct/reduction/r00110.c.hs @@ -0,0 +1,126 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "point" 232421476 () ) + ) + ( Just + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "y" 121 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] + ) [] () + ) () + ) + ] [] () + ) + , CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "point" 232421476 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "p1" 6384 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList + [ + ( [] + , CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + , + ( [] + , CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + ] + ) () + ) + ) Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "point" 232421476 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "p2" 6512 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CMember + ( CVar + ( Ident "p1" 6384 () ) () + ) + ( Ident "x" 120 () ) False () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/struct/reduction/r10101.c b/rtree-c/test/expected/struct/reduction/r00111.c similarity index 65% rename from rtree-c/test/expected/struct/reduction/r10101.c rename to rtree-c/test/expected/struct/reduction/r00111.c index 4e1f4fc..c1731bd 100644 --- a/rtree-c/test/expected/struct/reduction/r10101.c +++ b/rtree-c/test/expected/struct/reduction/r00111.c @@ -1,8 +1,8 @@ -// 1 remove declaration at ("test/cases/small/struct.c": line 1) +// 0 remove declaration at ("test/cases/small/struct.c": line 1) // 0 remove initializer at ("test/cases/small/struct.c": line 3) // 1 remove variable p1 at ("test/cases/small/struct.c": line 3) -// 0 remove declaration at ("test/cases/small/struct.c": line 3) // 1 remove variable p2 at ("test/cases/small/struct.c": line 6) +// 1 remove empty compound at ("test/cases/small/struct.c": line 5) struct point { int x; int y; diff --git a/rtree-c/test/expected/struct/reduction/r00111.c.hs b/rtree-c/test/expected/struct/reduction/r00111.c.hs new file mode 100644 index 0000000..b37197c --- /dev/null +++ b/rtree-c/test/expected/struct/reduction/r00111.c.hs @@ -0,0 +1,126 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "point" 232421476 () ) + ) + ( Just + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "y" 121 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] + ) [] () + ) () + ) + ] [] () + ) + , CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "point" 232421476 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "p1" 6384 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList + [ + ( [] + , CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + , + ( [] + , CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + ] + ) () + ) + ) Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "point" 232421476 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "p2" 6512 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CMember + ( CVar + ( Ident "p1" 6384 () ) () + ) + ( Ident "x" 120 () ) False () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/struct/reduction/r01000.c.hs b/rtree-c/test/expected/struct/reduction/r01000.c.hs new file mode 100644 index 0000000..b37197c --- /dev/null +++ b/rtree-c/test/expected/struct/reduction/r01000.c.hs @@ -0,0 +1,126 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "point" 232421476 () ) + ) + ( Just + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "y" 121 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] + ) [] () + ) () + ) + ] [] () + ) + , CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "point" 232421476 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "p1" 6384 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList + [ + ( [] + , CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + , + ( [] + , CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + ] + ) () + ) + ) Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "point" 232421476 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "p2" 6512 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CMember + ( CVar + ( Ident "p1" 6384 () ) () + ) + ( Ident "x" 120 () ) False () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/struct/reduction/r01001.c.hs b/rtree-c/test/expected/struct/reduction/r01001.c.hs new file mode 100644 index 0000000..b37197c --- /dev/null +++ b/rtree-c/test/expected/struct/reduction/r01001.c.hs @@ -0,0 +1,126 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "point" 232421476 () ) + ) + ( Just + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "y" 121 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] + ) [] () + ) () + ) + ] [] () + ) + , CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "point" 232421476 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "p1" 6384 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList + [ + ( [] + , CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + , + ( [] + , CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + ] + ) () + ) + ) Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "point" 232421476 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "p2" 6512 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CMember + ( CVar + ( Ident "p1" 6384 () ) () + ) + ( Ident "x" 120 () ) False () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/struct/reduction/r01010.c.hs b/rtree-c/test/expected/struct/reduction/r01010.c.hs new file mode 100644 index 0000000..b37197c --- /dev/null +++ b/rtree-c/test/expected/struct/reduction/r01010.c.hs @@ -0,0 +1,126 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "point" 232421476 () ) + ) + ( Just + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "y" 121 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] + ) [] () + ) () + ) + ] [] () + ) + , CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "point" 232421476 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "p1" 6384 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList + [ + ( [] + , CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + , + ( [] + , CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + ] + ) () + ) + ) Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "point" 232421476 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "p2" 6512 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CMember + ( CVar + ( Ident "p1" 6384 () ) () + ) + ( Ident "x" 120 () ) False () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/struct/reduction/r01011.c b/rtree-c/test/expected/struct/reduction/r010110.c similarity index 85% rename from rtree-c/test/expected/struct/reduction/r01011.c rename to rtree-c/test/expected/struct/reduction/r010110.c index c4816c5..816ba47 100644 --- a/rtree-c/test/expected/struct/reduction/r01011.c +++ b/rtree-c/test/expected/struct/reduction/r010110.c @@ -3,6 +3,7 @@ // 0 remove variable p1 at ("test/cases/small/struct.c": line 3) // 1 remove variable p2 at ("test/cases/small/struct.c": line 6) // 1 remove return statement at ("test/cases/small/struct.c": line 7) +// 0 remove empty compound at ("test/cases/small/struct.c": line 5) struct point { int x; int y; diff --git a/rtree-c/test/expected/struct/reduction/r010110.c.hs b/rtree-c/test/expected/struct/reduction/r010110.c.hs new file mode 100644 index 0000000..b37197c --- /dev/null +++ b/rtree-c/test/expected/struct/reduction/r010110.c.hs @@ -0,0 +1,126 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "point" 232421476 () ) + ) + ( Just + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "y" 121 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] + ) [] () + ) () + ) + ] [] () + ) + , CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "point" 232421476 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "p1" 6384 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList + [ + ( [] + , CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + , + ( [] + , CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + ] + ) () + ) + ) Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "point" 232421476 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "p2" 6512 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CMember + ( CVar + ( Ident "p1" 6384 () ) () + ) + ( Ident "x" 120 () ) False () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/struct/reduction/r11011.c b/rtree-c/test/expected/struct/reduction/r010111.c similarity index 67% rename from rtree-c/test/expected/struct/reduction/r11011.c rename to rtree-c/test/expected/struct/reduction/r010111.c index 2aa7cdc..b678598 100644 --- a/rtree-c/test/expected/struct/reduction/r11011.c +++ b/rtree-c/test/expected/struct/reduction/r010111.c @@ -1,12 +1,14 @@ -// 1 remove declaration at ("test/cases/small/struct.c": line 1) +// 0 remove declaration at ("test/cases/small/struct.c": line 1) // 1 remove initializer at ("test/cases/small/struct.c": line 3) // 0 remove variable p1 at ("test/cases/small/struct.c": line 3) // 1 remove variable p2 at ("test/cases/small/struct.c": line 6) // 1 remove return statement at ("test/cases/small/struct.c": line 7) +// 1 remove empty compound at ("test/cases/small/struct.c": line 5) struct point { int x; int y; -} p1; +}; +struct point p1; int main() { } diff --git a/rtree-c/test/expected/struct/reduction/r010111.c.hs b/rtree-c/test/expected/struct/reduction/r010111.c.hs new file mode 100644 index 0000000..b37197c --- /dev/null +++ b/rtree-c/test/expected/struct/reduction/r010111.c.hs @@ -0,0 +1,126 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "point" 232421476 () ) + ) + ( Just + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "y" 121 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] + ) [] () + ) () + ) + ] [] () + ) + , CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "point" 232421476 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "p1" 6384 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList + [ + ( [] + , CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + , + ( [] + , CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + ] + ) () + ) + ) Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "point" 232421476 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "p2" 6512 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CMember + ( CVar + ( Ident "p1" 6384 () ) () + ) + ( Ident "x" 120 () ) False () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/struct/reduction/r0110.c.hs b/rtree-c/test/expected/struct/reduction/r0110.c.hs new file mode 100644 index 0000000..b37197c --- /dev/null +++ b/rtree-c/test/expected/struct/reduction/r0110.c.hs @@ -0,0 +1,126 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "point" 232421476 () ) + ) + ( Just + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "y" 121 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] + ) [] () + ) () + ) + ] [] () + ) + , CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "point" 232421476 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "p1" 6384 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList + [ + ( [] + , CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + , + ( [] + , CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + ] + ) () + ) + ) Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "point" 232421476 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "p2" 6512 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CMember + ( CVar + ( Ident "p1" 6384 () ) () + ) + ( Ident "x" 120 () ) False () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/struct/reduction/r0111.c b/rtree-c/test/expected/struct/reduction/r01110.c similarity index 82% rename from rtree-c/test/expected/struct/reduction/r0111.c rename to rtree-c/test/expected/struct/reduction/r01110.c index 3f85b55..c17e7f2 100644 --- a/rtree-c/test/expected/struct/reduction/r0111.c +++ b/rtree-c/test/expected/struct/reduction/r01110.c @@ -2,6 +2,7 @@ // 1 remove initializer at ("test/cases/small/struct.c": line 3) // 1 remove variable p1 at ("test/cases/small/struct.c": line 3) // 1 remove variable p2 at ("test/cases/small/struct.c": line 6) +// 0 remove empty compound at ("test/cases/small/struct.c": line 5) struct point { int x; int y; diff --git a/rtree-c/test/expected/struct/reduction/r01110.c.hs b/rtree-c/test/expected/struct/reduction/r01110.c.hs new file mode 100644 index 0000000..b37197c --- /dev/null +++ b/rtree-c/test/expected/struct/reduction/r01110.c.hs @@ -0,0 +1,126 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "point" 232421476 () ) + ) + ( Just + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "y" 121 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] + ) [] () + ) () + ) + ] [] () + ) + , CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "point" 232421476 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "p1" 6384 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList + [ + ( [] + , CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + , + ( [] + , CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + ] + ) () + ) + ) Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "point" 232421476 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "p2" 6512 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CMember + ( CVar + ( Ident "p1" 6384 () ) () + ) + ( Ident "x" 120 () ) False () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/struct/reduction/r11101.c b/rtree-c/test/expected/struct/reduction/r01111.c similarity index 65% rename from rtree-c/test/expected/struct/reduction/r11101.c rename to rtree-c/test/expected/struct/reduction/r01111.c index 95b2c71..ee15510 100644 --- a/rtree-c/test/expected/struct/reduction/r11101.c +++ b/rtree-c/test/expected/struct/reduction/r01111.c @@ -1,8 +1,8 @@ -// 1 remove declaration at ("test/cases/small/struct.c": line 1) +// 0 remove declaration at ("test/cases/small/struct.c": line 1) // 1 remove initializer at ("test/cases/small/struct.c": line 3) // 1 remove variable p1 at ("test/cases/small/struct.c": line 3) -// 0 remove declaration at ("test/cases/small/struct.c": line 3) // 1 remove variable p2 at ("test/cases/small/struct.c": line 6) +// 1 remove empty compound at ("test/cases/small/struct.c": line 5) struct point { int x; int y; diff --git a/rtree-c/test/expected/struct/reduction/r01111.c.hs b/rtree-c/test/expected/struct/reduction/r01111.c.hs new file mode 100644 index 0000000..b37197c --- /dev/null +++ b/rtree-c/test/expected/struct/reduction/r01111.c.hs @@ -0,0 +1,126 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "point" 232421476 () ) + ) + ( Just + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "y" 121 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] + ) [] () + ) () + ) + ] [] () + ) + , CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "point" 232421476 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "p1" 6384 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList + [ + ( [] + , CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + , + ( [] + , CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + ] + ) () + ) + ) Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "point" 232421476 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "p2" 6512 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CMember + ( CVar + ( Ident "p1" 6384 () ) () + ) + ( Ident "x" 120 () ) False () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/struct/reduction/r10.c b/rtree-c/test/expected/struct/reduction/r10.c new file mode 100644 index 0000000..624856a --- /dev/null +++ b/rtree-c/test/expected/struct/reduction/r10.c @@ -0,0 +1,6 @@ +// 1 remove declaration at ("test/cases/small/struct.c": line 1) +// 0 remove empty compound at ("test/cases/small/struct.c": line 5) + +int main() +{ +} diff --git a/rtree-c/test/expected/struct/reduction/r10.c.hs b/rtree-c/test/expected/struct/reduction/r10.c.hs new file mode 100644 index 0000000..b37197c --- /dev/null +++ b/rtree-c/test/expected/struct/reduction/r10.c.hs @@ -0,0 +1,126 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "point" 232421476 () ) + ) + ( Just + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "y" 121 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] + ) [] () + ) () + ) + ] [] () + ) + , CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "point" 232421476 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "p1" 6384 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList + [ + ( [] + , CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + , + ( [] + , CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + ] + ) () + ) + ) Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "point" 232421476 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "p2" 6512 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CMember + ( CVar + ( Ident "p1" 6384 () ) () + ) + ( Ident "x" 120 () ) False () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/struct/reduction/r10000.c b/rtree-c/test/expected/struct/reduction/r10000.c deleted file mode 100644 index 5f24f5d..0000000 --- a/rtree-c/test/expected/struct/reduction/r10000.c +++ /dev/null @@ -1,14 +0,0 @@ -// 1 remove declaration at ("test/cases/small/struct.c": line 1) -// 0 remove initializer at ("test/cases/small/struct.c": line 3) -// 0 remove variable p1 at ("test/cases/small/struct.c": line 3) -// 0 remove variable p2 at ("test/cases/small/struct.c": line 6) -// 0 remove return statement at ("test/cases/small/struct.c": line 7) - -struct point { - int x; int y; -} p1 = { 0, 0 }; -int main() -{ - struct point p2; - return p1.x; -} diff --git a/rtree-c/test/expected/struct/reduction/r10001.c b/rtree-c/test/expected/struct/reduction/r10001.c deleted file mode 100644 index 26d3d48..0000000 --- a/rtree-c/test/expected/struct/reduction/r10001.c +++ /dev/null @@ -1,13 +0,0 @@ -// 1 remove declaration at ("test/cases/small/struct.c": line 1) -// 0 remove initializer at ("test/cases/small/struct.c": line 3) -// 0 remove variable p1 at ("test/cases/small/struct.c": line 3) -// 0 remove variable p2 at ("test/cases/small/struct.c": line 6) -// 1 remove return statement at ("test/cases/small/struct.c": line 7) - -struct point { - int x; int y; -} p1 = { 0, 0 }; -int main() -{ - struct point p2; -} diff --git a/rtree-c/test/expected/struct/reduction/r10010.c b/rtree-c/test/expected/struct/reduction/r10010.c deleted file mode 100644 index 6bc2399..0000000 --- a/rtree-c/test/expected/struct/reduction/r10010.c +++ /dev/null @@ -1,13 +0,0 @@ -// 1 remove declaration at ("test/cases/small/struct.c": line 1) -// 0 remove initializer at ("test/cases/small/struct.c": line 3) -// 0 remove variable p1 at ("test/cases/small/struct.c": line 3) -// 1 remove variable p2 at ("test/cases/small/struct.c": line 6) -// 0 remove return statement at ("test/cases/small/struct.c": line 7) - -struct point { - int x; int y; -} p1 = { 0, 0 }; -int main() -{ - return p1.x; -} diff --git a/rtree-c/test/expected/struct/reduction/r10100.c b/rtree-c/test/expected/struct/reduction/r10100.c deleted file mode 100644 index 7b5ca3c..0000000 --- a/rtree-c/test/expected/struct/reduction/r10100.c +++ /dev/null @@ -1,13 +0,0 @@ -// 1 remove declaration at ("test/cases/small/struct.c": line 1) -// 0 remove initializer at ("test/cases/small/struct.c": line 3) -// 1 remove variable p1 at ("test/cases/small/struct.c": line 3) -// 0 remove declaration at ("test/cases/small/struct.c": line 3) -// 0 remove variable p2 at ("test/cases/small/struct.c": line 6) - -struct point { - int x; int y; -}; -int main() -{ - struct point p2; -} diff --git a/rtree-c/test/expected/struct/reduction/r10110.c b/rtree-c/test/expected/struct/reduction/r10110.c deleted file mode 100644 index 628ff25..0000000 --- a/rtree-c/test/expected/struct/reduction/r10110.c +++ /dev/null @@ -1,12 +0,0 @@ -// 1 remove declaration at ("test/cases/small/struct.c": line 1) -// 0 remove initializer at ("test/cases/small/struct.c": line 3) -// 1 remove variable p1 at ("test/cases/small/struct.c": line 3) -// 1 remove declaration at ("test/cases/small/struct.c": line 3) -// 0 remove variable p2 at ("test/cases/small/struct.c": line 6) - -int main() -{ - struct point { - int x; int y; - } p2; -} diff --git a/rtree-c/test/expected/struct/reduction/r101110.c b/rtree-c/test/expected/struct/reduction/r101110.c deleted file mode 100644 index 5fa60af..0000000 --- a/rtree-c/test/expected/struct/reduction/r101110.c +++ /dev/null @@ -1,13 +0,0 @@ -// 1 remove declaration at ("test/cases/small/struct.c": line 1) -// 0 remove initializer at ("test/cases/small/struct.c": line 3) -// 1 remove variable p1 at ("test/cases/small/struct.c": line 3) -// 1 remove declaration at ("test/cases/small/struct.c": line 3) -// 1 remove variable p2 at ("test/cases/small/struct.c": line 6) -// 0 remove declaration at ("test/cases/small/struct.c": line 6) - -int main() -{ - struct point { - int x; int y; - }; -} diff --git a/rtree-c/test/expected/struct/reduction/r101111.c b/rtree-c/test/expected/struct/reduction/r101111.c deleted file mode 100644 index 81a3361..0000000 --- a/rtree-c/test/expected/struct/reduction/r101111.c +++ /dev/null @@ -1,10 +0,0 @@ -// 1 remove declaration at ("test/cases/small/struct.c": line 1) -// 0 remove initializer at ("test/cases/small/struct.c": line 3) -// 1 remove variable p1 at ("test/cases/small/struct.c": line 3) -// 1 remove declaration at ("test/cases/small/struct.c": line 3) -// 1 remove variable p2 at ("test/cases/small/struct.c": line 6) -// 1 remove declaration at ("test/cases/small/struct.c": line 6) - -int main() -{ -} diff --git a/rtree-c/test/expected/struct/reduction/r11.c b/rtree-c/test/expected/struct/reduction/r11.c new file mode 100644 index 0000000..d947367 --- /dev/null +++ b/rtree-c/test/expected/struct/reduction/r11.c @@ -0,0 +1,6 @@ +// 1 remove declaration at ("test/cases/small/struct.c": line 1) +// 1 remove empty compound at ("test/cases/small/struct.c": line 5) + +int main() +{ +} diff --git a/rtree-c/test/expected/struct/reduction/r11.c.hs b/rtree-c/test/expected/struct/reduction/r11.c.hs new file mode 100644 index 0000000..b37197c --- /dev/null +++ b/rtree-c/test/expected/struct/reduction/r11.c.hs @@ -0,0 +1,126 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "point" 232421476 () ) + ) + ( Just + [ CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + , CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "y" 121 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] + ) [] () + ) () + ) + ] [] () + ) + , CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "point" 232421476 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "p1" 6384 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList + [ + ( [] + , CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + , + ( [] + , CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + ] + ) () + ) + ) Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "point" 232421476 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "p2" 6512 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CMember + ( CVar + ( Ident "p1" 6384 () ) () + ) + ( Ident "x" 120 () ) False () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/struct/reduction/r11000.c b/rtree-c/test/expected/struct/reduction/r11000.c deleted file mode 100644 index ad29f2c..0000000 --- a/rtree-c/test/expected/struct/reduction/r11000.c +++ /dev/null @@ -1,14 +0,0 @@ -// 1 remove declaration at ("test/cases/small/struct.c": line 1) -// 1 remove initializer at ("test/cases/small/struct.c": line 3) -// 0 remove variable p1 at ("test/cases/small/struct.c": line 3) -// 0 remove variable p2 at ("test/cases/small/struct.c": line 6) -// 0 remove return statement at ("test/cases/small/struct.c": line 7) - -struct point { - int x; int y; -} p1; -int main() -{ - struct point p2; - return p1.x; -} diff --git a/rtree-c/test/expected/struct/reduction/r11001.c b/rtree-c/test/expected/struct/reduction/r11001.c deleted file mode 100644 index ad64bd6..0000000 --- a/rtree-c/test/expected/struct/reduction/r11001.c +++ /dev/null @@ -1,13 +0,0 @@ -// 1 remove declaration at ("test/cases/small/struct.c": line 1) -// 1 remove initializer at ("test/cases/small/struct.c": line 3) -// 0 remove variable p1 at ("test/cases/small/struct.c": line 3) -// 0 remove variable p2 at ("test/cases/small/struct.c": line 6) -// 1 remove return statement at ("test/cases/small/struct.c": line 7) - -struct point { - int x; int y; -} p1; -int main() -{ - struct point p2; -} diff --git a/rtree-c/test/expected/struct/reduction/r11010.c b/rtree-c/test/expected/struct/reduction/r11010.c deleted file mode 100644 index 6e462e9..0000000 --- a/rtree-c/test/expected/struct/reduction/r11010.c +++ /dev/null @@ -1,13 +0,0 @@ -// 1 remove declaration at ("test/cases/small/struct.c": line 1) -// 1 remove initializer at ("test/cases/small/struct.c": line 3) -// 0 remove variable p1 at ("test/cases/small/struct.c": line 3) -// 1 remove variable p2 at ("test/cases/small/struct.c": line 6) -// 0 remove return statement at ("test/cases/small/struct.c": line 7) - -struct point { - int x; int y; -} p1; -int main() -{ - return p1.x; -} diff --git a/rtree-c/test/expected/struct/reduction/r11100.c b/rtree-c/test/expected/struct/reduction/r11100.c deleted file mode 100644 index 24ab4dd..0000000 --- a/rtree-c/test/expected/struct/reduction/r11100.c +++ /dev/null @@ -1,13 +0,0 @@ -// 1 remove declaration at ("test/cases/small/struct.c": line 1) -// 1 remove initializer at ("test/cases/small/struct.c": line 3) -// 1 remove variable p1 at ("test/cases/small/struct.c": line 3) -// 0 remove declaration at ("test/cases/small/struct.c": line 3) -// 0 remove variable p2 at ("test/cases/small/struct.c": line 6) - -struct point { - int x; int y; -}; -int main() -{ - struct point p2; -} diff --git a/rtree-c/test/expected/struct/reduction/r11110.c b/rtree-c/test/expected/struct/reduction/r11110.c deleted file mode 100644 index b5434f3..0000000 --- a/rtree-c/test/expected/struct/reduction/r11110.c +++ /dev/null @@ -1,12 +0,0 @@ -// 1 remove declaration at ("test/cases/small/struct.c": line 1) -// 1 remove initializer at ("test/cases/small/struct.c": line 3) -// 1 remove variable p1 at ("test/cases/small/struct.c": line 3) -// 1 remove declaration at ("test/cases/small/struct.c": line 3) -// 0 remove variable p2 at ("test/cases/small/struct.c": line 6) - -int main() -{ - struct point { - int x; int y; - } p2; -} diff --git a/rtree-c/test/expected/struct/reduction/r111110.c b/rtree-c/test/expected/struct/reduction/r111110.c deleted file mode 100644 index ebe40cb..0000000 --- a/rtree-c/test/expected/struct/reduction/r111110.c +++ /dev/null @@ -1,13 +0,0 @@ -// 1 remove declaration at ("test/cases/small/struct.c": line 1) -// 1 remove initializer at ("test/cases/small/struct.c": line 3) -// 1 remove variable p1 at ("test/cases/small/struct.c": line 3) -// 1 remove declaration at ("test/cases/small/struct.c": line 3) -// 1 remove variable p2 at ("test/cases/small/struct.c": line 6) -// 0 remove declaration at ("test/cases/small/struct.c": line 6) - -int main() -{ - struct point { - int x; int y; - }; -} diff --git a/rtree-c/test/expected/struct/reduction/r111111.c b/rtree-c/test/expected/struct/reduction/r111111.c deleted file mode 100644 index fc01730..0000000 --- a/rtree-c/test/expected/struct/reduction/r111111.c +++ /dev/null @@ -1,10 +0,0 @@ -// 1 remove declaration at ("test/cases/small/struct.c": line 1) -// 1 remove initializer at ("test/cases/small/struct.c": line 3) -// 1 remove variable p1 at ("test/cases/small/struct.c": line 3) -// 1 remove declaration at ("test/cases/small/struct.c": line 3) -// 1 remove variable p2 at ("test/cases/small/struct.c": line 6) -// 1 remove declaration at ("test/cases/small/struct.c": line 6) - -int main() -{ -} diff --git a/rtree-c/test/expected/structfn/main.c b/rtree-c/test/expected/structfn/main.c index 0f9a21f..2b7618c 100644 --- a/rtree-c/test/expected/structfn/main.c +++ b/rtree-c/test/expected/structfn/main.c @@ -1,9 +1,9 @@ struct S0 { }; -struct S0 g0 = { }; void fn(struct S0 a) { } int main() { + struct S0 g0 = { }; fn(g0); } diff --git a/rtree-c/test/expected/structfn/reduction/r000000.c b/rtree-c/test/expected/structfn/reduction/r0000000.c similarity index 69% rename from rtree-c/test/expected/structfn/reduction/r000000.c rename to rtree-c/test/expected/structfn/reduction/r0000000.c index 4818fbf..3e57168 100644 --- a/rtree-c/test/expected/structfn/reduction/r000000.c +++ b/rtree-c/test/expected/structfn/reduction/r0000000.c @@ -1,16 +1,17 @@ // 0 remove declaration at ("test/cases/small/structfn.c": line 1) -// 0 remove initializer at ("test/cases/small/structfn.c": line 2) -// 0 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 0 remove function fn at ("test/cases/small/structfn.c": line 3) -// 0 remove parameter at ("test/cases/small/structfn.c": line 3) -// 0 remove expr statement at ("test/cases/small/structfn.c": line 4) +// 0 remove function fn at ("test/cases/small/structfn.c": line 2) +// 0 remove parameter at ("test/cases/small/structfn.c": line 2) +// 0 remove empty compound at ("test/cases/small/structfn.c": line 2) +// 0 remove initializer at ("test/cases/small/structfn.c": line 4) +// 0 remove variable g0 at ("test/cases/small/structfn.c": line 4) +// 0 remove expr statement at ("test/cases/small/structfn.c": line 5) struct S0 { }; -struct S0 g0 = { }; void fn(struct S0 a) { } int main() { + struct S0 g0 = { }; fn(g0); } diff --git a/rtree-c/test/expected/structfn/reduction/r0000000.c.hs b/rtree-c/test/expected/structfn/reduction/r0000000.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r0000000.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r000001.c b/rtree-c/test/expected/structfn/reduction/r0000001.c similarity index 69% rename from rtree-c/test/expected/structfn/reduction/r000001.c rename to rtree-c/test/expected/structfn/reduction/r0000001.c index 7b0dc93..981450d 100644 --- a/rtree-c/test/expected/structfn/reduction/r000001.c +++ b/rtree-c/test/expected/structfn/reduction/r0000001.c @@ -1,15 +1,16 @@ // 0 remove declaration at ("test/cases/small/structfn.c": line 1) -// 0 remove initializer at ("test/cases/small/structfn.c": line 2) -// 0 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 0 remove function fn at ("test/cases/small/structfn.c": line 3) -// 0 remove parameter at ("test/cases/small/structfn.c": line 3) -// 1 remove expr statement at ("test/cases/small/structfn.c": line 4) +// 0 remove function fn at ("test/cases/small/structfn.c": line 2) +// 0 remove parameter at ("test/cases/small/structfn.c": line 2) +// 0 remove empty compound at ("test/cases/small/structfn.c": line 2) +// 0 remove initializer at ("test/cases/small/structfn.c": line 4) +// 0 remove variable g0 at ("test/cases/small/structfn.c": line 4) +// 1 remove expr statement at ("test/cases/small/structfn.c": line 5) struct S0 { }; -struct S0 g0 = { }; void fn(struct S0 a) { } int main() { + struct S0 g0 = { }; } diff --git a/rtree-c/test/expected/structfn/reduction/r0000001.c.hs b/rtree-c/test/expected/structfn/reduction/r0000001.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r0000001.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r101000.c b/rtree-c/test/expected/structfn/reduction/r0000010.c similarity index 60% rename from rtree-c/test/expected/structfn/reduction/r101000.c rename to rtree-c/test/expected/structfn/reduction/r0000010.c index 40e99c0..6512413 100644 --- a/rtree-c/test/expected/structfn/reduction/r101000.c +++ b/rtree-c/test/expected/structfn/reduction/r0000010.c @@ -1,9 +1,10 @@ -// 1 remove declaration at ("test/cases/small/structfn.c": line 1) -// 0 remove initializer at ("test/cases/small/structfn.c": line 2) -// 1 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 0 remove declaration at ("test/cases/small/structfn.c": line 2) -// 0 remove function fn at ("test/cases/small/structfn.c": line 3) -// 0 remove parameter at ("test/cases/small/structfn.c": line 3) +// 0 remove declaration at ("test/cases/small/structfn.c": line 1) +// 0 remove function fn at ("test/cases/small/structfn.c": line 2) +// 0 remove parameter at ("test/cases/small/structfn.c": line 2) +// 0 remove empty compound at ("test/cases/small/structfn.c": line 2) +// 0 remove initializer at ("test/cases/small/structfn.c": line 4) +// 1 remove variable g0 at ("test/cases/small/structfn.c": line 4) +// 0 remove empty compound at ("test/cases/small/structfn.c": line 3) struct S0 { }; void fn(struct S0 a) diff --git a/rtree-c/test/expected/structfn/reduction/r0000010.c.hs b/rtree-c/test/expected/structfn/reduction/r0000010.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r0000010.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r00100.c b/rtree-c/test/expected/structfn/reduction/r0000011.c similarity index 60% rename from rtree-c/test/expected/structfn/reduction/r00100.c rename to rtree-c/test/expected/structfn/reduction/r0000011.c index 6645ae0..a85e07f 100644 --- a/rtree-c/test/expected/structfn/reduction/r00100.c +++ b/rtree-c/test/expected/structfn/reduction/r0000011.c @@ -1,8 +1,10 @@ // 0 remove declaration at ("test/cases/small/structfn.c": line 1) -// 0 remove initializer at ("test/cases/small/structfn.c": line 2) -// 1 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 0 remove function fn at ("test/cases/small/structfn.c": line 3) -// 0 remove parameter at ("test/cases/small/structfn.c": line 3) +// 0 remove function fn at ("test/cases/small/structfn.c": line 2) +// 0 remove parameter at ("test/cases/small/structfn.c": line 2) +// 0 remove empty compound at ("test/cases/small/structfn.c": line 2) +// 0 remove initializer at ("test/cases/small/structfn.c": line 4) +// 1 remove variable g0 at ("test/cases/small/structfn.c": line 4) +// 1 remove empty compound at ("test/cases/small/structfn.c": line 3) struct S0 { }; void fn(struct S0 a) diff --git a/rtree-c/test/expected/structfn/reduction/r0000011.c.hs b/rtree-c/test/expected/structfn/reduction/r0000011.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r0000011.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r110000.c b/rtree-c/test/expected/structfn/reduction/r0000100.c similarity index 56% rename from rtree-c/test/expected/structfn/reduction/r110000.c rename to rtree-c/test/expected/structfn/reduction/r0000100.c index 08082c8..22e31a3 100644 --- a/rtree-c/test/expected/structfn/reduction/r110000.c +++ b/rtree-c/test/expected/structfn/reduction/r0000100.c @@ -1,15 +1,17 @@ -// 1 remove declaration at ("test/cases/small/structfn.c": line 1) -// 1 remove initializer at ("test/cases/small/structfn.c": line 2) -// 0 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 0 remove function fn at ("test/cases/small/structfn.c": line 3) -// 0 remove parameter at ("test/cases/small/structfn.c": line 3) -// 0 remove expr statement at ("test/cases/small/structfn.c": line 4) +// 0 remove declaration at ("test/cases/small/structfn.c": line 1) +// 0 remove function fn at ("test/cases/small/structfn.c": line 2) +// 0 remove parameter at ("test/cases/small/structfn.c": line 2) +// 0 remove empty compound at ("test/cases/small/structfn.c": line 2) +// 1 remove initializer at ("test/cases/small/structfn.c": line 4) +// 0 remove variable g0 at ("test/cases/small/structfn.c": line 4) +// 0 remove expr statement at ("test/cases/small/structfn.c": line 5) -struct S0 { } g0; +struct S0 { }; void fn(struct S0 a) { } int main() { + struct S0 g0; fn(g0); } diff --git a/rtree-c/test/expected/structfn/reduction/r0000100.c.hs b/rtree-c/test/expected/structfn/reduction/r0000100.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r0000100.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r110001.c b/rtree-c/test/expected/structfn/reduction/r0000101.c similarity index 55% rename from rtree-c/test/expected/structfn/reduction/r110001.c rename to rtree-c/test/expected/structfn/reduction/r0000101.c index 755f0aa..e899a6f 100644 --- a/rtree-c/test/expected/structfn/reduction/r110001.c +++ b/rtree-c/test/expected/structfn/reduction/r0000101.c @@ -1,14 +1,16 @@ -// 1 remove declaration at ("test/cases/small/structfn.c": line 1) -// 1 remove initializer at ("test/cases/small/structfn.c": line 2) -// 0 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 0 remove function fn at ("test/cases/small/structfn.c": line 3) -// 0 remove parameter at ("test/cases/small/structfn.c": line 3) -// 1 remove expr statement at ("test/cases/small/structfn.c": line 4) +// 0 remove declaration at ("test/cases/small/structfn.c": line 1) +// 0 remove function fn at ("test/cases/small/structfn.c": line 2) +// 0 remove parameter at ("test/cases/small/structfn.c": line 2) +// 0 remove empty compound at ("test/cases/small/structfn.c": line 2) +// 1 remove initializer at ("test/cases/small/structfn.c": line 4) +// 0 remove variable g0 at ("test/cases/small/structfn.c": line 4) +// 1 remove expr statement at ("test/cases/small/structfn.c": line 5) -struct S0 { } g0; +struct S0 { }; void fn(struct S0 a) { } int main() { + struct S0 g0; } diff --git a/rtree-c/test/expected/structfn/reduction/r0000101.c.hs b/rtree-c/test/expected/structfn/reduction/r0000101.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r0000101.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r01100.c b/rtree-c/test/expected/structfn/reduction/r0000110.c similarity index 60% rename from rtree-c/test/expected/structfn/reduction/r01100.c rename to rtree-c/test/expected/structfn/reduction/r0000110.c index 9b4032a..4ea2822 100644 --- a/rtree-c/test/expected/structfn/reduction/r01100.c +++ b/rtree-c/test/expected/structfn/reduction/r0000110.c @@ -1,8 +1,10 @@ // 0 remove declaration at ("test/cases/small/structfn.c": line 1) -// 1 remove initializer at ("test/cases/small/structfn.c": line 2) -// 1 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 0 remove function fn at ("test/cases/small/structfn.c": line 3) -// 0 remove parameter at ("test/cases/small/structfn.c": line 3) +// 0 remove function fn at ("test/cases/small/structfn.c": line 2) +// 0 remove parameter at ("test/cases/small/structfn.c": line 2) +// 0 remove empty compound at ("test/cases/small/structfn.c": line 2) +// 1 remove initializer at ("test/cases/small/structfn.c": line 4) +// 1 remove variable g0 at ("test/cases/small/structfn.c": line 4) +// 0 remove empty compound at ("test/cases/small/structfn.c": line 3) struct S0 { }; void fn(struct S0 a) diff --git a/rtree-c/test/expected/structfn/reduction/r0000110.c.hs b/rtree-c/test/expected/structfn/reduction/r0000110.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r0000110.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r111000.c b/rtree-c/test/expected/structfn/reduction/r0000111.c similarity index 60% rename from rtree-c/test/expected/structfn/reduction/r111000.c rename to rtree-c/test/expected/structfn/reduction/r0000111.c index 1f65dcd..1bc7b92 100644 --- a/rtree-c/test/expected/structfn/reduction/r111000.c +++ b/rtree-c/test/expected/structfn/reduction/r0000111.c @@ -1,9 +1,10 @@ -// 1 remove declaration at ("test/cases/small/structfn.c": line 1) -// 1 remove initializer at ("test/cases/small/structfn.c": line 2) -// 1 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 0 remove declaration at ("test/cases/small/structfn.c": line 2) -// 0 remove function fn at ("test/cases/small/structfn.c": line 3) -// 0 remove parameter at ("test/cases/small/structfn.c": line 3) +// 0 remove declaration at ("test/cases/small/structfn.c": line 1) +// 0 remove function fn at ("test/cases/small/structfn.c": line 2) +// 0 remove parameter at ("test/cases/small/structfn.c": line 2) +// 0 remove empty compound at ("test/cases/small/structfn.c": line 2) +// 1 remove initializer at ("test/cases/small/structfn.c": line 4) +// 1 remove variable g0 at ("test/cases/small/structfn.c": line 4) +// 1 remove empty compound at ("test/cases/small/structfn.c": line 3) struct S0 { }; void fn(struct S0 a) diff --git a/rtree-c/test/expected/structfn/reduction/r0000111.c.hs b/rtree-c/test/expected/structfn/reduction/r0000111.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r0000111.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r000100.c b/rtree-c/test/expected/structfn/reduction/r000100.c deleted file mode 100644 index 8bd0f08..0000000 --- a/rtree-c/test/expected/structfn/reduction/r000100.c +++ /dev/null @@ -1,13 +0,0 @@ -// 0 remove declaration at ("test/cases/small/structfn.c": line 1) -// 0 remove initializer at ("test/cases/small/structfn.c": line 2) -// 0 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 1 remove function fn at ("test/cases/small/structfn.c": line 3) -// 0 remove expr statement at ("test/cases/small/structfn.c": line 4) -// 0 do without param at ("test/cases/small/structfn.c": line 4) - -struct S0 { }; -struct S0 g0 = { }; -int main() -{ - g0; -} diff --git a/rtree-c/test/expected/structfn/reduction/r100000.c b/rtree-c/test/expected/structfn/reduction/r0001000.c similarity index 55% rename from rtree-c/test/expected/structfn/reduction/r100000.c rename to rtree-c/test/expected/structfn/reduction/r0001000.c index bc6043b..db57c41 100644 --- a/rtree-c/test/expected/structfn/reduction/r100000.c +++ b/rtree-c/test/expected/structfn/reduction/r0001000.c @@ -1,15 +1,17 @@ -// 1 remove declaration at ("test/cases/small/structfn.c": line 1) -// 0 remove initializer at ("test/cases/small/structfn.c": line 2) -// 0 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 0 remove function fn at ("test/cases/small/structfn.c": line 3) -// 0 remove parameter at ("test/cases/small/structfn.c": line 3) -// 0 remove expr statement at ("test/cases/small/structfn.c": line 4) +// 0 remove declaration at ("test/cases/small/structfn.c": line 1) +// 0 remove function fn at ("test/cases/small/structfn.c": line 2) +// 0 remove parameter at ("test/cases/small/structfn.c": line 2) +// 1 remove empty compound at ("test/cases/small/structfn.c": line 2) +// 0 remove initializer at ("test/cases/small/structfn.c": line 4) +// 0 remove variable g0 at ("test/cases/small/structfn.c": line 4) +// 0 remove expr statement at ("test/cases/small/structfn.c": line 5) -struct S0 { } g0 = { }; +struct S0 { }; void fn(struct S0 a) { } int main() { + struct S0 g0 = { }; fn(g0); } diff --git a/rtree-c/test/expected/structfn/reduction/r0001000.c.hs b/rtree-c/test/expected/structfn/reduction/r0001000.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r0001000.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r100001.c b/rtree-c/test/expected/structfn/reduction/r0001001.c similarity index 54% rename from rtree-c/test/expected/structfn/reduction/r100001.c rename to rtree-c/test/expected/structfn/reduction/r0001001.c index 77e6f7f..01374e1 100644 --- a/rtree-c/test/expected/structfn/reduction/r100001.c +++ b/rtree-c/test/expected/structfn/reduction/r0001001.c @@ -1,14 +1,16 @@ -// 1 remove declaration at ("test/cases/small/structfn.c": line 1) -// 0 remove initializer at ("test/cases/small/structfn.c": line 2) -// 0 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 0 remove function fn at ("test/cases/small/structfn.c": line 3) -// 0 remove parameter at ("test/cases/small/structfn.c": line 3) -// 1 remove expr statement at ("test/cases/small/structfn.c": line 4) +// 0 remove declaration at ("test/cases/small/structfn.c": line 1) +// 0 remove function fn at ("test/cases/small/structfn.c": line 2) +// 0 remove parameter at ("test/cases/small/structfn.c": line 2) +// 1 remove empty compound at ("test/cases/small/structfn.c": line 2) +// 0 remove initializer at ("test/cases/small/structfn.c": line 4) +// 0 remove variable g0 at ("test/cases/small/structfn.c": line 4) +// 1 remove expr statement at ("test/cases/small/structfn.c": line 5) -struct S0 { } g0 = { }; +struct S0 { }; void fn(struct S0 a) { } int main() { + struct S0 g0 = { }; } diff --git a/rtree-c/test/expected/structfn/reduction/r0001001.c.hs b/rtree-c/test/expected/structfn/reduction/r0001001.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r0001001.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r000101.c b/rtree-c/test/expected/structfn/reduction/r000101.c deleted file mode 100644 index 751fd99..0000000 --- a/rtree-c/test/expected/structfn/reduction/r000101.c +++ /dev/null @@ -1,13 +0,0 @@ -// 0 remove declaration at ("test/cases/small/structfn.c": line 1) -// 0 remove initializer at ("test/cases/small/structfn.c": line 2) -// 0 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 1 remove function fn at ("test/cases/small/structfn.c": line 3) -// 0 remove expr statement at ("test/cases/small/structfn.c": line 4) -// 1 do without param at ("test/cases/small/structfn.c": line 4) - -struct S0 { }; -struct S0 g0 = { }; -int main() -{ - 0; -} diff --git a/rtree-c/test/expected/structfn/reduction/r0001010.c b/rtree-c/test/expected/structfn/reduction/r0001010.c new file mode 100644 index 0000000..7c5dfc5 --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r0001010.c @@ -0,0 +1,15 @@ +// 0 remove declaration at ("test/cases/small/structfn.c": line 1) +// 0 remove function fn at ("test/cases/small/structfn.c": line 2) +// 0 remove parameter at ("test/cases/small/structfn.c": line 2) +// 1 remove empty compound at ("test/cases/small/structfn.c": line 2) +// 0 remove initializer at ("test/cases/small/structfn.c": line 4) +// 1 remove variable g0 at ("test/cases/small/structfn.c": line 4) +// 0 remove empty compound at ("test/cases/small/structfn.c": line 3) + +struct S0 { }; +void fn(struct S0 a) +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/structfn/reduction/r0001010.c.hs b/rtree-c/test/expected/structfn/reduction/r0001010.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r0001010.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r0001011.c b/rtree-c/test/expected/structfn/reduction/r0001011.c new file mode 100644 index 0000000..4d85154 --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r0001011.c @@ -0,0 +1,15 @@ +// 0 remove declaration at ("test/cases/small/structfn.c": line 1) +// 0 remove function fn at ("test/cases/small/structfn.c": line 2) +// 0 remove parameter at ("test/cases/small/structfn.c": line 2) +// 1 remove empty compound at ("test/cases/small/structfn.c": line 2) +// 0 remove initializer at ("test/cases/small/structfn.c": line 4) +// 1 remove variable g0 at ("test/cases/small/structfn.c": line 4) +// 1 remove empty compound at ("test/cases/small/structfn.c": line 3) + +struct S0 { }; +void fn(struct S0 a) +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/structfn/reduction/r0001011.c.hs b/rtree-c/test/expected/structfn/reduction/r0001011.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r0001011.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r0001100.c b/rtree-c/test/expected/structfn/reduction/r0001100.c new file mode 100644 index 0000000..a03b049 --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r0001100.c @@ -0,0 +1,17 @@ +// 0 remove declaration at ("test/cases/small/structfn.c": line 1) +// 0 remove function fn at ("test/cases/small/structfn.c": line 2) +// 0 remove parameter at ("test/cases/small/structfn.c": line 2) +// 1 remove empty compound at ("test/cases/small/structfn.c": line 2) +// 1 remove initializer at ("test/cases/small/structfn.c": line 4) +// 0 remove variable g0 at ("test/cases/small/structfn.c": line 4) +// 0 remove expr statement at ("test/cases/small/structfn.c": line 5) + +struct S0 { }; +void fn(struct S0 a) +{ +} +int main() +{ + struct S0 g0; + fn(g0); +} diff --git a/rtree-c/test/expected/structfn/reduction/r0001100.c.hs b/rtree-c/test/expected/structfn/reduction/r0001100.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r0001100.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r0001101.c b/rtree-c/test/expected/structfn/reduction/r0001101.c new file mode 100644 index 0000000..4f707f5 --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r0001101.c @@ -0,0 +1,16 @@ +// 0 remove declaration at ("test/cases/small/structfn.c": line 1) +// 0 remove function fn at ("test/cases/small/structfn.c": line 2) +// 0 remove parameter at ("test/cases/small/structfn.c": line 2) +// 1 remove empty compound at ("test/cases/small/structfn.c": line 2) +// 1 remove initializer at ("test/cases/small/structfn.c": line 4) +// 0 remove variable g0 at ("test/cases/small/structfn.c": line 4) +// 1 remove expr statement at ("test/cases/small/structfn.c": line 5) + +struct S0 { }; +void fn(struct S0 a) +{ +} +int main() +{ + struct S0 g0; +} diff --git a/rtree-c/test/expected/structfn/reduction/r0001101.c.hs b/rtree-c/test/expected/structfn/reduction/r0001101.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r0001101.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r0001110.c b/rtree-c/test/expected/structfn/reduction/r0001110.c new file mode 100644 index 0000000..3bdc2c1 --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r0001110.c @@ -0,0 +1,15 @@ +// 0 remove declaration at ("test/cases/small/structfn.c": line 1) +// 0 remove function fn at ("test/cases/small/structfn.c": line 2) +// 0 remove parameter at ("test/cases/small/structfn.c": line 2) +// 1 remove empty compound at ("test/cases/small/structfn.c": line 2) +// 1 remove initializer at ("test/cases/small/structfn.c": line 4) +// 1 remove variable g0 at ("test/cases/small/structfn.c": line 4) +// 0 remove empty compound at ("test/cases/small/structfn.c": line 3) + +struct S0 { }; +void fn(struct S0 a) +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/structfn/reduction/r0001110.c.hs b/rtree-c/test/expected/structfn/reduction/r0001110.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r0001110.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r0001111.c b/rtree-c/test/expected/structfn/reduction/r0001111.c new file mode 100644 index 0000000..8cc4ada --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r0001111.c @@ -0,0 +1,15 @@ +// 0 remove declaration at ("test/cases/small/structfn.c": line 1) +// 0 remove function fn at ("test/cases/small/structfn.c": line 2) +// 0 remove parameter at ("test/cases/small/structfn.c": line 2) +// 1 remove empty compound at ("test/cases/small/structfn.c": line 2) +// 1 remove initializer at ("test/cases/small/structfn.c": line 4) +// 1 remove variable g0 at ("test/cases/small/structfn.c": line 4) +// 1 remove empty compound at ("test/cases/small/structfn.c": line 3) + +struct S0 { }; +void fn(struct S0 a) +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/structfn/reduction/r0001111.c.hs b/rtree-c/test/expected/structfn/reduction/r0001111.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r0001111.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r000010.c b/rtree-c/test/expected/structfn/reduction/r0010000.c similarity index 69% rename from rtree-c/test/expected/structfn/reduction/r000010.c rename to rtree-c/test/expected/structfn/reduction/r0010000.c index 0378baf..a13f5c0 100644 --- a/rtree-c/test/expected/structfn/reduction/r000010.c +++ b/rtree-c/test/expected/structfn/reduction/r0010000.c @@ -1,16 +1,17 @@ // 0 remove declaration at ("test/cases/small/structfn.c": line 1) -// 0 remove initializer at ("test/cases/small/structfn.c": line 2) -// 0 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 0 remove function fn at ("test/cases/small/structfn.c": line 3) -// 1 remove parameter at ("test/cases/small/structfn.c": line 3) -// 0 remove expr statement at ("test/cases/small/structfn.c": line 4) +// 0 remove function fn at ("test/cases/small/structfn.c": line 2) +// 1 remove parameter at ("test/cases/small/structfn.c": line 2) +// 0 remove empty compound at ("test/cases/small/structfn.c": line 2) +// 0 remove initializer at ("test/cases/small/structfn.c": line 4) +// 0 remove variable g0 at ("test/cases/small/structfn.c": line 4) +// 0 remove expr statement at ("test/cases/small/structfn.c": line 5) struct S0 { }; -struct S0 g0 = { }; void fn() { } int main() { + struct S0 g0 = { }; fn(); } diff --git a/rtree-c/test/expected/structfn/reduction/r0010000.c.hs b/rtree-c/test/expected/structfn/reduction/r0010000.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r0010000.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r000011.c b/rtree-c/test/expected/structfn/reduction/r0010001.c similarity index 68% rename from rtree-c/test/expected/structfn/reduction/r000011.c rename to rtree-c/test/expected/structfn/reduction/r0010001.c index 99337bb..a2b7112 100644 --- a/rtree-c/test/expected/structfn/reduction/r000011.c +++ b/rtree-c/test/expected/structfn/reduction/r0010001.c @@ -1,15 +1,16 @@ // 0 remove declaration at ("test/cases/small/structfn.c": line 1) -// 0 remove initializer at ("test/cases/small/structfn.c": line 2) -// 0 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 0 remove function fn at ("test/cases/small/structfn.c": line 3) -// 1 remove parameter at ("test/cases/small/structfn.c": line 3) -// 1 remove expr statement at ("test/cases/small/structfn.c": line 4) +// 0 remove function fn at ("test/cases/small/structfn.c": line 2) +// 1 remove parameter at ("test/cases/small/structfn.c": line 2) +// 0 remove empty compound at ("test/cases/small/structfn.c": line 2) +// 0 remove initializer at ("test/cases/small/structfn.c": line 4) +// 0 remove variable g0 at ("test/cases/small/structfn.c": line 4) +// 1 remove expr statement at ("test/cases/small/structfn.c": line 5) struct S0 { }; -struct S0 g0 = { }; void fn() { } int main() { + struct S0 g0 = { }; } diff --git a/rtree-c/test/expected/structfn/reduction/r0010001.c.hs b/rtree-c/test/expected/structfn/reduction/r0010001.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r0010001.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r1010010.c b/rtree-c/test/expected/structfn/reduction/r0010010.c similarity index 72% rename from rtree-c/test/expected/structfn/reduction/r1010010.c rename to rtree-c/test/expected/structfn/reduction/r0010010.c index d60649a..90f48fd 100644 --- a/rtree-c/test/expected/structfn/reduction/r1010010.c +++ b/rtree-c/test/expected/structfn/reduction/r0010010.c @@ -1,10 +1,10 @@ -// 1 remove declaration at ("test/cases/small/structfn.c": line 1) -// 0 remove initializer at ("test/cases/small/structfn.c": line 2) -// 1 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 0 remove declaration at ("test/cases/small/structfn.c": line 2) -// 0 remove function fn at ("test/cases/small/structfn.c": line 3) -// 1 remove parameter at ("test/cases/small/structfn.c": line 3) -// 0 remove expr statement at ("test/cases/small/structfn.c": line 4) +// 0 remove declaration at ("test/cases/small/structfn.c": line 1) +// 0 remove function fn at ("test/cases/small/structfn.c": line 2) +// 1 remove parameter at ("test/cases/small/structfn.c": line 2) +// 0 remove empty compound at ("test/cases/small/structfn.c": line 2) +// 0 remove initializer at ("test/cases/small/structfn.c": line 4) +// 1 remove variable g0 at ("test/cases/small/structfn.c": line 4) +// 0 remove expr statement at ("test/cases/small/structfn.c": line 5) struct S0 { }; void fn() diff --git a/rtree-c/test/expected/structfn/reduction/r0010010.c.hs b/rtree-c/test/expected/structfn/reduction/r0010010.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r0010010.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r001011.c b/rtree-c/test/expected/structfn/reduction/r00100110.c similarity index 63% rename from rtree-c/test/expected/structfn/reduction/r001011.c rename to rtree-c/test/expected/structfn/reduction/r00100110.c index e2c2a11..aaa77aa 100644 --- a/rtree-c/test/expected/structfn/reduction/r001011.c +++ b/rtree-c/test/expected/structfn/reduction/r00100110.c @@ -1,9 +1,11 @@ // 0 remove declaration at ("test/cases/small/structfn.c": line 1) -// 0 remove initializer at ("test/cases/small/structfn.c": line 2) -// 1 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 0 remove function fn at ("test/cases/small/structfn.c": line 3) -// 1 remove parameter at ("test/cases/small/structfn.c": line 3) -// 1 remove expr statement at ("test/cases/small/structfn.c": line 4) +// 0 remove function fn at ("test/cases/small/structfn.c": line 2) +// 1 remove parameter at ("test/cases/small/structfn.c": line 2) +// 0 remove empty compound at ("test/cases/small/structfn.c": line 2) +// 0 remove initializer at ("test/cases/small/structfn.c": line 4) +// 1 remove variable g0 at ("test/cases/small/structfn.c": line 4) +// 1 remove expr statement at ("test/cases/small/structfn.c": line 5) +// 0 remove empty compound at ("test/cases/small/structfn.c": line 3) struct S0 { }; void fn() diff --git a/rtree-c/test/expected/structfn/reduction/r00100110.c.hs b/rtree-c/test/expected/structfn/reduction/r00100110.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r00100110.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r1010011.c b/rtree-c/test/expected/structfn/reduction/r00100111.c similarity index 63% rename from rtree-c/test/expected/structfn/reduction/r1010011.c rename to rtree-c/test/expected/structfn/reduction/r00100111.c index f493de8..673794b 100644 --- a/rtree-c/test/expected/structfn/reduction/r1010011.c +++ b/rtree-c/test/expected/structfn/reduction/r00100111.c @@ -1,10 +1,11 @@ -// 1 remove declaration at ("test/cases/small/structfn.c": line 1) -// 0 remove initializer at ("test/cases/small/structfn.c": line 2) -// 1 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 0 remove declaration at ("test/cases/small/structfn.c": line 2) -// 0 remove function fn at ("test/cases/small/structfn.c": line 3) -// 1 remove parameter at ("test/cases/small/structfn.c": line 3) -// 1 remove expr statement at ("test/cases/small/structfn.c": line 4) +// 0 remove declaration at ("test/cases/small/structfn.c": line 1) +// 0 remove function fn at ("test/cases/small/structfn.c": line 2) +// 1 remove parameter at ("test/cases/small/structfn.c": line 2) +// 0 remove empty compound at ("test/cases/small/structfn.c": line 2) +// 0 remove initializer at ("test/cases/small/structfn.c": line 4) +// 1 remove variable g0 at ("test/cases/small/structfn.c": line 4) +// 1 remove expr statement at ("test/cases/small/structfn.c": line 5) +// 1 remove empty compound at ("test/cases/small/structfn.c": line 3) struct S0 { }; void fn() diff --git a/rtree-c/test/expected/structfn/reduction/r00100111.c.hs b/rtree-c/test/expected/structfn/reduction/r00100111.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r00100111.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r010010.c b/rtree-c/test/expected/structfn/reduction/r0010100.c similarity index 69% rename from rtree-c/test/expected/structfn/reduction/r010010.c rename to rtree-c/test/expected/structfn/reduction/r0010100.c index db4ed44..0a0c25b 100644 --- a/rtree-c/test/expected/structfn/reduction/r010010.c +++ b/rtree-c/test/expected/structfn/reduction/r0010100.c @@ -1,16 +1,17 @@ // 0 remove declaration at ("test/cases/small/structfn.c": line 1) -// 1 remove initializer at ("test/cases/small/structfn.c": line 2) -// 0 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 0 remove function fn at ("test/cases/small/structfn.c": line 3) -// 1 remove parameter at ("test/cases/small/structfn.c": line 3) -// 0 remove expr statement at ("test/cases/small/structfn.c": line 4) +// 0 remove function fn at ("test/cases/small/structfn.c": line 2) +// 1 remove parameter at ("test/cases/small/structfn.c": line 2) +// 0 remove empty compound at ("test/cases/small/structfn.c": line 2) +// 1 remove initializer at ("test/cases/small/structfn.c": line 4) +// 0 remove variable g0 at ("test/cases/small/structfn.c": line 4) +// 0 remove expr statement at ("test/cases/small/structfn.c": line 5) struct S0 { }; -struct S0 g0; void fn() { } int main() { + struct S0 g0; fn(); } diff --git a/rtree-c/test/expected/structfn/reduction/r0010100.c.hs b/rtree-c/test/expected/structfn/reduction/r0010100.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r0010100.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r010011.c b/rtree-c/test/expected/structfn/reduction/r0010101.c similarity index 69% rename from rtree-c/test/expected/structfn/reduction/r010011.c rename to rtree-c/test/expected/structfn/reduction/r0010101.c index 4415f22..a318e80 100644 --- a/rtree-c/test/expected/structfn/reduction/r010011.c +++ b/rtree-c/test/expected/structfn/reduction/r0010101.c @@ -1,15 +1,16 @@ // 0 remove declaration at ("test/cases/small/structfn.c": line 1) -// 1 remove initializer at ("test/cases/small/structfn.c": line 2) -// 0 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 0 remove function fn at ("test/cases/small/structfn.c": line 3) -// 1 remove parameter at ("test/cases/small/structfn.c": line 3) -// 1 remove expr statement at ("test/cases/small/structfn.c": line 4) +// 0 remove function fn at ("test/cases/small/structfn.c": line 2) +// 1 remove parameter at ("test/cases/small/structfn.c": line 2) +// 0 remove empty compound at ("test/cases/small/structfn.c": line 2) +// 1 remove initializer at ("test/cases/small/structfn.c": line 4) +// 0 remove variable g0 at ("test/cases/small/structfn.c": line 4) +// 1 remove expr statement at ("test/cases/small/structfn.c": line 5) struct S0 { }; -struct S0 g0; void fn() { } int main() { + struct S0 g0; } diff --git a/rtree-c/test/expected/structfn/reduction/r0010101.c.hs b/rtree-c/test/expected/structfn/reduction/r0010101.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r0010101.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r1110010.c b/rtree-c/test/expected/structfn/reduction/r0010110.c similarity index 72% rename from rtree-c/test/expected/structfn/reduction/r1110010.c rename to rtree-c/test/expected/structfn/reduction/r0010110.c index 4b369e1..9f7a2fd 100644 --- a/rtree-c/test/expected/structfn/reduction/r1110010.c +++ b/rtree-c/test/expected/structfn/reduction/r0010110.c @@ -1,10 +1,10 @@ -// 1 remove declaration at ("test/cases/small/structfn.c": line 1) -// 1 remove initializer at ("test/cases/small/structfn.c": line 2) -// 1 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 0 remove declaration at ("test/cases/small/structfn.c": line 2) -// 0 remove function fn at ("test/cases/small/structfn.c": line 3) -// 1 remove parameter at ("test/cases/small/structfn.c": line 3) -// 0 remove expr statement at ("test/cases/small/structfn.c": line 4) +// 0 remove declaration at ("test/cases/small/structfn.c": line 1) +// 0 remove function fn at ("test/cases/small/structfn.c": line 2) +// 1 remove parameter at ("test/cases/small/structfn.c": line 2) +// 0 remove empty compound at ("test/cases/small/structfn.c": line 2) +// 1 remove initializer at ("test/cases/small/structfn.c": line 4) +// 1 remove variable g0 at ("test/cases/small/structfn.c": line 4) +// 0 remove expr statement at ("test/cases/small/structfn.c": line 5) struct S0 { }; void fn() diff --git a/rtree-c/test/expected/structfn/reduction/r0010110.c.hs b/rtree-c/test/expected/structfn/reduction/r0010110.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r0010110.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r1110011.c b/rtree-c/test/expected/structfn/reduction/r00101110.c similarity index 63% rename from rtree-c/test/expected/structfn/reduction/r1110011.c rename to rtree-c/test/expected/structfn/reduction/r00101110.c index 2c9e59e..a172bc1 100644 --- a/rtree-c/test/expected/structfn/reduction/r1110011.c +++ b/rtree-c/test/expected/structfn/reduction/r00101110.c @@ -1,10 +1,11 @@ -// 1 remove declaration at ("test/cases/small/structfn.c": line 1) -// 1 remove initializer at ("test/cases/small/structfn.c": line 2) -// 1 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 0 remove declaration at ("test/cases/small/structfn.c": line 2) -// 0 remove function fn at ("test/cases/small/structfn.c": line 3) -// 1 remove parameter at ("test/cases/small/structfn.c": line 3) -// 1 remove expr statement at ("test/cases/small/structfn.c": line 4) +// 0 remove declaration at ("test/cases/small/structfn.c": line 1) +// 0 remove function fn at ("test/cases/small/structfn.c": line 2) +// 1 remove parameter at ("test/cases/small/structfn.c": line 2) +// 0 remove empty compound at ("test/cases/small/structfn.c": line 2) +// 1 remove initializer at ("test/cases/small/structfn.c": line 4) +// 1 remove variable g0 at ("test/cases/small/structfn.c": line 4) +// 1 remove expr statement at ("test/cases/small/structfn.c": line 5) +// 0 remove empty compound at ("test/cases/small/structfn.c": line 3) struct S0 { }; void fn() diff --git a/rtree-c/test/expected/structfn/reduction/r00101110.c.hs b/rtree-c/test/expected/structfn/reduction/r00101110.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r00101110.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r011011.c b/rtree-c/test/expected/structfn/reduction/r00101111.c similarity index 63% rename from rtree-c/test/expected/structfn/reduction/r011011.c rename to rtree-c/test/expected/structfn/reduction/r00101111.c index b8288d5..9d1b94d 100644 --- a/rtree-c/test/expected/structfn/reduction/r011011.c +++ b/rtree-c/test/expected/structfn/reduction/r00101111.c @@ -1,9 +1,11 @@ // 0 remove declaration at ("test/cases/small/structfn.c": line 1) -// 1 remove initializer at ("test/cases/small/structfn.c": line 2) -// 1 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 0 remove function fn at ("test/cases/small/structfn.c": line 3) -// 1 remove parameter at ("test/cases/small/structfn.c": line 3) -// 1 remove expr statement at ("test/cases/small/structfn.c": line 4) +// 0 remove function fn at ("test/cases/small/structfn.c": line 2) +// 1 remove parameter at ("test/cases/small/structfn.c": line 2) +// 0 remove empty compound at ("test/cases/small/structfn.c": line 2) +// 1 remove initializer at ("test/cases/small/structfn.c": line 4) +// 1 remove variable g0 at ("test/cases/small/structfn.c": line 4) +// 1 remove expr statement at ("test/cases/small/structfn.c": line 5) +// 1 remove empty compound at ("test/cases/small/structfn.c": line 3) struct S0 { }; void fn() diff --git a/rtree-c/test/expected/structfn/reduction/r00101111.c.hs b/rtree-c/test/expected/structfn/reduction/r00101111.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r00101111.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r0011000.c b/rtree-c/test/expected/structfn/reduction/r0011000.c new file mode 100644 index 0000000..3d8d1ea --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r0011000.c @@ -0,0 +1,17 @@ +// 0 remove declaration at ("test/cases/small/structfn.c": line 1) +// 0 remove function fn at ("test/cases/small/structfn.c": line 2) +// 1 remove parameter at ("test/cases/small/structfn.c": line 2) +// 1 remove empty compound at ("test/cases/small/structfn.c": line 2) +// 0 remove initializer at ("test/cases/small/structfn.c": line 4) +// 0 remove variable g0 at ("test/cases/small/structfn.c": line 4) +// 0 remove expr statement at ("test/cases/small/structfn.c": line 5) + +struct S0 { }; +void fn() +{ +} +int main() +{ + struct S0 g0 = { }; + fn(); +} diff --git a/rtree-c/test/expected/structfn/reduction/r0011000.c.hs b/rtree-c/test/expected/structfn/reduction/r0011000.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r0011000.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r0011001.c b/rtree-c/test/expected/structfn/reduction/r0011001.c new file mode 100644 index 0000000..27a50c2 --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r0011001.c @@ -0,0 +1,16 @@ +// 0 remove declaration at ("test/cases/small/structfn.c": line 1) +// 0 remove function fn at ("test/cases/small/structfn.c": line 2) +// 1 remove parameter at ("test/cases/small/structfn.c": line 2) +// 1 remove empty compound at ("test/cases/small/structfn.c": line 2) +// 0 remove initializer at ("test/cases/small/structfn.c": line 4) +// 0 remove variable g0 at ("test/cases/small/structfn.c": line 4) +// 1 remove expr statement at ("test/cases/small/structfn.c": line 5) + +struct S0 { }; +void fn() +{ +} +int main() +{ + struct S0 g0 = { }; +} diff --git a/rtree-c/test/expected/structfn/reduction/r0011001.c.hs b/rtree-c/test/expected/structfn/reduction/r0011001.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r0011001.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r001010.c b/rtree-c/test/expected/structfn/reduction/r0011010.c similarity index 72% rename from rtree-c/test/expected/structfn/reduction/r001010.c rename to rtree-c/test/expected/structfn/reduction/r0011010.c index fdbf7cf..78433e4 100644 --- a/rtree-c/test/expected/structfn/reduction/r001010.c +++ b/rtree-c/test/expected/structfn/reduction/r0011010.c @@ -1,9 +1,10 @@ // 0 remove declaration at ("test/cases/small/structfn.c": line 1) -// 0 remove initializer at ("test/cases/small/structfn.c": line 2) -// 1 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 0 remove function fn at ("test/cases/small/structfn.c": line 3) -// 1 remove parameter at ("test/cases/small/structfn.c": line 3) -// 0 remove expr statement at ("test/cases/small/structfn.c": line 4) +// 0 remove function fn at ("test/cases/small/structfn.c": line 2) +// 1 remove parameter at ("test/cases/small/structfn.c": line 2) +// 1 remove empty compound at ("test/cases/small/structfn.c": line 2) +// 0 remove initializer at ("test/cases/small/structfn.c": line 4) +// 1 remove variable g0 at ("test/cases/small/structfn.c": line 4) +// 0 remove expr statement at ("test/cases/small/structfn.c": line 5) struct S0 { }; void fn() diff --git a/rtree-c/test/expected/structfn/reduction/r0011010.c.hs b/rtree-c/test/expected/structfn/reduction/r0011010.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r0011010.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r00110110.c b/rtree-c/test/expected/structfn/reduction/r00110110.c new file mode 100644 index 0000000..f9d37d5 --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r00110110.c @@ -0,0 +1,16 @@ +// 0 remove declaration at ("test/cases/small/structfn.c": line 1) +// 0 remove function fn at ("test/cases/small/structfn.c": line 2) +// 1 remove parameter at ("test/cases/small/structfn.c": line 2) +// 1 remove empty compound at ("test/cases/small/structfn.c": line 2) +// 0 remove initializer at ("test/cases/small/structfn.c": line 4) +// 1 remove variable g0 at ("test/cases/small/structfn.c": line 4) +// 1 remove expr statement at ("test/cases/small/structfn.c": line 5) +// 0 remove empty compound at ("test/cases/small/structfn.c": line 3) + +struct S0 { }; +void fn() +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/structfn/reduction/r00110110.c.hs b/rtree-c/test/expected/structfn/reduction/r00110110.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r00110110.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r00110111.c b/rtree-c/test/expected/structfn/reduction/r00110111.c new file mode 100644 index 0000000..880e516 --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r00110111.c @@ -0,0 +1,16 @@ +// 0 remove declaration at ("test/cases/small/structfn.c": line 1) +// 0 remove function fn at ("test/cases/small/structfn.c": line 2) +// 1 remove parameter at ("test/cases/small/structfn.c": line 2) +// 1 remove empty compound at ("test/cases/small/structfn.c": line 2) +// 0 remove initializer at ("test/cases/small/structfn.c": line 4) +// 1 remove variable g0 at ("test/cases/small/structfn.c": line 4) +// 1 remove expr statement at ("test/cases/small/structfn.c": line 5) +// 1 remove empty compound at ("test/cases/small/structfn.c": line 3) + +struct S0 { }; +void fn() +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/structfn/reduction/r00110111.c.hs b/rtree-c/test/expected/structfn/reduction/r00110111.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r00110111.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r0011100.c b/rtree-c/test/expected/structfn/reduction/r0011100.c new file mode 100644 index 0000000..6e7740e --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r0011100.c @@ -0,0 +1,17 @@ +// 0 remove declaration at ("test/cases/small/structfn.c": line 1) +// 0 remove function fn at ("test/cases/small/structfn.c": line 2) +// 1 remove parameter at ("test/cases/small/structfn.c": line 2) +// 1 remove empty compound at ("test/cases/small/structfn.c": line 2) +// 1 remove initializer at ("test/cases/small/structfn.c": line 4) +// 0 remove variable g0 at ("test/cases/small/structfn.c": line 4) +// 0 remove expr statement at ("test/cases/small/structfn.c": line 5) + +struct S0 { }; +void fn() +{ +} +int main() +{ + struct S0 g0; + fn(); +} diff --git a/rtree-c/test/expected/structfn/reduction/r0011100.c.hs b/rtree-c/test/expected/structfn/reduction/r0011100.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r0011100.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r0011101.c b/rtree-c/test/expected/structfn/reduction/r0011101.c new file mode 100644 index 0000000..d0f5fda --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r0011101.c @@ -0,0 +1,16 @@ +// 0 remove declaration at ("test/cases/small/structfn.c": line 1) +// 0 remove function fn at ("test/cases/small/structfn.c": line 2) +// 1 remove parameter at ("test/cases/small/structfn.c": line 2) +// 1 remove empty compound at ("test/cases/small/structfn.c": line 2) +// 1 remove initializer at ("test/cases/small/structfn.c": line 4) +// 0 remove variable g0 at ("test/cases/small/structfn.c": line 4) +// 1 remove expr statement at ("test/cases/small/structfn.c": line 5) + +struct S0 { }; +void fn() +{ +} +int main() +{ + struct S0 g0; +} diff --git a/rtree-c/test/expected/structfn/reduction/r0011101.c.hs b/rtree-c/test/expected/structfn/reduction/r0011101.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r0011101.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r011010.c b/rtree-c/test/expected/structfn/reduction/r0011110.c similarity index 72% rename from rtree-c/test/expected/structfn/reduction/r011010.c rename to rtree-c/test/expected/structfn/reduction/r0011110.c index c72c3e4..cb725e1 100644 --- a/rtree-c/test/expected/structfn/reduction/r011010.c +++ b/rtree-c/test/expected/structfn/reduction/r0011110.c @@ -1,9 +1,10 @@ // 0 remove declaration at ("test/cases/small/structfn.c": line 1) -// 1 remove initializer at ("test/cases/small/structfn.c": line 2) -// 1 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 0 remove function fn at ("test/cases/small/structfn.c": line 3) -// 1 remove parameter at ("test/cases/small/structfn.c": line 3) -// 0 remove expr statement at ("test/cases/small/structfn.c": line 4) +// 0 remove function fn at ("test/cases/small/structfn.c": line 2) +// 1 remove parameter at ("test/cases/small/structfn.c": line 2) +// 1 remove empty compound at ("test/cases/small/structfn.c": line 2) +// 1 remove initializer at ("test/cases/small/structfn.c": line 4) +// 1 remove variable g0 at ("test/cases/small/structfn.c": line 4) +// 0 remove expr statement at ("test/cases/small/structfn.c": line 5) struct S0 { }; void fn() diff --git a/rtree-c/test/expected/structfn/reduction/r0011110.c.hs b/rtree-c/test/expected/structfn/reduction/r0011110.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r0011110.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r00111110.c b/rtree-c/test/expected/structfn/reduction/r00111110.c new file mode 100644 index 0000000..4df3289 --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r00111110.c @@ -0,0 +1,16 @@ +// 0 remove declaration at ("test/cases/small/structfn.c": line 1) +// 0 remove function fn at ("test/cases/small/structfn.c": line 2) +// 1 remove parameter at ("test/cases/small/structfn.c": line 2) +// 1 remove empty compound at ("test/cases/small/structfn.c": line 2) +// 1 remove initializer at ("test/cases/small/structfn.c": line 4) +// 1 remove variable g0 at ("test/cases/small/structfn.c": line 4) +// 1 remove expr statement at ("test/cases/small/structfn.c": line 5) +// 0 remove empty compound at ("test/cases/small/structfn.c": line 3) + +struct S0 { }; +void fn() +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/structfn/reduction/r00111110.c.hs b/rtree-c/test/expected/structfn/reduction/r00111110.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r00111110.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r00111111.c b/rtree-c/test/expected/structfn/reduction/r00111111.c new file mode 100644 index 0000000..b7a92cb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r00111111.c @@ -0,0 +1,16 @@ +// 0 remove declaration at ("test/cases/small/structfn.c": line 1) +// 0 remove function fn at ("test/cases/small/structfn.c": line 2) +// 1 remove parameter at ("test/cases/small/structfn.c": line 2) +// 1 remove empty compound at ("test/cases/small/structfn.c": line 2) +// 1 remove initializer at ("test/cases/small/structfn.c": line 4) +// 1 remove variable g0 at ("test/cases/small/structfn.c": line 4) +// 1 remove expr statement at ("test/cases/small/structfn.c": line 5) +// 1 remove empty compound at ("test/cases/small/structfn.c": line 3) + +struct S0 { }; +void fn() +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/structfn/reduction/r00111111.c.hs b/rtree-c/test/expected/structfn/reduction/r00111111.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r00111111.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r010000.c b/rtree-c/test/expected/structfn/reduction/r010000.c index 7166b0c..a859011 100644 --- a/rtree-c/test/expected/structfn/reduction/r010000.c +++ b/rtree-c/test/expected/structfn/reduction/r010000.c @@ -1,16 +1,13 @@ // 0 remove declaration at ("test/cases/small/structfn.c": line 1) -// 1 remove initializer at ("test/cases/small/structfn.c": line 2) -// 0 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 0 remove function fn at ("test/cases/small/structfn.c": line 3) -// 0 remove parameter at ("test/cases/small/structfn.c": line 3) -// 0 remove expr statement at ("test/cases/small/structfn.c": line 4) +// 1 remove function fn at ("test/cases/small/structfn.c": line 2) +// 0 remove initializer at ("test/cases/small/structfn.c": line 4) +// 0 remove variable g0 at ("test/cases/small/structfn.c": line 4) +// 0 remove expr statement at ("test/cases/small/structfn.c": line 5) +// 0 do without param at ("test/cases/small/structfn.c": line 5) struct S0 { }; -struct S0 g0; -void fn(struct S0 a) -{ -} int main() { - fn(g0); + struct S0 g0 = { }; + g0; } diff --git a/rtree-c/test/expected/structfn/reduction/r010000.c.hs b/rtree-c/test/expected/structfn/reduction/r010000.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r010000.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r010001.c b/rtree-c/test/expected/structfn/reduction/r010001.c index cfe3a5e..d7aedfc 100644 --- a/rtree-c/test/expected/structfn/reduction/r010001.c +++ b/rtree-c/test/expected/structfn/reduction/r010001.c @@ -1,15 +1,13 @@ // 0 remove declaration at ("test/cases/small/structfn.c": line 1) -// 1 remove initializer at ("test/cases/small/structfn.c": line 2) -// 0 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 0 remove function fn at ("test/cases/small/structfn.c": line 3) -// 0 remove parameter at ("test/cases/small/structfn.c": line 3) -// 1 remove expr statement at ("test/cases/small/structfn.c": line 4) +// 1 remove function fn at ("test/cases/small/structfn.c": line 2) +// 0 remove initializer at ("test/cases/small/structfn.c": line 4) +// 0 remove variable g0 at ("test/cases/small/structfn.c": line 4) +// 0 remove expr statement at ("test/cases/small/structfn.c": line 5) +// 1 do without param at ("test/cases/small/structfn.c": line 5) struct S0 { }; -struct S0 g0; -void fn(struct S0 a) -{ -} int main() { + struct S0 g0 = { }; + 0; } diff --git a/rtree-c/test/expected/structfn/reduction/r010001.c.hs b/rtree-c/test/expected/structfn/reduction/r010001.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r010001.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r00011.c b/rtree-c/test/expected/structfn/reduction/r01001.c similarity index 90% rename from rtree-c/test/expected/structfn/reduction/r00011.c rename to rtree-c/test/expected/structfn/reduction/r01001.c index 63d972b..93f2d60 100644 --- a/rtree-c/test/expected/structfn/reduction/r00011.c +++ b/rtree-c/test/expected/structfn/reduction/r01001.c @@ -1,11 +1,11 @@ // 0 remove declaration at ("test/cases/small/structfn.c": line 1) -// 0 remove initializer at ("test/cases/small/structfn.c": line 2) -// 0 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 1 remove function fn at ("test/cases/small/structfn.c": line 3) -// 1 remove expr statement at ("test/cases/small/structfn.c": line 4) +// 1 remove function fn at ("test/cases/small/structfn.c": line 2) +// 0 remove initializer at ("test/cases/small/structfn.c": line 4) +// 0 remove variable g0 at ("test/cases/small/structfn.c": line 4) +// 1 remove expr statement at ("test/cases/small/structfn.c": line 5) struct S0 { }; -struct S0 g0 = { }; int main() { + struct S0 g0 = { }; } diff --git a/rtree-c/test/expected/structfn/reduction/r01001.c.hs b/rtree-c/test/expected/structfn/reduction/r01001.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r01001.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r00110.c b/rtree-c/test/expected/structfn/reduction/r01010.c similarity index 96% rename from rtree-c/test/expected/structfn/reduction/r00110.c rename to rtree-c/test/expected/structfn/reduction/r01010.c index e3294f9..a0d46e5 100644 --- a/rtree-c/test/expected/structfn/reduction/r00110.c +++ b/rtree-c/test/expected/structfn/reduction/r01010.c @@ -1,8 +1,8 @@ // 0 remove declaration at ("test/cases/small/structfn.c": line 1) -// 0 remove initializer at ("test/cases/small/structfn.c": line 2) -// 1 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 1 remove function fn at ("test/cases/small/structfn.c": line 3) -// 0 remove expr statement at ("test/cases/small/structfn.c": line 4) +// 1 remove function fn at ("test/cases/small/structfn.c": line 2) +// 0 remove initializer at ("test/cases/small/structfn.c": line 4) +// 1 remove variable g0 at ("test/cases/small/structfn.c": line 4) +// 0 remove expr statement at ("test/cases/small/structfn.c": line 5) struct S0 { }; int main() diff --git a/rtree-c/test/expected/structfn/reduction/r01010.c.hs b/rtree-c/test/expected/structfn/reduction/r01010.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r01010.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r101011.c b/rtree-c/test/expected/structfn/reduction/r010110.c similarity index 81% rename from rtree-c/test/expected/structfn/reduction/r101011.c rename to rtree-c/test/expected/structfn/reduction/r010110.c index d2e4883..c4efcd3 100644 --- a/rtree-c/test/expected/structfn/reduction/r101011.c +++ b/rtree-c/test/expected/structfn/reduction/r010110.c @@ -1,9 +1,9 @@ -// 1 remove declaration at ("test/cases/small/structfn.c": line 1) -// 0 remove initializer at ("test/cases/small/structfn.c": line 2) -// 1 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 0 remove declaration at ("test/cases/small/structfn.c": line 2) -// 1 remove function fn at ("test/cases/small/structfn.c": line 3) -// 1 remove expr statement at ("test/cases/small/structfn.c": line 4) +// 0 remove declaration at ("test/cases/small/structfn.c": line 1) +// 1 remove function fn at ("test/cases/small/structfn.c": line 2) +// 0 remove initializer at ("test/cases/small/structfn.c": line 4) +// 1 remove variable g0 at ("test/cases/small/structfn.c": line 4) +// 1 remove expr statement at ("test/cases/small/structfn.c": line 5) +// 0 remove empty compound at ("test/cases/small/structfn.c": line 3) struct S0 { }; int main() diff --git a/rtree-c/test/expected/structfn/reduction/r010110.c.hs b/rtree-c/test/expected/structfn/reduction/r010110.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r010110.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r00111.c b/rtree-c/test/expected/structfn/reduction/r010111.c similarity index 81% rename from rtree-c/test/expected/structfn/reduction/r00111.c rename to rtree-c/test/expected/structfn/reduction/r010111.c index 4c065ac..9fcc6cb 100644 --- a/rtree-c/test/expected/structfn/reduction/r00111.c +++ b/rtree-c/test/expected/structfn/reduction/r010111.c @@ -1,8 +1,9 @@ // 0 remove declaration at ("test/cases/small/structfn.c": line 1) -// 0 remove initializer at ("test/cases/small/structfn.c": line 2) -// 1 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 1 remove function fn at ("test/cases/small/structfn.c": line 3) -// 1 remove expr statement at ("test/cases/small/structfn.c": line 4) +// 1 remove function fn at ("test/cases/small/structfn.c": line 2) +// 0 remove initializer at ("test/cases/small/structfn.c": line 4) +// 1 remove variable g0 at ("test/cases/small/structfn.c": line 4) +// 1 remove expr statement at ("test/cases/small/structfn.c": line 5) +// 1 remove empty compound at ("test/cases/small/structfn.c": line 3) struct S0 { }; int main() diff --git a/rtree-c/test/expected/structfn/reduction/r010111.c.hs b/rtree-c/test/expected/structfn/reduction/r010111.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r010111.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r010100.c b/rtree-c/test/expected/structfn/reduction/r011000.c similarity index 79% rename from rtree-c/test/expected/structfn/reduction/r010100.c rename to rtree-c/test/expected/structfn/reduction/r011000.c index bc7df3b..d0b2d9a 100644 --- a/rtree-c/test/expected/structfn/reduction/r010100.c +++ b/rtree-c/test/expected/structfn/reduction/r011000.c @@ -1,13 +1,13 @@ // 0 remove declaration at ("test/cases/small/structfn.c": line 1) -// 1 remove initializer at ("test/cases/small/structfn.c": line 2) -// 0 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 1 remove function fn at ("test/cases/small/structfn.c": line 3) -// 0 remove expr statement at ("test/cases/small/structfn.c": line 4) -// 0 do without param at ("test/cases/small/structfn.c": line 4) +// 1 remove function fn at ("test/cases/small/structfn.c": line 2) +// 1 remove initializer at ("test/cases/small/structfn.c": line 4) +// 0 remove variable g0 at ("test/cases/small/structfn.c": line 4) +// 0 remove expr statement at ("test/cases/small/structfn.c": line 5) +// 0 do without param at ("test/cases/small/structfn.c": line 5) struct S0 { }; -struct S0 g0; int main() { + struct S0 g0; g0; } diff --git a/rtree-c/test/expected/structfn/reduction/r011000.c.hs b/rtree-c/test/expected/structfn/reduction/r011000.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r011000.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r010101.c b/rtree-c/test/expected/structfn/reduction/r011001.c similarity index 79% rename from rtree-c/test/expected/structfn/reduction/r010101.c rename to rtree-c/test/expected/structfn/reduction/r011001.c index 7013526..4433b1b 100644 --- a/rtree-c/test/expected/structfn/reduction/r010101.c +++ b/rtree-c/test/expected/structfn/reduction/r011001.c @@ -1,13 +1,13 @@ // 0 remove declaration at ("test/cases/small/structfn.c": line 1) -// 1 remove initializer at ("test/cases/small/structfn.c": line 2) -// 0 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 1 remove function fn at ("test/cases/small/structfn.c": line 3) -// 0 remove expr statement at ("test/cases/small/structfn.c": line 4) -// 1 do without param at ("test/cases/small/structfn.c": line 4) +// 1 remove function fn at ("test/cases/small/structfn.c": line 2) +// 1 remove initializer at ("test/cases/small/structfn.c": line 4) +// 0 remove variable g0 at ("test/cases/small/structfn.c": line 4) +// 0 remove expr statement at ("test/cases/small/structfn.c": line 5) +// 1 do without param at ("test/cases/small/structfn.c": line 5) struct S0 { }; -struct S0 g0; int main() { + struct S0 g0; 0; } diff --git a/rtree-c/test/expected/structfn/reduction/r011001.c.hs b/rtree-c/test/expected/structfn/reduction/r011001.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r011001.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r01011.c b/rtree-c/test/expected/structfn/reduction/r01101.c similarity index 92% rename from rtree-c/test/expected/structfn/reduction/r01011.c rename to rtree-c/test/expected/structfn/reduction/r01101.c index 5b51609..740041a 100644 --- a/rtree-c/test/expected/structfn/reduction/r01011.c +++ b/rtree-c/test/expected/structfn/reduction/r01101.c @@ -1,11 +1,11 @@ // 0 remove declaration at ("test/cases/small/structfn.c": line 1) -// 1 remove initializer at ("test/cases/small/structfn.c": line 2) -// 0 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 1 remove function fn at ("test/cases/small/structfn.c": line 3) -// 1 remove expr statement at ("test/cases/small/structfn.c": line 4) +// 1 remove function fn at ("test/cases/small/structfn.c": line 2) +// 1 remove initializer at ("test/cases/small/structfn.c": line 4) +// 0 remove variable g0 at ("test/cases/small/structfn.c": line 4) +// 1 remove expr statement at ("test/cases/small/structfn.c": line 5) struct S0 { }; -struct S0 g0; int main() { + struct S0 g0; } diff --git a/rtree-c/test/expected/structfn/reduction/r01101.c.hs b/rtree-c/test/expected/structfn/reduction/r01101.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r01101.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r01110.c b/rtree-c/test/expected/structfn/reduction/r01110.c index 0ac93a5..bb206e7 100644 --- a/rtree-c/test/expected/structfn/reduction/r01110.c +++ b/rtree-c/test/expected/structfn/reduction/r01110.c @@ -1,8 +1,8 @@ // 0 remove declaration at ("test/cases/small/structfn.c": line 1) -// 1 remove initializer at ("test/cases/small/structfn.c": line 2) -// 1 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 1 remove function fn at ("test/cases/small/structfn.c": line 3) -// 0 remove expr statement at ("test/cases/small/structfn.c": line 4) +// 1 remove function fn at ("test/cases/small/structfn.c": line 2) +// 1 remove initializer at ("test/cases/small/structfn.c": line 4) +// 1 remove variable g0 at ("test/cases/small/structfn.c": line 4) +// 0 remove expr statement at ("test/cases/small/structfn.c": line 5) struct S0 { }; int main() diff --git a/rtree-c/test/expected/structfn/reduction/r01110.c.hs b/rtree-c/test/expected/structfn/reduction/r01110.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r01110.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r111011.c b/rtree-c/test/expected/structfn/reduction/r011110.c similarity index 81% rename from rtree-c/test/expected/structfn/reduction/r111011.c rename to rtree-c/test/expected/structfn/reduction/r011110.c index 2563e60..68a0fc5 100644 --- a/rtree-c/test/expected/structfn/reduction/r111011.c +++ b/rtree-c/test/expected/structfn/reduction/r011110.c @@ -1,9 +1,9 @@ -// 1 remove declaration at ("test/cases/small/structfn.c": line 1) -// 1 remove initializer at ("test/cases/small/structfn.c": line 2) -// 1 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 0 remove declaration at ("test/cases/small/structfn.c": line 2) -// 1 remove function fn at ("test/cases/small/structfn.c": line 3) -// 1 remove expr statement at ("test/cases/small/structfn.c": line 4) +// 0 remove declaration at ("test/cases/small/structfn.c": line 1) +// 1 remove function fn at ("test/cases/small/structfn.c": line 2) +// 1 remove initializer at ("test/cases/small/structfn.c": line 4) +// 1 remove variable g0 at ("test/cases/small/structfn.c": line 4) +// 1 remove expr statement at ("test/cases/small/structfn.c": line 5) +// 0 remove empty compound at ("test/cases/small/structfn.c": line 3) struct S0 { }; int main() diff --git a/rtree-c/test/expected/structfn/reduction/r011110.c.hs b/rtree-c/test/expected/structfn/reduction/r011110.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r011110.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r01111.c b/rtree-c/test/expected/structfn/reduction/r011111.c similarity index 81% rename from rtree-c/test/expected/structfn/reduction/r01111.c rename to rtree-c/test/expected/structfn/reduction/r011111.c index 59dd377..5a23fd1 100644 --- a/rtree-c/test/expected/structfn/reduction/r01111.c +++ b/rtree-c/test/expected/structfn/reduction/r011111.c @@ -1,8 +1,9 @@ // 0 remove declaration at ("test/cases/small/structfn.c": line 1) -// 1 remove initializer at ("test/cases/small/structfn.c": line 2) -// 1 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 1 remove function fn at ("test/cases/small/structfn.c": line 3) -// 1 remove expr statement at ("test/cases/small/structfn.c": line 4) +// 1 remove function fn at ("test/cases/small/structfn.c": line 2) +// 1 remove initializer at ("test/cases/small/structfn.c": line 4) +// 1 remove variable g0 at ("test/cases/small/structfn.c": line 4) +// 1 remove expr statement at ("test/cases/small/structfn.c": line 5) +// 1 remove empty compound at ("test/cases/small/structfn.c": line 3) struct S0 { }; int main() diff --git a/rtree-c/test/expected/structfn/reduction/r011111.c.hs b/rtree-c/test/expected/structfn/reduction/r011111.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r011111.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r110010.c b/rtree-c/test/expected/structfn/reduction/r1000.c similarity index 51% rename from rtree-c/test/expected/structfn/reduction/r110010.c rename to rtree-c/test/expected/structfn/reduction/r1000.c index 8b5cf2d..3c6bd32 100644 --- a/rtree-c/test/expected/structfn/reduction/r110010.c +++ b/rtree-c/test/expected/structfn/reduction/r1000.c @@ -1,11 +1,8 @@ // 1 remove declaration at ("test/cases/small/structfn.c": line 1) -// 1 remove initializer at ("test/cases/small/structfn.c": line 2) -// 0 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 0 remove function fn at ("test/cases/small/structfn.c": line 3) -// 1 remove parameter at ("test/cases/small/structfn.c": line 3) -// 0 remove expr statement at ("test/cases/small/structfn.c": line 4) +// 0 remove function fn at ("test/cases/small/structfn.c": line 2) +// 0 remove empty compound at ("test/cases/small/structfn.c": line 2) +// 0 remove expr statement at ("test/cases/small/structfn.c": line 5) -struct S0 { } g0; void fn() { } diff --git a/rtree-c/test/expected/structfn/reduction/r1000.c.hs b/rtree-c/test/expected/structfn/reduction/r1000.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r1000.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r100011.c b/rtree-c/test/expected/structfn/reduction/r100011.c deleted file mode 100644 index 35b3aba..0000000 --- a/rtree-c/test/expected/structfn/reduction/r100011.c +++ /dev/null @@ -1,14 +0,0 @@ -// 1 remove declaration at ("test/cases/small/structfn.c": line 1) -// 0 remove initializer at ("test/cases/small/structfn.c": line 2) -// 0 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 0 remove function fn at ("test/cases/small/structfn.c": line 3) -// 1 remove parameter at ("test/cases/small/structfn.c": line 3) -// 1 remove expr statement at ("test/cases/small/structfn.c": line 4) - -struct S0 { } g0 = { }; -void fn() -{ -} -int main() -{ -} diff --git a/rtree-c/test/expected/structfn/reduction/r110011.c b/rtree-c/test/expected/structfn/reduction/r10010.c similarity index 50% rename from rtree-c/test/expected/structfn/reduction/r110011.c rename to rtree-c/test/expected/structfn/reduction/r10010.c index 53c8c35..5768756 100644 --- a/rtree-c/test/expected/structfn/reduction/r110011.c +++ b/rtree-c/test/expected/structfn/reduction/r10010.c @@ -1,11 +1,9 @@ // 1 remove declaration at ("test/cases/small/structfn.c": line 1) -// 1 remove initializer at ("test/cases/small/structfn.c": line 2) -// 0 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 0 remove function fn at ("test/cases/small/structfn.c": line 3) -// 1 remove parameter at ("test/cases/small/structfn.c": line 3) -// 1 remove expr statement at ("test/cases/small/structfn.c": line 4) +// 0 remove function fn at ("test/cases/small/structfn.c": line 2) +// 0 remove empty compound at ("test/cases/small/structfn.c": line 2) +// 1 remove expr statement at ("test/cases/small/structfn.c": line 5) +// 0 remove empty compound at ("test/cases/small/structfn.c": line 3) -struct S0 { } g0; void fn() { } diff --git a/rtree-c/test/expected/structfn/reduction/r10010.c.hs b/rtree-c/test/expected/structfn/reduction/r10010.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r10010.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r100100.c b/rtree-c/test/expected/structfn/reduction/r100100.c deleted file mode 100644 index d63281f..0000000 --- a/rtree-c/test/expected/structfn/reduction/r100100.c +++ /dev/null @@ -1,12 +0,0 @@ -// 1 remove declaration at ("test/cases/small/structfn.c": line 1) -// 0 remove initializer at ("test/cases/small/structfn.c": line 2) -// 0 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 1 remove function fn at ("test/cases/small/structfn.c": line 3) -// 0 remove expr statement at ("test/cases/small/structfn.c": line 4) -// 0 do without param at ("test/cases/small/structfn.c": line 4) - -struct S0 { } g0 = { }; -int main() -{ - g0; -} diff --git a/rtree-c/test/expected/structfn/reduction/r100101.c b/rtree-c/test/expected/structfn/reduction/r100101.c deleted file mode 100644 index 3d361d9..0000000 --- a/rtree-c/test/expected/structfn/reduction/r100101.c +++ /dev/null @@ -1,12 +0,0 @@ -// 1 remove declaration at ("test/cases/small/structfn.c": line 1) -// 0 remove initializer at ("test/cases/small/structfn.c": line 2) -// 0 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 1 remove function fn at ("test/cases/small/structfn.c": line 3) -// 0 remove expr statement at ("test/cases/small/structfn.c": line 4) -// 1 do without param at ("test/cases/small/structfn.c": line 4) - -struct S0 { } g0 = { }; -int main() -{ - 0; -} diff --git a/rtree-c/test/expected/structfn/reduction/r10011.c b/rtree-c/test/expected/structfn/reduction/r10011.c index d306c44..9930cbc 100644 --- a/rtree-c/test/expected/structfn/reduction/r10011.c +++ b/rtree-c/test/expected/structfn/reduction/r10011.c @@ -1,10 +1,12 @@ // 1 remove declaration at ("test/cases/small/structfn.c": line 1) -// 0 remove initializer at ("test/cases/small/structfn.c": line 2) -// 0 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 1 remove function fn at ("test/cases/small/structfn.c": line 3) -// 1 remove expr statement at ("test/cases/small/structfn.c": line 4) +// 0 remove function fn at ("test/cases/small/structfn.c": line 2) +// 0 remove empty compound at ("test/cases/small/structfn.c": line 2) +// 1 remove expr statement at ("test/cases/small/structfn.c": line 5) +// 1 remove empty compound at ("test/cases/small/structfn.c": line 3) -struct S0 { } g0 = { }; +void fn() +{ +} int main() { } diff --git a/rtree-c/test/expected/structfn/reduction/r10011.c.hs b/rtree-c/test/expected/structfn/reduction/r10011.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r10011.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r100010.c b/rtree-c/test/expected/structfn/reduction/r1010.c similarity index 50% rename from rtree-c/test/expected/structfn/reduction/r100010.c rename to rtree-c/test/expected/structfn/reduction/r1010.c index d56d15d..9c301d2 100644 --- a/rtree-c/test/expected/structfn/reduction/r100010.c +++ b/rtree-c/test/expected/structfn/reduction/r1010.c @@ -1,11 +1,8 @@ // 1 remove declaration at ("test/cases/small/structfn.c": line 1) -// 0 remove initializer at ("test/cases/small/structfn.c": line 2) -// 0 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 0 remove function fn at ("test/cases/small/structfn.c": line 3) -// 1 remove parameter at ("test/cases/small/structfn.c": line 3) -// 0 remove expr statement at ("test/cases/small/structfn.c": line 4) +// 0 remove function fn at ("test/cases/small/structfn.c": line 2) +// 1 remove empty compound at ("test/cases/small/structfn.c": line 2) +// 0 remove expr statement at ("test/cases/small/structfn.c": line 5) -struct S0 { } g0 = { }; void fn() { } diff --git a/rtree-c/test/expected/structfn/reduction/r1010.c.hs b/rtree-c/test/expected/structfn/reduction/r1010.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r1010.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r101010.c b/rtree-c/test/expected/structfn/reduction/r101010.c deleted file mode 100644 index b1a2346..0000000 --- a/rtree-c/test/expected/structfn/reduction/r101010.c +++ /dev/null @@ -1,12 +0,0 @@ -// 1 remove declaration at ("test/cases/small/structfn.c": line 1) -// 0 remove initializer at ("test/cases/small/structfn.c": line 2) -// 1 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 0 remove declaration at ("test/cases/small/structfn.c": line 2) -// 1 remove function fn at ("test/cases/small/structfn.c": line 3) -// 0 remove expr statement at ("test/cases/small/structfn.c": line 4) - -struct S0 { }; -int main() -{ - 0; -} diff --git a/rtree-c/test/expected/structfn/reduction/r10110.c b/rtree-c/test/expected/structfn/reduction/r10110.c new file mode 100644 index 0000000..5570993 --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r10110.c @@ -0,0 +1,12 @@ +// 1 remove declaration at ("test/cases/small/structfn.c": line 1) +// 0 remove function fn at ("test/cases/small/structfn.c": line 2) +// 1 remove empty compound at ("test/cases/small/structfn.c": line 2) +// 1 remove expr statement at ("test/cases/small/structfn.c": line 5) +// 0 remove empty compound at ("test/cases/small/structfn.c": line 3) + +void fn() +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/structfn/reduction/r10110.c.hs b/rtree-c/test/expected/structfn/reduction/r10110.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r10110.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r101100.c b/rtree-c/test/expected/structfn/reduction/r101100.c deleted file mode 100644 index 112b943..0000000 --- a/rtree-c/test/expected/structfn/reduction/r101100.c +++ /dev/null @@ -1,13 +0,0 @@ -// 1 remove declaration at ("test/cases/small/structfn.c": line 1) -// 0 remove initializer at ("test/cases/small/structfn.c": line 2) -// 1 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 1 remove declaration at ("test/cases/small/structfn.c": line 2) -// 0 remove function fn at ("test/cases/small/structfn.c": line 3) -// 0 remove parameter at ("test/cases/small/structfn.c": line 3) - -void fn(struct S0 { } a) -{ -} -int main() -{ -} diff --git a/rtree-c/test/expected/structfn/reduction/r1011010.c b/rtree-c/test/expected/structfn/reduction/r1011010.c deleted file mode 100644 index ea713d6..0000000 --- a/rtree-c/test/expected/structfn/reduction/r1011010.c +++ /dev/null @@ -1,15 +0,0 @@ -// 1 remove declaration at ("test/cases/small/structfn.c": line 1) -// 0 remove initializer at ("test/cases/small/structfn.c": line 2) -// 1 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 1 remove declaration at ("test/cases/small/structfn.c": line 2) -// 0 remove function fn at ("test/cases/small/structfn.c": line 3) -// 1 remove parameter at ("test/cases/small/structfn.c": line 3) -// 0 remove expr statement at ("test/cases/small/structfn.c": line 4) - -void fn() -{ -} -int main() -{ - fn(); -} diff --git a/rtree-c/test/expected/structfn/reduction/r1011011.c b/rtree-c/test/expected/structfn/reduction/r1011011.c deleted file mode 100644 index ef207a0..0000000 --- a/rtree-c/test/expected/structfn/reduction/r1011011.c +++ /dev/null @@ -1,14 +0,0 @@ -// 1 remove declaration at ("test/cases/small/structfn.c": line 1) -// 0 remove initializer at ("test/cases/small/structfn.c": line 2) -// 1 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 1 remove declaration at ("test/cases/small/structfn.c": line 2) -// 0 remove function fn at ("test/cases/small/structfn.c": line 3) -// 1 remove parameter at ("test/cases/small/structfn.c": line 3) -// 1 remove expr statement at ("test/cases/small/structfn.c": line 4) - -void fn() -{ -} -int main() -{ -} diff --git a/rtree-c/test/expected/structfn/reduction/r10111.c b/rtree-c/test/expected/structfn/reduction/r10111.c new file mode 100644 index 0000000..93c9c08 --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r10111.c @@ -0,0 +1,12 @@ +// 1 remove declaration at ("test/cases/small/structfn.c": line 1) +// 0 remove function fn at ("test/cases/small/structfn.c": line 2) +// 1 remove empty compound at ("test/cases/small/structfn.c": line 2) +// 1 remove expr statement at ("test/cases/small/structfn.c": line 5) +// 1 remove empty compound at ("test/cases/small/structfn.c": line 3) + +void fn() +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/structfn/reduction/r10111.c.hs b/rtree-c/test/expected/structfn/reduction/r10111.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r10111.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r101110.c b/rtree-c/test/expected/structfn/reduction/r101110.c deleted file mode 100644 index 6a5ae95..0000000 --- a/rtree-c/test/expected/structfn/reduction/r101110.c +++ /dev/null @@ -1,11 +0,0 @@ -// 1 remove declaration at ("test/cases/small/structfn.c": line 1) -// 0 remove initializer at ("test/cases/small/structfn.c": line 2) -// 1 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 1 remove declaration at ("test/cases/small/structfn.c": line 2) -// 1 remove function fn at ("test/cases/small/structfn.c": line 3) -// 0 remove expr statement at ("test/cases/small/structfn.c": line 4) - -int main() -{ - 0; -} diff --git a/rtree-c/test/expected/structfn/reduction/r111110.c b/rtree-c/test/expected/structfn/reduction/r110.c similarity index 51% rename from rtree-c/test/expected/structfn/reduction/r111110.c rename to rtree-c/test/expected/structfn/reduction/r110.c index 9c6f1ca..471dc6a 100644 --- a/rtree-c/test/expected/structfn/reduction/r111110.c +++ b/rtree-c/test/expected/structfn/reduction/r110.c @@ -1,9 +1,6 @@ // 1 remove declaration at ("test/cases/small/structfn.c": line 1) -// 1 remove initializer at ("test/cases/small/structfn.c": line 2) -// 1 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 1 remove declaration at ("test/cases/small/structfn.c": line 2) -// 1 remove function fn at ("test/cases/small/structfn.c": line 3) -// 0 remove expr statement at ("test/cases/small/structfn.c": line 4) +// 1 remove function fn at ("test/cases/small/structfn.c": line 2) +// 0 remove expr statement at ("test/cases/small/structfn.c": line 5) int main() { diff --git a/rtree-c/test/expected/structfn/reduction/r110.c.hs b/rtree-c/test/expected/structfn/reduction/r110.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r110.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r110100.c b/rtree-c/test/expected/structfn/reduction/r110100.c deleted file mode 100644 index 94d8e20..0000000 --- a/rtree-c/test/expected/structfn/reduction/r110100.c +++ /dev/null @@ -1,12 +0,0 @@ -// 1 remove declaration at ("test/cases/small/structfn.c": line 1) -// 1 remove initializer at ("test/cases/small/structfn.c": line 2) -// 0 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 1 remove function fn at ("test/cases/small/structfn.c": line 3) -// 0 remove expr statement at ("test/cases/small/structfn.c": line 4) -// 0 do without param at ("test/cases/small/structfn.c": line 4) - -struct S0 { } g0; -int main() -{ - g0; -} diff --git a/rtree-c/test/expected/structfn/reduction/r110101.c b/rtree-c/test/expected/structfn/reduction/r110101.c deleted file mode 100644 index 49570de..0000000 --- a/rtree-c/test/expected/structfn/reduction/r110101.c +++ /dev/null @@ -1,12 +0,0 @@ -// 1 remove declaration at ("test/cases/small/structfn.c": line 1) -// 1 remove initializer at ("test/cases/small/structfn.c": line 2) -// 0 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 1 remove function fn at ("test/cases/small/structfn.c": line 3) -// 0 remove expr statement at ("test/cases/small/structfn.c": line 4) -// 1 do without param at ("test/cases/small/structfn.c": line 4) - -struct S0 { } g0; -int main() -{ - 0; -} diff --git a/rtree-c/test/expected/structfn/reduction/r11011.c b/rtree-c/test/expected/structfn/reduction/r1110.c similarity index 57% rename from rtree-c/test/expected/structfn/reduction/r11011.c rename to rtree-c/test/expected/structfn/reduction/r1110.c index 3b08003..43f4280 100644 --- a/rtree-c/test/expected/structfn/reduction/r11011.c +++ b/rtree-c/test/expected/structfn/reduction/r1110.c @@ -1,10 +1,8 @@ // 1 remove declaration at ("test/cases/small/structfn.c": line 1) -// 1 remove initializer at ("test/cases/small/structfn.c": line 2) -// 0 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 1 remove function fn at ("test/cases/small/structfn.c": line 3) -// 1 remove expr statement at ("test/cases/small/structfn.c": line 4) +// 1 remove function fn at ("test/cases/small/structfn.c": line 2) +// 1 remove expr statement at ("test/cases/small/structfn.c": line 5) +// 0 remove empty compound at ("test/cases/small/structfn.c": line 3) -struct S0 { } g0; int main() { } diff --git a/rtree-c/test/expected/structfn/reduction/r1110.c.hs b/rtree-c/test/expected/structfn/reduction/r1110.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r1110.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r111010.c b/rtree-c/test/expected/structfn/reduction/r111010.c deleted file mode 100644 index 3127014..0000000 --- a/rtree-c/test/expected/structfn/reduction/r111010.c +++ /dev/null @@ -1,12 +0,0 @@ -// 1 remove declaration at ("test/cases/small/structfn.c": line 1) -// 1 remove initializer at ("test/cases/small/structfn.c": line 2) -// 1 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 0 remove declaration at ("test/cases/small/structfn.c": line 2) -// 1 remove function fn at ("test/cases/small/structfn.c": line 3) -// 0 remove expr statement at ("test/cases/small/structfn.c": line 4) - -struct S0 { }; -int main() -{ - 0; -} diff --git a/rtree-c/test/expected/structfn/reduction/r101111.c b/rtree-c/test/expected/structfn/reduction/r1111.c similarity index 50% rename from rtree-c/test/expected/structfn/reduction/r101111.c rename to rtree-c/test/expected/structfn/reduction/r1111.c index 517aa53..9cfccf2 100644 --- a/rtree-c/test/expected/structfn/reduction/r101111.c +++ b/rtree-c/test/expected/structfn/reduction/r1111.c @@ -1,9 +1,7 @@ // 1 remove declaration at ("test/cases/small/structfn.c": line 1) -// 0 remove initializer at ("test/cases/small/structfn.c": line 2) -// 1 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 1 remove declaration at ("test/cases/small/structfn.c": line 2) -// 1 remove function fn at ("test/cases/small/structfn.c": line 3) -// 1 remove expr statement at ("test/cases/small/structfn.c": line 4) +// 1 remove function fn at ("test/cases/small/structfn.c": line 2) +// 1 remove expr statement at ("test/cases/small/structfn.c": line 5) +// 1 remove empty compound at ("test/cases/small/structfn.c": line 3) int main() { diff --git a/rtree-c/test/expected/structfn/reduction/r1111.c.hs b/rtree-c/test/expected/structfn/reduction/r1111.c.hs new file mode 100644 index 0000000..b208dcb --- /dev/null +++ b/rtree-c/test/expected/structfn/reduction/r1111.c.hs @@ -0,0 +1,103 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) + ( Just [] ) [] () + ) () + ) + ] [] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "fn" 14182 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CSUType + ( CStruct CStructTag + ( Just + ( Ident "S0" 6227 () ) + ) Nothing [] () + ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "g0" 6247 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitList + ( CInitializerList [] ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CExpr + ( Just + ( CCall + ( CVar + ( Ident "fn" 14182 () ) () + ) + [ CVar + ( Ident "g0" 6247 () ) () + ] () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/structfn/reduction/r111100.c b/rtree-c/test/expected/structfn/reduction/r111100.c deleted file mode 100644 index 04b5240..0000000 --- a/rtree-c/test/expected/structfn/reduction/r111100.c +++ /dev/null @@ -1,13 +0,0 @@ -// 1 remove declaration at ("test/cases/small/structfn.c": line 1) -// 1 remove initializer at ("test/cases/small/structfn.c": line 2) -// 1 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 1 remove declaration at ("test/cases/small/structfn.c": line 2) -// 0 remove function fn at ("test/cases/small/structfn.c": line 3) -// 0 remove parameter at ("test/cases/small/structfn.c": line 3) - -void fn(struct S0 { } a) -{ -} -int main() -{ -} diff --git a/rtree-c/test/expected/structfn/reduction/r1111010.c b/rtree-c/test/expected/structfn/reduction/r1111010.c deleted file mode 100644 index 26c61ac..0000000 --- a/rtree-c/test/expected/structfn/reduction/r1111010.c +++ /dev/null @@ -1,15 +0,0 @@ -// 1 remove declaration at ("test/cases/small/structfn.c": line 1) -// 1 remove initializer at ("test/cases/small/structfn.c": line 2) -// 1 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 1 remove declaration at ("test/cases/small/structfn.c": line 2) -// 0 remove function fn at ("test/cases/small/structfn.c": line 3) -// 1 remove parameter at ("test/cases/small/structfn.c": line 3) -// 0 remove expr statement at ("test/cases/small/structfn.c": line 4) - -void fn() -{ -} -int main() -{ - fn(); -} diff --git a/rtree-c/test/expected/structfn/reduction/r1111011.c b/rtree-c/test/expected/structfn/reduction/r1111011.c deleted file mode 100644 index f5d0620..0000000 --- a/rtree-c/test/expected/structfn/reduction/r1111011.c +++ /dev/null @@ -1,14 +0,0 @@ -// 1 remove declaration at ("test/cases/small/structfn.c": line 1) -// 1 remove initializer at ("test/cases/small/structfn.c": line 2) -// 1 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 1 remove declaration at ("test/cases/small/structfn.c": line 2) -// 0 remove function fn at ("test/cases/small/structfn.c": line 3) -// 1 remove parameter at ("test/cases/small/structfn.c": line 3) -// 1 remove expr statement at ("test/cases/small/structfn.c": line 4) - -void fn() -{ -} -int main() -{ -} diff --git a/rtree-c/test/expected/structfn/reduction/r111111.c b/rtree-c/test/expected/structfn/reduction/r111111.c deleted file mode 100644 index d2ccbfa..0000000 --- a/rtree-c/test/expected/structfn/reduction/r111111.c +++ /dev/null @@ -1,10 +0,0 @@ -// 1 remove declaration at ("test/cases/small/structfn.c": line 1) -// 1 remove initializer at ("test/cases/small/structfn.c": line 2) -// 1 remove variable g0 at ("test/cases/small/structfn.c": line 2) -// 1 remove declaration at ("test/cases/small/structfn.c": line 2) -// 1 remove function fn at ("test/cases/small/structfn.c": line 3) -// 1 remove expr statement at ("test/cases/small/structfn.c": line 4) - -int main() -{ -} diff --git a/rtree-c/test/expected/typedef/reduction/r0000.c b/rtree-c/test/expected/typedef/reduction/r00000.c similarity index 83% rename from rtree-c/test/expected/typedef/reduction/r0000.c rename to rtree-c/test/expected/typedef/reduction/r00000.c index e5cb677..092f0c0 100644 --- a/rtree-c/test/expected/typedef/reduction/r0000.c +++ b/rtree-c/test/expected/typedef/reduction/r00000.c @@ -1,5 +1,6 @@ // 0 remove function f at ("test/cases/small/typedef.c": line 4) // 0 remove parameter at ("test/cases/small/typedef.c": line 4) +// 0 remove empty compound at ("test/cases/small/typedef.c": line 4) // 0 inline variable x at ("test/cases/small/typedef.c": line 8) // 0 remove return statement at ("test/cases/small/typedef.c": line 9) diff --git a/rtree-c/test/expected/typedef/reduction/r00000.c.hs b/rtree-c/test/expected/typedef/reduction/r00000.c.hs new file mode 100644 index 0000000..8d49dd6 --- /dev/null +++ b/rtree-c/test/expected/typedef/reduction/r00000.c.hs @@ -0,0 +1,94 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CStorageSpec + ( CTypedef () ) + , CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "uint64" 245092139 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CTypeDef + ( Ident "uint64" 245092139 () ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CTypeDef + ( Ident "uint64" 245092139 () ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 1 () ) + ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CVar + ( Ident "x" 120 () ) () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/typedef/reduction/r0001.c b/rtree-c/test/expected/typedef/reduction/r00001.c similarity index 83% rename from rtree-c/test/expected/typedef/reduction/r0001.c rename to rtree-c/test/expected/typedef/reduction/r00001.c index 0965039..fb5d9b5 100644 --- a/rtree-c/test/expected/typedef/reduction/r0001.c +++ b/rtree-c/test/expected/typedef/reduction/r00001.c @@ -1,5 +1,6 @@ // 0 remove function f at ("test/cases/small/typedef.c": line 4) // 0 remove parameter at ("test/cases/small/typedef.c": line 4) +// 0 remove empty compound at ("test/cases/small/typedef.c": line 4) // 0 inline variable x at ("test/cases/small/typedef.c": line 8) // 1 remove return statement at ("test/cases/small/typedef.c": line 9) diff --git a/rtree-c/test/expected/typedef/reduction/r00001.c.hs b/rtree-c/test/expected/typedef/reduction/r00001.c.hs new file mode 100644 index 0000000..8d49dd6 --- /dev/null +++ b/rtree-c/test/expected/typedef/reduction/r00001.c.hs @@ -0,0 +1,94 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CStorageSpec + ( CTypedef () ) + , CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "uint64" 245092139 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CTypeDef + ( Ident "uint64" 245092139 () ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CTypeDef + ( Ident "uint64" 245092139 () ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 1 () ) + ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CVar + ( Ident "x" 120 () ) () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/typedef/reduction/r0010.c b/rtree-c/test/expected/typedef/reduction/r00010.c similarity index 82% rename from rtree-c/test/expected/typedef/reduction/r0010.c rename to rtree-c/test/expected/typedef/reduction/r00010.c index f6a29d2..5f73d65 100644 --- a/rtree-c/test/expected/typedef/reduction/r0010.c +++ b/rtree-c/test/expected/typedef/reduction/r00010.c @@ -1,5 +1,6 @@ // 0 remove function f at ("test/cases/small/typedef.c": line 4) // 0 remove parameter at ("test/cases/small/typedef.c": line 4) +// 0 remove empty compound at ("test/cases/small/typedef.c": line 4) // 1 inline variable x at ("test/cases/small/typedef.c": line 8) // 0 remove return statement at ("test/cases/small/typedef.c": line 9) diff --git a/rtree-c/test/expected/typedef/reduction/r00010.c.hs b/rtree-c/test/expected/typedef/reduction/r00010.c.hs new file mode 100644 index 0000000..8d49dd6 --- /dev/null +++ b/rtree-c/test/expected/typedef/reduction/r00010.c.hs @@ -0,0 +1,94 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CStorageSpec + ( CTypedef () ) + , CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "uint64" 245092139 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CTypeDef + ( Ident "uint64" 245092139 () ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CTypeDef + ( Ident "uint64" 245092139 () ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 1 () ) + ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CVar + ( Ident "x" 120 () ) () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/typedef/reduction/r0011.c b/rtree-c/test/expected/typedef/reduction/r000110.c similarity index 70% rename from rtree-c/test/expected/typedef/reduction/r0011.c rename to rtree-c/test/expected/typedef/reduction/r000110.c index cee26a3..98559cb 100644 --- a/rtree-c/test/expected/typedef/reduction/r0011.c +++ b/rtree-c/test/expected/typedef/reduction/r000110.c @@ -1,7 +1,9 @@ // 0 remove function f at ("test/cases/small/typedef.c": line 4) // 0 remove parameter at ("test/cases/small/typedef.c": line 4) +// 0 remove empty compound at ("test/cases/small/typedef.c": line 4) // 1 inline variable x at ("test/cases/small/typedef.c": line 8) // 1 remove return statement at ("test/cases/small/typedef.c": line 9) +// 0 remove empty compound at ("test/cases/small/typedef.c": line 7) typedef int uint64; void f(uint64 a) diff --git a/rtree-c/test/expected/typedef/reduction/r000110.c.hs b/rtree-c/test/expected/typedef/reduction/r000110.c.hs new file mode 100644 index 0000000..8d49dd6 --- /dev/null +++ b/rtree-c/test/expected/typedef/reduction/r000110.c.hs @@ -0,0 +1,94 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CStorageSpec + ( CTypedef () ) + , CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "uint64" 245092139 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CTypeDef + ( Ident "uint64" 245092139 () ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CTypeDef + ( Ident "uint64" 245092139 () ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 1 () ) + ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CVar + ( Ident "x" 120 () ) () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/typedef/reduction/r000111.c b/rtree-c/test/expected/typedef/reduction/r000111.c new file mode 100644 index 0000000..2e32ead --- /dev/null +++ b/rtree-c/test/expected/typedef/reduction/r000111.c @@ -0,0 +1,14 @@ +// 0 remove function f at ("test/cases/small/typedef.c": line 4) +// 0 remove parameter at ("test/cases/small/typedef.c": line 4) +// 0 remove empty compound at ("test/cases/small/typedef.c": line 4) +// 1 inline variable x at ("test/cases/small/typedef.c": line 8) +// 1 remove return statement at ("test/cases/small/typedef.c": line 9) +// 1 remove empty compound at ("test/cases/small/typedef.c": line 7) + +typedef int uint64; +void f(uint64 a) +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/typedef/reduction/r000111.c.hs b/rtree-c/test/expected/typedef/reduction/r000111.c.hs new file mode 100644 index 0000000..8d49dd6 --- /dev/null +++ b/rtree-c/test/expected/typedef/reduction/r000111.c.hs @@ -0,0 +1,94 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CStorageSpec + ( CTypedef () ) + , CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "uint64" 245092139 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CTypeDef + ( Ident "uint64" 245092139 () ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CTypeDef + ( Ident "uint64" 245092139 () ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 1 () ) + ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CVar + ( Ident "x" 120 () ) () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/typedef/reduction/r00100.c b/rtree-c/test/expected/typedef/reduction/r00100.c new file mode 100644 index 0000000..231bd00 --- /dev/null +++ b/rtree-c/test/expected/typedef/reduction/r00100.c @@ -0,0 +1,15 @@ +// 0 remove function f at ("test/cases/small/typedef.c": line 4) +// 0 remove parameter at ("test/cases/small/typedef.c": line 4) +// 1 remove empty compound at ("test/cases/small/typedef.c": line 4) +// 0 inline variable x at ("test/cases/small/typedef.c": line 8) +// 0 remove return statement at ("test/cases/small/typedef.c": line 9) + +typedef int uint64; +void f(uint64 a) +{ +} +int main() +{ + uint64 x = 1; + return x; +} diff --git a/rtree-c/test/expected/typedef/reduction/r00100.c.hs b/rtree-c/test/expected/typedef/reduction/r00100.c.hs new file mode 100644 index 0000000..8d49dd6 --- /dev/null +++ b/rtree-c/test/expected/typedef/reduction/r00100.c.hs @@ -0,0 +1,94 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CStorageSpec + ( CTypedef () ) + , CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "uint64" 245092139 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CTypeDef + ( Ident "uint64" 245092139 () ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CTypeDef + ( Ident "uint64" 245092139 () ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 1 () ) + ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CVar + ( Ident "x" 120 () ) () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/typedef/reduction/r00101.c b/rtree-c/test/expected/typedef/reduction/r00101.c new file mode 100644 index 0000000..3214e43 --- /dev/null +++ b/rtree-c/test/expected/typedef/reduction/r00101.c @@ -0,0 +1,14 @@ +// 0 remove function f at ("test/cases/small/typedef.c": line 4) +// 0 remove parameter at ("test/cases/small/typedef.c": line 4) +// 1 remove empty compound at ("test/cases/small/typedef.c": line 4) +// 0 inline variable x at ("test/cases/small/typedef.c": line 8) +// 1 remove return statement at ("test/cases/small/typedef.c": line 9) + +typedef int uint64; +void f(uint64 a) +{ +} +int main() +{ + uint64 x = 1; +} diff --git a/rtree-c/test/expected/typedef/reduction/r00101.c.hs b/rtree-c/test/expected/typedef/reduction/r00101.c.hs new file mode 100644 index 0000000..8d49dd6 --- /dev/null +++ b/rtree-c/test/expected/typedef/reduction/r00101.c.hs @@ -0,0 +1,94 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CStorageSpec + ( CTypedef () ) + , CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "uint64" 245092139 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CTypeDef + ( Ident "uint64" 245092139 () ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CTypeDef + ( Ident "uint64" 245092139 () ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 1 () ) + ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CVar + ( Ident "x" 120 () ) () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/typedef/reduction/r00110.c b/rtree-c/test/expected/typedef/reduction/r00110.c new file mode 100644 index 0000000..6c9eb8f --- /dev/null +++ b/rtree-c/test/expected/typedef/reduction/r00110.c @@ -0,0 +1,14 @@ +// 0 remove function f at ("test/cases/small/typedef.c": line 4) +// 0 remove parameter at ("test/cases/small/typedef.c": line 4) +// 1 remove empty compound at ("test/cases/small/typedef.c": line 4) +// 1 inline variable x at ("test/cases/small/typedef.c": line 8) +// 0 remove return statement at ("test/cases/small/typedef.c": line 9) + +typedef int uint64; +void f(uint64 a) +{ +} +int main() +{ + return 1; +} diff --git a/rtree-c/test/expected/typedef/reduction/r00110.c.hs b/rtree-c/test/expected/typedef/reduction/r00110.c.hs new file mode 100644 index 0000000..8d49dd6 --- /dev/null +++ b/rtree-c/test/expected/typedef/reduction/r00110.c.hs @@ -0,0 +1,94 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CStorageSpec + ( CTypedef () ) + , CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "uint64" 245092139 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CTypeDef + ( Ident "uint64" 245092139 () ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CTypeDef + ( Ident "uint64" 245092139 () ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 1 () ) + ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CVar + ( Ident "x" 120 () ) () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/typedef/reduction/r001110.c b/rtree-c/test/expected/typedef/reduction/r001110.c new file mode 100644 index 0000000..fd87f6b --- /dev/null +++ b/rtree-c/test/expected/typedef/reduction/r001110.c @@ -0,0 +1,14 @@ +// 0 remove function f at ("test/cases/small/typedef.c": line 4) +// 0 remove parameter at ("test/cases/small/typedef.c": line 4) +// 1 remove empty compound at ("test/cases/small/typedef.c": line 4) +// 1 inline variable x at ("test/cases/small/typedef.c": line 8) +// 1 remove return statement at ("test/cases/small/typedef.c": line 9) +// 0 remove empty compound at ("test/cases/small/typedef.c": line 7) + +typedef int uint64; +void f(uint64 a) +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/typedef/reduction/r001110.c.hs b/rtree-c/test/expected/typedef/reduction/r001110.c.hs new file mode 100644 index 0000000..8d49dd6 --- /dev/null +++ b/rtree-c/test/expected/typedef/reduction/r001110.c.hs @@ -0,0 +1,94 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CStorageSpec + ( CTypedef () ) + , CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "uint64" 245092139 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CTypeDef + ( Ident "uint64" 245092139 () ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CTypeDef + ( Ident "uint64" 245092139 () ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 1 () ) + ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CVar + ( Ident "x" 120 () ) () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/typedef/reduction/r001111.c b/rtree-c/test/expected/typedef/reduction/r001111.c new file mode 100644 index 0000000..6d59fc6 --- /dev/null +++ b/rtree-c/test/expected/typedef/reduction/r001111.c @@ -0,0 +1,14 @@ +// 0 remove function f at ("test/cases/small/typedef.c": line 4) +// 0 remove parameter at ("test/cases/small/typedef.c": line 4) +// 1 remove empty compound at ("test/cases/small/typedef.c": line 4) +// 1 inline variable x at ("test/cases/small/typedef.c": line 8) +// 1 remove return statement at ("test/cases/small/typedef.c": line 9) +// 1 remove empty compound at ("test/cases/small/typedef.c": line 7) + +typedef int uint64; +void f(uint64 a) +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/typedef/reduction/r001111.c.hs b/rtree-c/test/expected/typedef/reduction/r001111.c.hs new file mode 100644 index 0000000..8d49dd6 --- /dev/null +++ b/rtree-c/test/expected/typedef/reduction/r001111.c.hs @@ -0,0 +1,94 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CStorageSpec + ( CTypedef () ) + , CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "uint64" 245092139 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CTypeDef + ( Ident "uint64" 245092139 () ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CTypeDef + ( Ident "uint64" 245092139 () ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 1 () ) + ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CVar + ( Ident "x" 120 () ) () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/typedef/reduction/r0100.c b/rtree-c/test/expected/typedef/reduction/r01000.c similarity index 83% rename from rtree-c/test/expected/typedef/reduction/r0100.c rename to rtree-c/test/expected/typedef/reduction/r01000.c index 4cfd2ac..738f0ec 100644 --- a/rtree-c/test/expected/typedef/reduction/r0100.c +++ b/rtree-c/test/expected/typedef/reduction/r01000.c @@ -1,5 +1,6 @@ // 0 remove function f at ("test/cases/small/typedef.c": line 4) // 1 remove parameter at ("test/cases/small/typedef.c": line 4) +// 0 remove empty compound at ("test/cases/small/typedef.c": line 4) // 0 inline variable x at ("test/cases/small/typedef.c": line 8) // 0 remove return statement at ("test/cases/small/typedef.c": line 9) diff --git a/rtree-c/test/expected/typedef/reduction/r01000.c.hs b/rtree-c/test/expected/typedef/reduction/r01000.c.hs new file mode 100644 index 0000000..8d49dd6 --- /dev/null +++ b/rtree-c/test/expected/typedef/reduction/r01000.c.hs @@ -0,0 +1,94 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CStorageSpec + ( CTypedef () ) + , CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "uint64" 245092139 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CTypeDef + ( Ident "uint64" 245092139 () ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CTypeDef + ( Ident "uint64" 245092139 () ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 1 () ) + ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CVar + ( Ident "x" 120 () ) () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/typedef/reduction/r0101.c b/rtree-c/test/expected/typedef/reduction/r01001.c similarity index 82% rename from rtree-c/test/expected/typedef/reduction/r0101.c rename to rtree-c/test/expected/typedef/reduction/r01001.c index ea9c783..7bce9f6 100644 --- a/rtree-c/test/expected/typedef/reduction/r0101.c +++ b/rtree-c/test/expected/typedef/reduction/r01001.c @@ -1,5 +1,6 @@ // 0 remove function f at ("test/cases/small/typedef.c": line 4) // 1 remove parameter at ("test/cases/small/typedef.c": line 4) +// 0 remove empty compound at ("test/cases/small/typedef.c": line 4) // 0 inline variable x at ("test/cases/small/typedef.c": line 8) // 1 remove return statement at ("test/cases/small/typedef.c": line 9) diff --git a/rtree-c/test/expected/typedef/reduction/r01001.c.hs b/rtree-c/test/expected/typedef/reduction/r01001.c.hs new file mode 100644 index 0000000..8d49dd6 --- /dev/null +++ b/rtree-c/test/expected/typedef/reduction/r01001.c.hs @@ -0,0 +1,94 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CStorageSpec + ( CTypedef () ) + , CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "uint64" 245092139 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CTypeDef + ( Ident "uint64" 245092139 () ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CTypeDef + ( Ident "uint64" 245092139 () ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 1 () ) + ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CVar + ( Ident "x" 120 () ) () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/typedef/reduction/r0110.c b/rtree-c/test/expected/typedef/reduction/r01010.c similarity index 82% rename from rtree-c/test/expected/typedef/reduction/r0110.c rename to rtree-c/test/expected/typedef/reduction/r01010.c index e54fbe7..f68c94e 100644 --- a/rtree-c/test/expected/typedef/reduction/r0110.c +++ b/rtree-c/test/expected/typedef/reduction/r01010.c @@ -1,5 +1,6 @@ // 0 remove function f at ("test/cases/small/typedef.c": line 4) // 1 remove parameter at ("test/cases/small/typedef.c": line 4) +// 0 remove empty compound at ("test/cases/small/typedef.c": line 4) // 1 inline variable x at ("test/cases/small/typedef.c": line 8) // 0 remove return statement at ("test/cases/small/typedef.c": line 9) diff --git a/rtree-c/test/expected/typedef/reduction/r01010.c.hs b/rtree-c/test/expected/typedef/reduction/r01010.c.hs new file mode 100644 index 0000000..8d49dd6 --- /dev/null +++ b/rtree-c/test/expected/typedef/reduction/r01010.c.hs @@ -0,0 +1,94 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CStorageSpec + ( CTypedef () ) + , CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "uint64" 245092139 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CTypeDef + ( Ident "uint64" 245092139 () ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CTypeDef + ( Ident "uint64" 245092139 () ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 1 () ) + ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CVar + ( Ident "x" 120 () ) () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/typedef/reduction/r0111.c b/rtree-c/test/expected/typedef/reduction/r010110.c similarity index 69% rename from rtree-c/test/expected/typedef/reduction/r0111.c rename to rtree-c/test/expected/typedef/reduction/r010110.c index 5a69909..68b93d1 100644 --- a/rtree-c/test/expected/typedef/reduction/r0111.c +++ b/rtree-c/test/expected/typedef/reduction/r010110.c @@ -1,7 +1,9 @@ // 0 remove function f at ("test/cases/small/typedef.c": line 4) // 1 remove parameter at ("test/cases/small/typedef.c": line 4) +// 0 remove empty compound at ("test/cases/small/typedef.c": line 4) // 1 inline variable x at ("test/cases/small/typedef.c": line 8) // 1 remove return statement at ("test/cases/small/typedef.c": line 9) +// 0 remove empty compound at ("test/cases/small/typedef.c": line 7) typedef int uint64; void f() diff --git a/rtree-c/test/expected/typedef/reduction/r010110.c.hs b/rtree-c/test/expected/typedef/reduction/r010110.c.hs new file mode 100644 index 0000000..8d49dd6 --- /dev/null +++ b/rtree-c/test/expected/typedef/reduction/r010110.c.hs @@ -0,0 +1,94 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CStorageSpec + ( CTypedef () ) + , CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "uint64" 245092139 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CTypeDef + ( Ident "uint64" 245092139 () ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CTypeDef + ( Ident "uint64" 245092139 () ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 1 () ) + ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CVar + ( Ident "x" 120 () ) () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/typedef/reduction/r010111.c b/rtree-c/test/expected/typedef/reduction/r010111.c new file mode 100644 index 0000000..12edac8 --- /dev/null +++ b/rtree-c/test/expected/typedef/reduction/r010111.c @@ -0,0 +1,14 @@ +// 0 remove function f at ("test/cases/small/typedef.c": line 4) +// 1 remove parameter at ("test/cases/small/typedef.c": line 4) +// 0 remove empty compound at ("test/cases/small/typedef.c": line 4) +// 1 inline variable x at ("test/cases/small/typedef.c": line 8) +// 1 remove return statement at ("test/cases/small/typedef.c": line 9) +// 1 remove empty compound at ("test/cases/small/typedef.c": line 7) + +typedef int uint64; +void f() +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/typedef/reduction/r010111.c.hs b/rtree-c/test/expected/typedef/reduction/r010111.c.hs new file mode 100644 index 0000000..8d49dd6 --- /dev/null +++ b/rtree-c/test/expected/typedef/reduction/r010111.c.hs @@ -0,0 +1,94 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CStorageSpec + ( CTypedef () ) + , CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "uint64" 245092139 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CTypeDef + ( Ident "uint64" 245092139 () ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CTypeDef + ( Ident "uint64" 245092139 () ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 1 () ) + ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CVar + ( Ident "x" 120 () ) () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/typedef/reduction/r01100.c b/rtree-c/test/expected/typedef/reduction/r01100.c new file mode 100644 index 0000000..be3236c --- /dev/null +++ b/rtree-c/test/expected/typedef/reduction/r01100.c @@ -0,0 +1,15 @@ +// 0 remove function f at ("test/cases/small/typedef.c": line 4) +// 1 remove parameter at ("test/cases/small/typedef.c": line 4) +// 1 remove empty compound at ("test/cases/small/typedef.c": line 4) +// 0 inline variable x at ("test/cases/small/typedef.c": line 8) +// 0 remove return statement at ("test/cases/small/typedef.c": line 9) + +typedef int uint64; +void f() +{ +} +int main() +{ + uint64 x = 1; + return x; +} diff --git a/rtree-c/test/expected/typedef/reduction/r01100.c.hs b/rtree-c/test/expected/typedef/reduction/r01100.c.hs new file mode 100644 index 0000000..8d49dd6 --- /dev/null +++ b/rtree-c/test/expected/typedef/reduction/r01100.c.hs @@ -0,0 +1,94 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CStorageSpec + ( CTypedef () ) + , CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "uint64" 245092139 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CTypeDef + ( Ident "uint64" 245092139 () ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CTypeDef + ( Ident "uint64" 245092139 () ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 1 () ) + ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CVar + ( Ident "x" 120 () ) () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/typedef/reduction/r01101.c b/rtree-c/test/expected/typedef/reduction/r01101.c new file mode 100644 index 0000000..ffddec5 --- /dev/null +++ b/rtree-c/test/expected/typedef/reduction/r01101.c @@ -0,0 +1,14 @@ +// 0 remove function f at ("test/cases/small/typedef.c": line 4) +// 1 remove parameter at ("test/cases/small/typedef.c": line 4) +// 1 remove empty compound at ("test/cases/small/typedef.c": line 4) +// 0 inline variable x at ("test/cases/small/typedef.c": line 8) +// 1 remove return statement at ("test/cases/small/typedef.c": line 9) + +typedef int uint64; +void f() +{ +} +int main() +{ + uint64 x = 1; +} diff --git a/rtree-c/test/expected/typedef/reduction/r01101.c.hs b/rtree-c/test/expected/typedef/reduction/r01101.c.hs new file mode 100644 index 0000000..8d49dd6 --- /dev/null +++ b/rtree-c/test/expected/typedef/reduction/r01101.c.hs @@ -0,0 +1,94 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CStorageSpec + ( CTypedef () ) + , CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "uint64" 245092139 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CTypeDef + ( Ident "uint64" 245092139 () ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CTypeDef + ( Ident "uint64" 245092139 () ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 1 () ) + ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CVar + ( Ident "x" 120 () ) () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/typedef/reduction/r01110.c b/rtree-c/test/expected/typedef/reduction/r01110.c new file mode 100644 index 0000000..c07bc66 --- /dev/null +++ b/rtree-c/test/expected/typedef/reduction/r01110.c @@ -0,0 +1,14 @@ +// 0 remove function f at ("test/cases/small/typedef.c": line 4) +// 1 remove parameter at ("test/cases/small/typedef.c": line 4) +// 1 remove empty compound at ("test/cases/small/typedef.c": line 4) +// 1 inline variable x at ("test/cases/small/typedef.c": line 8) +// 0 remove return statement at ("test/cases/small/typedef.c": line 9) + +typedef int uint64; +void f() +{ +} +int main() +{ + return 1; +} diff --git a/rtree-c/test/expected/typedef/reduction/r01110.c.hs b/rtree-c/test/expected/typedef/reduction/r01110.c.hs new file mode 100644 index 0000000..8d49dd6 --- /dev/null +++ b/rtree-c/test/expected/typedef/reduction/r01110.c.hs @@ -0,0 +1,94 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CStorageSpec + ( CTypedef () ) + , CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "uint64" 245092139 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CTypeDef + ( Ident "uint64" 245092139 () ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CTypeDef + ( Ident "uint64" 245092139 () ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 1 () ) + ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CVar + ( Ident "x" 120 () ) () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/typedef/reduction/r011110.c b/rtree-c/test/expected/typedef/reduction/r011110.c new file mode 100644 index 0000000..29233a1 --- /dev/null +++ b/rtree-c/test/expected/typedef/reduction/r011110.c @@ -0,0 +1,14 @@ +// 0 remove function f at ("test/cases/small/typedef.c": line 4) +// 1 remove parameter at ("test/cases/small/typedef.c": line 4) +// 1 remove empty compound at ("test/cases/small/typedef.c": line 4) +// 1 inline variable x at ("test/cases/small/typedef.c": line 8) +// 1 remove return statement at ("test/cases/small/typedef.c": line 9) +// 0 remove empty compound at ("test/cases/small/typedef.c": line 7) + +typedef int uint64; +void f() +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/typedef/reduction/r011110.c.hs b/rtree-c/test/expected/typedef/reduction/r011110.c.hs new file mode 100644 index 0000000..8d49dd6 --- /dev/null +++ b/rtree-c/test/expected/typedef/reduction/r011110.c.hs @@ -0,0 +1,94 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CStorageSpec + ( CTypedef () ) + , CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "uint64" 245092139 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CTypeDef + ( Ident "uint64" 245092139 () ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CTypeDef + ( Ident "uint64" 245092139 () ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 1 () ) + ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CVar + ( Ident "x" 120 () ) () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/typedef/reduction/r011111.c b/rtree-c/test/expected/typedef/reduction/r011111.c new file mode 100644 index 0000000..f7fb805 --- /dev/null +++ b/rtree-c/test/expected/typedef/reduction/r011111.c @@ -0,0 +1,14 @@ +// 0 remove function f at ("test/cases/small/typedef.c": line 4) +// 1 remove parameter at ("test/cases/small/typedef.c": line 4) +// 1 remove empty compound at ("test/cases/small/typedef.c": line 4) +// 1 inline variable x at ("test/cases/small/typedef.c": line 8) +// 1 remove return statement at ("test/cases/small/typedef.c": line 9) +// 1 remove empty compound at ("test/cases/small/typedef.c": line 7) + +typedef int uint64; +void f() +{ +} +int main() +{ +} diff --git a/rtree-c/test/expected/typedef/reduction/r011111.c.hs b/rtree-c/test/expected/typedef/reduction/r011111.c.hs new file mode 100644 index 0000000..8d49dd6 --- /dev/null +++ b/rtree-c/test/expected/typedef/reduction/r011111.c.hs @@ -0,0 +1,94 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CStorageSpec + ( CTypedef () ) + , CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "uint64" 245092139 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CTypeDef + ( Ident "uint64" 245092139 () ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CTypeDef + ( Ident "uint64" 245092139 () ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 1 () ) + ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CVar + ( Ident "x" 120 () ) () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/typedef/reduction/r100.c.hs b/rtree-c/test/expected/typedef/reduction/r100.c.hs new file mode 100644 index 0000000..8d49dd6 --- /dev/null +++ b/rtree-c/test/expected/typedef/reduction/r100.c.hs @@ -0,0 +1,94 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CStorageSpec + ( CTypedef () ) + , CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "uint64" 245092139 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CTypeDef + ( Ident "uint64" 245092139 () ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CTypeDef + ( Ident "uint64" 245092139 () ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 1 () ) + ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CVar + ( Ident "x" 120 () ) () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/typedef/reduction/r101.c.hs b/rtree-c/test/expected/typedef/reduction/r101.c.hs new file mode 100644 index 0000000..8d49dd6 --- /dev/null +++ b/rtree-c/test/expected/typedef/reduction/r101.c.hs @@ -0,0 +1,94 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CStorageSpec + ( CTypedef () ) + , CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "uint64" 245092139 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CTypeDef + ( Ident "uint64" 245092139 () ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CTypeDef + ( Ident "uint64" 245092139 () ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 1 () ) + ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CVar + ( Ident "x" 120 () ) () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/typedef/reduction/r110.c.hs b/rtree-c/test/expected/typedef/reduction/r110.c.hs new file mode 100644 index 0000000..8d49dd6 --- /dev/null +++ b/rtree-c/test/expected/typedef/reduction/r110.c.hs @@ -0,0 +1,94 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CStorageSpec + ( CTypedef () ) + , CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "uint64" 245092139 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CTypeDef + ( Ident "uint64" 245092139 () ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CTypeDef + ( Ident "uint64" 245092139 () ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 1 () ) + ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CVar + ( Ident "x" 120 () ) () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/typedef/reduction/r111.c b/rtree-c/test/expected/typedef/reduction/r1110.c similarity index 77% rename from rtree-c/test/expected/typedef/reduction/r111.c rename to rtree-c/test/expected/typedef/reduction/r1110.c index 89442c7..8c8eedc 100644 --- a/rtree-c/test/expected/typedef/reduction/r111.c +++ b/rtree-c/test/expected/typedef/reduction/r1110.c @@ -1,6 +1,7 @@ // 1 remove function f at ("test/cases/small/typedef.c": line 4) // 1 inline variable x at ("test/cases/small/typedef.c": line 8) // 1 remove return statement at ("test/cases/small/typedef.c": line 9) +// 0 remove empty compound at ("test/cases/small/typedef.c": line 7) typedef int uint64; int main() diff --git a/rtree-c/test/expected/typedef/reduction/r1110.c.hs b/rtree-c/test/expected/typedef/reduction/r1110.c.hs new file mode 100644 index 0000000..8d49dd6 --- /dev/null +++ b/rtree-c/test/expected/typedef/reduction/r1110.c.hs @@ -0,0 +1,94 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CStorageSpec + ( CTypedef () ) + , CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "uint64" 245092139 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CTypeDef + ( Ident "uint64" 245092139 () ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CTypeDef + ( Ident "uint64" 245092139 () ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 1 () ) + ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CVar + ( Ident "x" 120 () ) () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/typedef/reduction/r1111.c b/rtree-c/test/expected/typedef/reduction/r1111.c new file mode 100644 index 0000000..7ae8e89 --- /dev/null +++ b/rtree-c/test/expected/typedef/reduction/r1111.c @@ -0,0 +1,9 @@ +// 1 remove function f at ("test/cases/small/typedef.c": line 4) +// 1 inline variable x at ("test/cases/small/typedef.c": line 8) +// 1 remove return statement at ("test/cases/small/typedef.c": line 9) +// 1 remove empty compound at ("test/cases/small/typedef.c": line 7) + +typedef int uint64; +int main() +{ +} diff --git a/rtree-c/test/expected/typedef/reduction/r1111.c.hs b/rtree-c/test/expected/typedef/reduction/r1111.c.hs new file mode 100644 index 0000000..8d49dd6 --- /dev/null +++ b/rtree-c/test/expected/typedef/reduction/r1111.c.hs @@ -0,0 +1,94 @@ +CTranslUnit + [ CDeclExt + ( CDecl + [ CStorageSpec + ( CTypedef () ) + , CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "uint64" 245092139 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CVoidType () ) + ] + ( CDeclr + ( Just + ( Ident "f" 102 () ) + ) + [ CFunDeclr + ( CFunParamsNew + [ CDecl + [ CTypeSpec + ( CTypeDef + ( Ident "uint64" 245092139 () ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "a" 97 () ) + ) [] Nothing [] () + ) Nothing Nothing + ] () + ] False + ) [] () + ] Nothing [] () + ) [] + ( CCompound [] [] () ) () + ) + , CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CTypeDef + ( Ident "uint64" 245092139 () ) () + ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "x" 120 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 1 () ) + ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CReturn + ( Just + ( CVar + ( Ident "x" 120 () ) () + ) + ) () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/while-loops/reduction/r0000.c.hs b/rtree-c/test/expected/while-loops/reduction/r0000.c.hs new file mode 100644 index 0000000..a2acb51 --- /dev/null +++ b/rtree-c/test/expected/while-loops/reduction/r0000.c.hs @@ -0,0 +1,63 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "i" 105 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CWhile + ( CBinary CLeOp + ( CVar + ( Ident "i" 105 () ) () + ) + ( CConst + ( CIntConst 10 () ) + ) () + ) + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CUnary CPostIncOp + ( CVar + ( Ident "i" 105 () ) () + ) () + ) + ) () + ) + ] () + ) False () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/while-loops/reduction/r0001.c.hs b/rtree-c/test/expected/while-loops/reduction/r0001.c.hs new file mode 100644 index 0000000..a2acb51 --- /dev/null +++ b/rtree-c/test/expected/while-loops/reduction/r0001.c.hs @@ -0,0 +1,63 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "i" 105 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CWhile + ( CBinary CLeOp + ( CVar + ( Ident "i" 105 () ) () + ) + ( CConst + ( CIntConst 10 () ) + ) () + ) + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CUnary CPostIncOp + ( CVar + ( Ident "i" 105 () ) () + ) () + ) + ) () + ) + ] () + ) False () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/while-loops/reduction/r0010.c.hs b/rtree-c/test/expected/while-loops/reduction/r0010.c.hs new file mode 100644 index 0000000..a2acb51 --- /dev/null +++ b/rtree-c/test/expected/while-loops/reduction/r0010.c.hs @@ -0,0 +1,63 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "i" 105 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CWhile + ( CBinary CLeOp + ( CVar + ( Ident "i" 105 () ) () + ) + ( CConst + ( CIntConst 10 () ) + ) () + ) + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CUnary CPostIncOp + ( CVar + ( Ident "i" 105 () ) () + ) () + ) + ) () + ) + ] () + ) False () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/while-loops/reduction/r0011.c.hs b/rtree-c/test/expected/while-loops/reduction/r0011.c.hs new file mode 100644 index 0000000..a2acb51 --- /dev/null +++ b/rtree-c/test/expected/while-loops/reduction/r0011.c.hs @@ -0,0 +1,63 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "i" 105 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CWhile + ( CBinary CLeOp + ( CVar + ( Ident "i" 105 () ) () + ) + ( CConst + ( CIntConst 10 () ) + ) () + ) + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CUnary CPostIncOp + ( CVar + ( Ident "i" 105 () ) () + ) () + ) + ) () + ) + ] () + ) False () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/while-loops/reduction/r0100.c b/rtree-c/test/expected/while-loops/reduction/r0100.c new file mode 100644 index 0000000..416317d --- /dev/null +++ b/rtree-c/test/expected/while-loops/reduction/r0100.c @@ -0,0 +1,12 @@ +// 0 inline variable i at ("test/cases/small/while-loops.c": line 2) +// 1 remove expr statement at ("test/cases/small/while-loops.c": line 4) +// 0 remove empty compound at ("test/cases/small/while-loops.c": line 3) +// 0 replace by zero at ("test/cases/small/while-loops.c": line 3) + +int main() +{ + int i = 0; + while (i < 10) + { + } +} diff --git a/rtree-c/test/expected/while-loops/reduction/r0100.c.hs b/rtree-c/test/expected/while-loops/reduction/r0100.c.hs new file mode 100644 index 0000000..a2acb51 --- /dev/null +++ b/rtree-c/test/expected/while-loops/reduction/r0100.c.hs @@ -0,0 +1,63 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "i" 105 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CWhile + ( CBinary CLeOp + ( CVar + ( Ident "i" 105 () ) () + ) + ( CConst + ( CIntConst 10 () ) + ) () + ) + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CUnary CPostIncOp + ( CVar + ( Ident "i" 105 () ) () + ) () + ) + ) () + ) + ] () + ) False () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/while-loops/reduction/r0101.c b/rtree-c/test/expected/while-loops/reduction/r0101.c new file mode 100644 index 0000000..e501a6c --- /dev/null +++ b/rtree-c/test/expected/while-loops/reduction/r0101.c @@ -0,0 +1,12 @@ +// 0 inline variable i at ("test/cases/small/while-loops.c": line 2) +// 1 remove expr statement at ("test/cases/small/while-loops.c": line 4) +// 0 remove empty compound at ("test/cases/small/while-loops.c": line 3) +// 1 replace by zero at ("test/cases/small/while-loops.c": line 3) + +int main() +{ + int i = 0; + while (0) + { + } +} diff --git a/rtree-c/test/expected/while-loops/reduction/r0101.c.hs b/rtree-c/test/expected/while-loops/reduction/r0101.c.hs new file mode 100644 index 0000000..a2acb51 --- /dev/null +++ b/rtree-c/test/expected/while-loops/reduction/r0101.c.hs @@ -0,0 +1,63 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "i" 105 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CWhile + ( CBinary CLeOp + ( CVar + ( Ident "i" 105 () ) () + ) + ( CConst + ( CIntConst 10 () ) + ) () + ) + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CUnary CPostIncOp + ( CVar + ( Ident "i" 105 () ) () + ) () + ) + ) () + ) + ] () + ) False () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/while-loops/reduction/r01.c b/rtree-c/test/expected/while-loops/reduction/r011.c similarity index 70% rename from rtree-c/test/expected/while-loops/reduction/r01.c rename to rtree-c/test/expected/while-loops/reduction/r011.c index 7b9e05d..cab76ed 100644 --- a/rtree-c/test/expected/while-loops/reduction/r01.c +++ b/rtree-c/test/expected/while-loops/reduction/r011.c @@ -1,5 +1,6 @@ // 0 inline variable i at ("test/cases/small/while-loops.c": line 2) // 1 remove expr statement at ("test/cases/small/while-loops.c": line 4) +// 1 remove empty compound at ("test/cases/small/while-loops.c": line 3) int main() { diff --git a/rtree-c/test/expected/while-loops/reduction/r011.c.hs b/rtree-c/test/expected/while-loops/reduction/r011.c.hs new file mode 100644 index 0000000..a2acb51 --- /dev/null +++ b/rtree-c/test/expected/while-loops/reduction/r011.c.hs @@ -0,0 +1,63 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "i" 105 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CWhile + ( CBinary CLeOp + ( CVar + ( Ident "i" 105 () ) () + ) + ( CConst + ( CIntConst 10 () ) + ) () + ) + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CUnary CPostIncOp + ( CVar + ( Ident "i" 105 () ) () + ) () + ) + ) () + ) + ] () + ) False () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/while-loops/reduction/r1.c b/rtree-c/test/expected/while-loops/reduction/r1.c deleted file mode 100644 index f34ba2b..0000000 --- a/rtree-c/test/expected/while-loops/reduction/r1.c +++ /dev/null @@ -1,5 +0,0 @@ -// 1 inline variable i at ("test/cases/small/while-loops.c": line 2) - -int main() -{ -} diff --git a/rtree-c/test/expected/while-loops/reduction/r100.c b/rtree-c/test/expected/while-loops/reduction/r100.c new file mode 100644 index 0000000..1351a25 --- /dev/null +++ b/rtree-c/test/expected/while-loops/reduction/r100.c @@ -0,0 +1,10 @@ +// 1 inline variable i at ("test/cases/small/while-loops.c": line 2) +// 0 remove empty compound at ("test/cases/small/while-loops.c": line 3) +// 0 replace by zero at ("test/cases/small/while-loops.c": line 3) + +int main() +{ + while (0 < 10) + { + } +} diff --git a/rtree-c/test/expected/while-loops/reduction/r100.c.hs b/rtree-c/test/expected/while-loops/reduction/r100.c.hs new file mode 100644 index 0000000..a2acb51 --- /dev/null +++ b/rtree-c/test/expected/while-loops/reduction/r100.c.hs @@ -0,0 +1,63 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "i" 105 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CWhile + ( CBinary CLeOp + ( CVar + ( Ident "i" 105 () ) () + ) + ( CConst + ( CIntConst 10 () ) + ) () + ) + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CUnary CPostIncOp + ( CVar + ( Ident "i" 105 () ) () + ) () + ) + ) () + ) + ] () + ) False () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/while-loops/reduction/r101.c b/rtree-c/test/expected/while-loops/reduction/r101.c new file mode 100644 index 0000000..5afe597 --- /dev/null +++ b/rtree-c/test/expected/while-loops/reduction/r101.c @@ -0,0 +1,10 @@ +// 1 inline variable i at ("test/cases/small/while-loops.c": line 2) +// 0 remove empty compound at ("test/cases/small/while-loops.c": line 3) +// 1 replace by zero at ("test/cases/small/while-loops.c": line 3) + +int main() +{ + while (0) + { + } +} diff --git a/rtree-c/test/expected/while-loops/reduction/r101.c.hs b/rtree-c/test/expected/while-loops/reduction/r101.c.hs new file mode 100644 index 0000000..a2acb51 --- /dev/null +++ b/rtree-c/test/expected/while-loops/reduction/r101.c.hs @@ -0,0 +1,63 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "i" 105 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CWhile + ( CBinary CLeOp + ( CVar + ( Ident "i" 105 () ) () + ) + ( CConst + ( CIntConst 10 () ) + ) () + ) + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CUnary CPostIncOp + ( CVar + ( Ident "i" 105 () ) () + ) () + ) + ) () + ) + ] () + ) False () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/while-loops/reduction/r110.c b/rtree-c/test/expected/while-loops/reduction/r110.c new file mode 100644 index 0000000..7c5f996 --- /dev/null +++ b/rtree-c/test/expected/while-loops/reduction/r110.c @@ -0,0 +1,7 @@ +// 1 inline variable i at ("test/cases/small/while-loops.c": line 2) +// 1 remove empty compound at ("test/cases/small/while-loops.c": line 3) +// 0 remove empty compound at ("test/cases/small/while-loops.c": line 1) + +int main() +{ +} diff --git a/rtree-c/test/expected/while-loops/reduction/r110.c.hs b/rtree-c/test/expected/while-loops/reduction/r110.c.hs new file mode 100644 index 0000000..a2acb51 --- /dev/null +++ b/rtree-c/test/expected/while-loops/reduction/r110.c.hs @@ -0,0 +1,63 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "i" 105 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CWhile + ( CBinary CLeOp + ( CVar + ( Ident "i" 105 () ) () + ) + ( CConst + ( CIntConst 10 () ) + ) () + ) + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CUnary CPostIncOp + ( CVar + ( Ident "i" 105 () ) () + ) () + ) + ) () + ) + ] () + ) False () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/expected/while-loops/reduction/r111.c b/rtree-c/test/expected/while-loops/reduction/r111.c new file mode 100644 index 0000000..afa6daf --- /dev/null +++ b/rtree-c/test/expected/while-loops/reduction/r111.c @@ -0,0 +1,7 @@ +// 1 inline variable i at ("test/cases/small/while-loops.c": line 2) +// 1 remove empty compound at ("test/cases/small/while-loops.c": line 3) +// 1 remove empty compound at ("test/cases/small/while-loops.c": line 1) + +int main() +{ +} diff --git a/rtree-c/test/expected/while-loops/reduction/r111.c.hs b/rtree-c/test/expected/while-loops/reduction/r111.c.hs new file mode 100644 index 0000000..a2acb51 --- /dev/null +++ b/rtree-c/test/expected/while-loops/reduction/r111.c.hs @@ -0,0 +1,63 @@ +CTranslUnit + [ CFDefExt + ( CFunDef + [ CTypeSpec + ( CIntType () ) + ] + ( CDeclr + ( Just + ( Ident "main" 232419565 () ) + ) + [ CFunDeclr + ( CFunParamsNew [] False ) [] () + ] Nothing [] () + ) [] + ( CCompound [] + [ CBlockDecl + ( CDecl + [ CTypeSpec + ( CIntType () ) + ] + [ CDeclarationItem + ( CDeclr + ( Just + ( Ident "i" 105 () ) + ) [] Nothing [] () + ) + ( Just + ( CInitExpr + ( CConst + ( CIntConst 0 () ) + ) () + ) + ) Nothing + ] () + ) + , CBlockStmt + ( CWhile + ( CBinary CLeOp + ( CVar + ( Ident "i" 105 () ) () + ) + ( CConst + ( CIntConst 10 () ) + ) () + ) + ( CCompound [] + [ CBlockStmt + ( CExpr + ( Just + ( CUnary CPostIncOp + ( CVar + ( Ident "i" 105 () ) () + ) () + ) + ) () + ) + ] () + ) False () + ) + ] () + ) () + ) + ] () diff --git a/rtree-c/test/src/ReduceCSpec.hs b/rtree-c/test/src/ReduceCSpec.hs index f2a221e..6ae8593 100644 --- a/rtree-c/test/src/ReduceCSpec.hs +++ b/rtree-c/test/src/ReduceCSpec.hs @@ -30,11 +30,13 @@ import Data.String import qualified Language.C.System.GCC as C import ReduceC import System.Directory.Internal.Prelude (tryIOError) +import System.IO import System.Process.Typed +import Text.Pretty.Simple spec :: Spec spec = do - specSmallCases + focus $ specSmallCases specLargeCases specLargeCases :: Spec @@ -115,15 +117,17 @@ specSmallCases = do forM_ (RTree.iinputs (defaultReduceC c)) \(i, _) -> do let rfile = expected </> "reduction" </> "r" <> debugShow i <.> "c" renderWithChoices rfile (IRTree.probe (defaultReduceC c) i) + withFile (rfile <.> "hs") WriteMode \h -> + pHPrint h (c $> ()) ) - do - it "should validate all reductions" $ \a -> do - when (takeExtension a == ".c") do - validate a + do + it "should validate all reductions" $ \a -> do + when (takeExtension a == ".c") do + validate a validate :: FilePath -> IO () validate fp = do - (ec, _, stderr) <- readProcess (proc "clang" ["-o", "/dev/null", fp]) + (ec, _, stderr_) <- readProcess (proc "clang" ["-o", "/dev/null", fp]) case ec of ExitFailure _ -> expectationFailure $ @@ -134,7 +138,7 @@ validate fp = do . LazyText.unlines . filter (LazyText.isInfixOf "error") . LazyText.lines - $ LazyText.decodeUtf8 stderr + $ LazyText.decodeUtf8 stderr_ ) ExitSuccess -> pure () -- GitLab