From 3bf8a6f55e752d249ac61a40c798bbd1d95b2b80 Mon Sep 17 00:00:00 2001 From: Andrzej Sliwa Date: Wed, 9 Dec 2020 16:33:57 +0100 Subject: [PATCH] fixed problem with triming on string comparisions --- .../camelot64/kickc/test/ReferenceHelper.java | 2 +- .../dk/camelot64/kickc/test/TestPrograms.java | 2 +- src/test/kc/address-with-expression-value.c | 1 - .../ref/address-with-expression-value.cfg | 2 +- .../ref/address-with-expression-value.log | 26 +++++++++---------- 5 files changed, 16 insertions(+), 17 deletions(-) diff --git a/src/test/java/dk/camelot64/kickc/test/ReferenceHelper.java b/src/test/java/dk/camelot64/kickc/test/ReferenceHelper.java index 34f032750..115ca8088 100644 --- a/src/test/java/dk/camelot64/kickc/test/ReferenceHelper.java +++ b/src/test/java/dk/camelot64/kickc/test/ReferenceHelper.java @@ -47,7 +47,7 @@ abstract class ReferenceHelper { String outLine = outLines.get(i); if(refLines.size()>i) { String refLine = refLines.get(i); - if(!outLine.equals(refLine)) { + if(!outLine.trim().equals(refLine.trim())) { writeOutputFile(fileName, extension, outputString); System.out.println( "Output does not match reference on line "+i+"\n"+ diff --git a/src/test/java/dk/camelot64/kickc/test/TestPrograms.java b/src/test/java/dk/camelot64/kickc/test/TestPrograms.java index ac9bda80e..7a71aa7ec 100644 --- a/src/test/java/dk/camelot64/kickc/test/TestPrograms.java +++ b/src/test/java/dk/camelot64/kickc/test/TestPrograms.java @@ -1066,7 +1066,7 @@ public class TestPrograms { @Test public void testAddressWithExpressionValue() throws IOException, URISyntaxException { - compileAndCompare("address-with-expression-value.c"); + compileAndCompare("address-with-expression-value.c", log()); } @Test diff --git a/src/test/kc/address-with-expression-value.c b/src/test/kc/address-with-expression-value.c index 18a3d7a67..508ab4abc 100644 --- a/src/test/kc/address-with-expression-value.c +++ b/src/test/kc/address-with-expression-value.c @@ -13,4 +13,3 @@ char __address(var1 + var2) DATA[1000]; void main() { SCREEN[0] = DATA[0]; } - diff --git a/src/test/ref/address-with-expression-value.cfg b/src/test/ref/address-with-expression-value.cfg index 75a22405b..07d64fd31 100644 --- a/src/test/ref/address-with-expression-value.cfg +++ b/src/test/ref/address-with-expression-value.cfg @@ -4,6 +4,6 @@ main: scope:[main] from [0] *SCREEN = *DATA to:main::@return main::@return: scope:[main] from main - [1] return + [1] return to:@return diff --git a/src/test/ref/address-with-expression-value.log b/src/test/ref/address-with-expression-value.log index c4f35dcc8..182b57e20 100644 --- a/src/test/ref/address-with-expression-value.log +++ b/src/test/ref/address-with-expression-value.log @@ -6,17 +6,17 @@ main: scope:[main] from __start SCREEN[0] = DATA[0] to:main::@return main::@return: scope:[main] from main - return + return to:@return void __start() __start: scope:[__start] from - call main + call main to:__start::@1 __start::@1: scope:[__start] from __start to:__start::@return __start::@return: scope:[__start] from __start::@1 - return + return to:@return SYMBOL TABLE SSA @@ -55,7 +55,7 @@ main: scope:[main] from [0] *SCREEN = *DATA to:main::@return main::@return: scope:[main] from main - [1] return + [1] return to:@return @@ -65,14 +65,14 @@ void main() Initial phi equivalence classes Complete equivalence classes REGISTER UPLIFT POTENTIAL REGISTERS -Statement [0] *SCREEN = *DATA [ ] ( [ ] { } ) always clobbers reg byte a +Statement [0] *SCREEN = *DATA [ ] ( [ ] { } ) always clobbers reg byte a REGISTER UPLIFT SCOPES -Uplift Scope [main] -Uplift Scope [] +Uplift Scope [main] +Uplift Scope [] -Uplifting [main] best 17 combination -Uplifting [] best 17 combination +Uplifting [main] best 17 combination +Uplifting [] best 17 combination ASSEMBLER BEFORE OPTIMIZATION // File Comments @@ -86,13 +86,13 @@ ASSEMBLER BEFORE OPTIMIZATION .label SCREEN = $400 // main main: { - // [0] *SCREEN = *DATA -- _deref_pbuc1=_deref_pbuc2 + // [0] *SCREEN = *DATA -- _deref_pbuc1=_deref_pbuc2 lda DATA sta SCREEN jmp __breturn // main::@return __breturn: - // [1] return + // [1] return rts } // File Data @@ -128,12 +128,12 @@ Score: 14 // main main: { // SCREEN[0] = DATA[0] - // [0] *SCREEN = *DATA -- _deref_pbuc1=_deref_pbuc2 + // [0] *SCREEN = *DATA -- _deref_pbuc1=_deref_pbuc2 lda DATA sta SCREEN // main::@return // } - // [1] return + // [1] return rts } // File Data