From: Phil Burk Date: Sun, 15 Apr 2018 19:41:33 +0000 (-0700) Subject: Merge pull request #45 from linuxuser27/support2017 X-Git-Url: http://git.subgeniuskitty.com/pforth/.git/commitdiff_plain/566edb7be0ec4eab067cae1134be69466dce0b04?hp=faa0b8c8d718d9636fa452f349d4c4fa86189f54 Merge pull request #45 from linuxuser27/support2017 Support VS 2017 --- diff --git a/.gitignore b/.gitignore index 1f0c8f9..a20f893 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,7 @@ build/unix/pfdicdat.h build/unix/pforth build/unix/pforth.dic build/unix/pforth_standalone +build/win32/**/.vs +build/win32/**/Debug +build/win32/**/Release fth/fatest1.txt diff --git a/build/win32/vs2017/pforth.sln b/build/win32/vs2017/pforth.sln new file mode 100644 index 0000000..3e19d6a --- /dev/null +++ b/build/win32/vs2017/pforth.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.27130.2010 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pforth_main", "pforth_main.vcxproj", "{58B76DB8-1985-4B8A-8E71-C012D8F0C518}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {58B76DB8-1985-4B8A-8E71-C012D8F0C518}.Debug|Win32.ActiveCfg = Debug|Win32 + {58B76DB8-1985-4B8A-8E71-C012D8F0C518}.Debug|Win32.Build.0 = Debug|Win32 + {58B76DB8-1985-4B8A-8E71-C012D8F0C518}.Release|Win32.ActiveCfg = Release|Win32 + {58B76DB8-1985-4B8A-8E71-C012D8F0C518}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {4FCA3FD0-0EBB-4534-9A49-51A638D09B2F} + EndGlobalSection +EndGlobal diff --git a/build/win32/vs2017/pforth_main.vcxproj b/build/win32/vs2017/pforth_main.vcxproj new file mode 100644 index 0000000..ca50ca4 --- /dev/null +++ b/build/win32/vs2017/pforth_main.vcxproj @@ -0,0 +1,130 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {58B76DB8-1985-4B8A-8E71-C012D8F0C518} + pforth_main + Win32Proj + pforth + + + + Application + v141 + NotSet + true + + + Application + v141 + Unicode + + + + + + + + + + + + + <_ProjectFileVersion>15.0.27130.2010 + + + $(SolutionDir)..\..\..\fth\ + $(Configuration)\ + true + + + $(SolutionDir)..\..\..\fth\ + $(Configuration)\ + false + + + + Disabled + WIN32;_DEBUG;_CONSOLE;PF_SUPPORT_FP;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + + Level3 + EditAndContinue + + + true + Console + MachineX86 + + + + + WIN32;NDEBUG;_CONSOLE;PF_SUPPORT_FP;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions) + MultiThreadedDLL + + Level3 + ProgramDatabase + + + true + Console + true + true + MachineX86 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/win32/vs2017/pforth_main.vcxproj.filters b/build/win32/vs2017/pforth_main.vcxproj.filters new file mode 100644 index 0000000..2f6b984 --- /dev/null +++ b/build/win32/vs2017/pforth_main.vcxproj.filters @@ -0,0 +1,123 @@ + + + + + Source + + + Source + + + Source + + + Source + + + Source + + + Source + + + Source + + + Source + + + Source + + + Source + + + Source + + + Source + + + Source + + + Source + + + Source + + + + + Include + + + Include + + + Include + + + Include + + + Include + + + Include + + + Include + + + Include + + + Include + + + Include + + + Include + + + Include + + + Include + + + Include + + + Include + + + Include + + + Include + + + Include + + + Include + + + Include + + + Include + + + + + {6711f4b0-6d8c-4641-8260-e6d2c953bd3b} + + + {298706eb-f166-4f0b-8404-a52c3fdf5d21} + + + \ No newline at end of file diff --git a/csrc/pf_inner.c b/csrc/pf_inner.c index 2e5aac6..295ee55 100644 --- a/csrc/pf_inner.c +++ b/csrc/pf_inner.c @@ -750,8 +750,8 @@ DBUGX(("After Branch: IP = 0x%x\n", InsPtr )); /* Calculate product sign: */ sg = ((cell_t)(ahi ^ bhi) < 0); /* Take absolute values and reduce to um* */ - if ((cell_t)ahi < 0) ahi = (ucell_t)(-ahi); - if ((cell_t)bhi < 0) bhi = (ucell_t)(-bhi); + if ((cell_t)ahi < 0) ahi = (ucell_t)(-(cell_t)ahi); + if ((cell_t)bhi < 0) bhi = (ucell_t)(-(cell_t)bhi); /* Break into hi and lo 16 bit parts. */ alo = LOWER_HALF(ahi); diff --git a/csrc/pf_save.c b/csrc/pf_save.c index 455b847..03f4ce8 100644 --- a/csrc/pf_save.c +++ b/csrc/pf_save.c @@ -459,7 +459,7 @@ cell_t ffSaveForth( const char *FileName, ExecToken EntryPoint, cell_t NameSize, NameSize = QUADUP(NameSize); /* Align */ if( NameSize > 0 ) { - NameSize = MAX( NameSize, (NameChunkSize + 1024) ); + NameSize = MAX( (ucell_t)NameSize, (NameChunkSize + 1024) ); } SD.sd_NameSize = NameSize; } @@ -467,7 +467,7 @@ cell_t ffSaveForth( const char *FileName, ExecToken EntryPoint, cell_t NameSize, /* How much real code is there? */ CodeChunkSize = QUADUP(relativeCodePtr); CodeSize = QUADUP(CodeSize); /* Align */ - CodeSize = MAX( CodeSize, (CodeChunkSize + 2048) ); + CodeSize = MAX( (ucell_t)CodeSize, (CodeChunkSize + 2048) ); SD.sd_CodeSize = CodeSize; diff --git a/csrc/pfinnrfp.h b/csrc/pfinnrfp.h index 6e2c628..ec476f7 100644 --- a/csrc/pfinnrfp.h +++ b/csrc/pfinnrfp.h @@ -207,7 +207,7 @@ case ID_FP_FROUND: PUSH_TOS; - TOS = fp_round(FP_TOS); + TOS = (cell_t)fp_round(FP_TOS); M_FP_DROP; break;