diff --git a/Ghidra/Extensions/SleighDevTools/certification.manifest b/Ghidra/Extensions/SleighDevTools/certification.manifest index a8c04747c9..b2855cc41e 100644 --- a/Ghidra/Extensions/SleighDevTools/certification.manifest +++ b/Ghidra/Extensions/SleighDevTools/certification.manifest @@ -1,5 +1,4 @@ ##VERSION: 2.0 -.classpath||GHIDRA||||END| .project||GHIDRA||||END| Module.manifest||GHIDRA||||END| build.gradle||GHIDRA||||END| diff --git a/Ghidra/Extensions/SleighDevTools/pcodetest/c_src/BitManipulation.test b/Ghidra/Extensions/SleighDevTools/pcodetest/c_src/BitManipulation.test index a3031e3904..c0b7d48db9 100644 --- a/Ghidra/Extensions/SleighDevTools/pcodetest/c_src/BitManipulation.test +++ b/Ghidra/Extensions/SleighDevTools/pcodetest/c_src/BitManipulation.test @@ -74,7 +74,7 @@ TEST pcode_BM7_GetBitUnsignedShort_Main() ASSERTU2(pcode_BM7_GetBitUnsignedShort(0xFF, 1), 2); ASSERTU2(pcode_BM7_GetBitUnsignedShort(0, 1), 0); ASSERTU2(pcode_BM7_GetBitUnsignedShort(U2_MAX, 8), 256); - ASSERTU2(pcode_BM7_GetBitUnsignedShort(U2_MAX, 16), 0); + ASSERTU2(pcode_BM7_GetBitUnsignedShort(U2_MAX, 15), 32768); } TEST pcode_BM8_GetBitUnsignedChar_Main() @@ -309,7 +309,7 @@ TEST pcode_BM28_ToggleBitChar_Main() ASSERTI1(pcode_BM28_ToggleBitChar(0xFF, 1), -3); ASSERTI1(pcode_BM28_ToggleBitChar(0, 1), 2); ASSERTI1(pcode_BM28_ToggleBitChar(I1_MAX, 4), 111); - ASSERTI1(pcode_BM28_ToggleBitChar(I1_MAX, 8), 127); + ASSERTI1(pcode_BM28_ToggleBitChar(I1_MAX, 7), -1); } #ifdef HAS_LONGLONG diff --git a/Ghidra/Extensions/SleighDevTools/pcodetest/pcode_defs.py b/Ghidra/Extensions/SleighDevTools/pcodetest/pcode_defs.py index 65b2281af9..211354dca4 100644 --- a/Ghidra/Extensions/SleighDevTools/pcodetest/pcode_defs.py +++ b/Ghidra/Extensions/SleighDevTools/pcodetest/pcode_defs.py @@ -585,6 +585,26 @@ PCodeTest({ 'has_longlong': 0, }) +cunit({ + 'name': 'Z80', + 'toolchain': 'SDCC/z80', + 'toolchain_type': 'sdcc', + 'compile_exe': 'bin/sdcc', + 'ccflags': '-mz80 -V --verbose --std-sdcc11 -DINT4_IS_LONG', + 'language_id': 'z80:LE:16:default', + 'variants': {'OX':''}, + 'has_float': 0, + 'has_double': 0, + 'has_longlong': 0, + 'small_build': 1, + # Currently the 'omitted' option is only supported by the SDCC toolchain! + # Causes a bit of funk with tpp.py still including references to these + # tests in cunit_main.c but the compiler accepts it with a warning. + 'omitted': {'PointerManipulation', 'StructUnionManipulation'}, + # These tests are omitted because the SDCC compiler doesn't properly handle + # structs in functions and requires a more strict format than ANSI C requires. +}) + PCodeTest({ 'name': 'CR16C', 'build_all': 1,