Merge pull request #50 from linuxuser27/win64_warnings
authorPhil Burk <philburk@mobileer.com>
Thu, 3 May 2018 03:40:21 +0000 (20:40 -0700)
committerGitHub <noreply@github.com>
Thu, 3 May 2018 03:40:21 +0000 (20:40 -0700)
Windows and 64-bit

12 files changed:
build/win32/vs2017/pforth.sln
build/win32/vs2017/pforth_main.vcxproj
csrc/pf_core.c
csrc/pf_guts.h
csrc/pf_inner.c
csrc/pf_main.c
csrc/pf_save.c
csrc/pf_text.c
csrc/pf_text.h
csrc/pfcompil.c
csrc/pfinnrfp.h
csrc/pforth.h

index 3e19d6a..b35fd9c 100644 (file)
@@ -8,13 +8,19 @@ EndProject
 Global
        GlobalSection(SolutionConfigurationPlatforms) = preSolution
                Debug|Win32 = Debug|Win32
 Global
        GlobalSection(SolutionConfigurationPlatforms) = preSolution
                Debug|Win32 = Debug|Win32
+               Debug|x64 = Debug|x64
                Release|Win32 = Release|Win32
                Release|Win32 = Release|Win32
+               Release|x64 = Release|x64
        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
        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}.Debug|x64.ActiveCfg = Debug|x64
+               {58B76DB8-1985-4B8A-8E71-C012D8F0C518}.Debug|x64.Build.0 = Debug|x64
                {58B76DB8-1985-4B8A-8E71-C012D8F0C518}.Release|Win32.ActiveCfg = Release|Win32
                {58B76DB8-1985-4B8A-8E71-C012D8F0C518}.Release|Win32.Build.0 = Release|Win32
                {58B76DB8-1985-4B8A-8E71-C012D8F0C518}.Release|Win32.ActiveCfg = Release|Win32
                {58B76DB8-1985-4B8A-8E71-C012D8F0C518}.Release|Win32.Build.0 = Release|Win32
+               {58B76DB8-1985-4B8A-8E71-C012D8F0C518}.Release|x64.ActiveCfg = Release|x64
+               {58B76DB8-1985-4B8A-8E71-C012D8F0C518}.Release|x64.Build.0 = Release|x64
        EndGlobalSection
        GlobalSection(SolutionProperties) = preSolution
                HideSolutionNode = FALSE
        EndGlobalSection
        GlobalSection(SolutionProperties) = preSolution
                HideSolutionNode = FALSE
index ca50ca4..0b6ab8b 100644 (file)
@@ -5,10 +5,18 @@
       <Configuration>Debug</Configuration>
       <Platform>Win32</Platform>
     </ProjectConfiguration>
       <Configuration>Debug</Configuration>
       <Platform>Win32</Platform>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
     <ProjectConfiguration Include="Release|Win32">
       <Configuration>Release</Configuration>
       <Platform>Win32</Platform>
     </ProjectConfiguration>
     <ProjectConfiguration Include="Release|Win32">
       <Configuration>Release</Configuration>
       <Platform>Win32</Platform>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
   </ItemGroup>
   <PropertyGroup Label="Globals">
     <ProjectGuid>{58B76DB8-1985-4B8A-8E71-C012D8F0C518}</ProjectGuid>
   </ItemGroup>
   <PropertyGroup Label="Globals">
     <ProjectGuid>{58B76DB8-1985-4B8A-8E71-C012D8F0C518}</ProjectGuid>
     <CharacterSet>NotSet</CharacterSet>
     <WholeProgramOptimization>true</WholeProgramOptimization>
   </PropertyGroup>
     <CharacterSet>NotSet</CharacterSet>
     <WholeProgramOptimization>true</WholeProgramOptimization>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <PlatformToolset>v141</PlatformToolset>
+    <CharacterSet>NotSet</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+  </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <PlatformToolset>v141</PlatformToolset>
     <CharacterSet>Unicode</CharacterSet>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <PlatformToolset>v141</PlatformToolset>
     <CharacterSet>Unicode</CharacterSet>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <PlatformToolset>v141</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
   </ImportGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
   </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
   </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup>
     <_ProjectFileVersion>15.0.27130.2010</_ProjectFileVersion>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup>
     <_ProjectFileVersion>15.0.27130.2010</_ProjectFileVersion>
     <IntDir>$(Configuration)\</IntDir>
     <LinkIncremental>true</LinkIncremental>
   </PropertyGroup>
     <IntDir>$(Configuration)\</IntDir>
     <LinkIncremental>true</LinkIncremental>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <OutDir>$(SolutionDir)..\..\..\fth\</OutDir>
     <IntDir>$(Configuration)\</IntDir>
     <LinkIncremental>false</LinkIncremental>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <OutDir>$(SolutionDir)..\..\..\fth\</OutDir>
     <IntDir>$(Configuration)\</IntDir>
     <LinkIncremental>false</LinkIncremental>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+  </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <ClCompile>
       <Optimization>Disabled</Optimization>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <ClCompile>
       <Optimization>Disabled</Optimization>
       <TargetMachine>MachineX86</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
       <TargetMachine>MachineX86</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;PF_SUPPORT_FP;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+    </Link>
+  </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
       <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;PF_SUPPORT_FP;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
       <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;PF_SUPPORT_FP;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <TargetMachine>MachineX86</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
       <TargetMachine>MachineX86</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;PF_SUPPORT_FP;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+    </Link>
+  </ItemDefinitionGroup>
   <ItemGroup>
     <ClCompile Include="..\..\..\csrc\pfcompil.c" />
     <ClCompile Include="..\..\..\csrc\pfcustom.c" />
   <ItemGroup>
     <ClCompile Include="..\..\..\csrc\pfcompil.c" />
     <ClCompile Include="..\..\..\csrc\pfcustom.c" />
index 1736aa9..a6d7c26 100644 (file)
@@ -170,9 +170,9 @@ nomem:
 ** Dictionary Management
 ***************************************************************/
 
 ** Dictionary Management
 ***************************************************************/
 
-cell_t pfExecIfDefined( const char *CString )
+ThrowCode pfExecIfDefined( const char *CString )
 {
 {
-    int result = 0;
+    ThrowCode result = 0;
     if( NAME_BASE != (cell_t)NULL)
     {
         ExecToken  XT;
     if( NAME_BASE != (cell_t)NULL)
     {
         ExecToken  XT;
@@ -427,11 +427,11 @@ void pfMessage( const char *CString )
 /**************************************************************************
 ** Main entry point for pForth.
 */
 /**************************************************************************
 ** Main entry point for pForth.
 */
-cell_t pfDoForth( const char *DicFileName, const char *SourceName, cell_t IfInit )
+ThrowCode pfDoForth( const char *DicFileName, const char *SourceName, cell_t IfInit )
 {
     pfTaskData_t *cftd;
     pfDictionary_t *dic = NULL;
 {
     pfTaskData_t *cftd;
     pfDictionary_t *dic = NULL;
-    cell_t Result = 0;
+    ThrowCode Result = 0;
     ExecToken  EntryPoint = 0;
 
 #ifdef PF_USER_INIT
     ExecToken  EntryPoint = 0;
 
 #ifdef PF_USER_INIT
index 5aa4a70..a55d857 100644 (file)
@@ -462,7 +462,7 @@ typedef struct IncludeFrame
 extern "C" {
 #endif
 
 extern "C" {
 #endif
 
-int pfCatch( ExecToken XT );
+ThrowCode pfCatch( ExecToken XT );
 
 #ifdef __cplusplus
 }
 
 #ifdef __cplusplus
 }
index dffadf0..57559bd 100644 (file)
@@ -197,8 +197,8 @@ static void TraceNames( ExecToken Token, cell_t Level )
 static uint64_t UdToUint64( ucell_t Lo, ucell_t Hi )
 {
     return (( 2 * sizeof(ucell_t) == sizeof(uint64_t) )
 static uint64_t UdToUint64( ucell_t Lo, ucell_t Hi )
 {
     return (( 2 * sizeof(ucell_t) == sizeof(uint64_t) )
-           ? (((uint64_t)Lo) | (((uint64_t)Hi) >> (sizeof(ucell_t) * 8)))
-           : Lo );
+        ? (((uint64_t)Lo) | (((uint64_t)Hi) >> (sizeof(ucell_t) * 8)))
+        : Lo);
 }
 
 /* Return TRUE if the unsigned double cell integer LO/HI is not greater
 }
 
 /* Return TRUE if the unsigned double cell integer LO/HI is not greater
@@ -207,15 +207,15 @@ static uint64_t UdToUint64( ucell_t Lo, ucell_t Hi )
 static int UdIsUint64( ucell_t Lo, ucell_t Hi )
 {
     return (( 2 * sizeof(ucell_t) == sizeof(uint64_t) )
 static int UdIsUint64( ucell_t Lo, ucell_t Hi )
 {
     return (( 2 * sizeof(ucell_t) == sizeof(uint64_t) )
-           ? TRUE
-           : Hi == 0 );
+        ? TRUE
+        : Hi == 0);
 }
 
 }
 
-static const char *pfSelectFileModeCreate( int fam );
-static const char *pfSelectFileModeOpen( int fam );
+static const char *pfSelectFileModeCreate(cell_t fam );
+static const char *pfSelectFileModeOpen(cell_t fam );
 
 /**************************************************************/
 
 /**************************************************************/
-static const char *pfSelectFileModeCreate( int fam )
+static const char *pfSelectFileModeCreate( cell_t fam )
 {
     const char *famText = NULL;
     switch( fam )
 {
     const char *famText = NULL;
     switch( fam )
@@ -240,7 +240,7 @@ static const char *pfSelectFileModeCreate( int fam )
 }
 
 /**************************************************************/
 }
 
 /**************************************************************/
-static const char *pfSelectFileModeOpen( int fam )
+static const char *pfSelectFileModeOpen( cell_t fam )
 {
     const char *famText = NULL;
     switch( fam )
 {
     const char *famText = NULL;
     switch( fam )
@@ -269,7 +269,7 @@ static const char *pfSelectFileModeOpen( int fam )
 }
 
 /**************************************************************/
 }
 
 /**************************************************************/
-int pfCatch( ExecToken XT )
+ThrowCode pfCatch( ExecToken XT )
 {
     register cell_t  TopOfStack;    /* Cache for faster execution. */
     register cell_t *DataStackPtr;
 {
     register cell_t  TopOfStack;    /* Cache for faster execution. */
     register cell_t *DataStackPtr;
@@ -1089,7 +1089,7 @@ DBUG(("XX ah,m,l = 0x%8x,%8x,%8x - qh,l = 0x%8x,%8x\n", ah,am,al, qh,ql ));
                     TOS = -3; /* TODO err num? */
                     break;
                 }
                     TOS = -3; /* TODO err num? */
                     break;
                 }
-                offset = offsetLow;
+                offset = (file_offset_t)offsetLow;
                 TOS = sdSeekFile( FileID, offset, PF_SEEK_SET );
             }
             endcase;
                 TOS = sdSeekFile( FileID, offset, PF_SEEK_SET );
             }
             endcase;
index 5783f0f..1c7ef96 100644 (file)
@@ -67,7 +67,7 @@ int main( int argc, char **argv )
     char IfInit = FALSE;
     char *s;
     cell_t i;
     char IfInit = FALSE;
     char *s;
     cell_t i;
-    int Result;
+    ThrowCode Result;
 
 /* For Metroworks on Mac */
 #ifdef __MWERKS__
 
 /* For Metroworks on Mac */
 #ifdef __MWERKS__
@@ -140,7 +140,7 @@ int main( int argc, char **argv )
     Result = pfDoForth( DicName, SourceName, IfInit);
 
 on_error:
     Result = pfDoForth( DicName, SourceName, IfInit);
 
 on_error:
-    return Result;
+    return (int)Result;
 }
 
 #endif  /* PF_EMBEDDED */
 }
 
 #endif  /* PF_EMBEDDED */
index 03f4ce8..f72981e 100644 (file)
@@ -315,7 +315,7 @@ cell_t ffSaveForth( const char *FileName, ExecToken EntryPoint, cell_t NameSize,
 /***************************************************************/
 static int Write32ToFile( FileStream *fid, uint32_t Val )
 {
 /***************************************************************/
 static int Write32ToFile( FileStream *fid, uint32_t Val )
 {
-    int numw;
+    cell_t numw;
     uint8_t pad[4];
 
     Write32BigEndian(pad,Val);
     uint8_t pad[4];
 
     Write32BigEndian(pad,Val);
@@ -332,8 +332,10 @@ static cell_t WriteChunkToFile( FileStream *fid, cell_t ID, char *Data, int32_t
 
     EvenNumW = EVENUP(NumBytes);
 
 
     EvenNumW = EVENUP(NumBytes);
 
-    if( Write32ToFile( fid, ID ) < 0 ) goto error;
-    if( Write32ToFile( fid, EvenNumW ) < 0 ) goto error;
+    assert(ID <= UINT32_MAX);
+    if( Write32ToFile( fid, (uint32_t)ID ) < 0 ) goto error;
+    assert(EvenNumW <= UINT32_MAX);
+    if( Write32ToFile( fid, (uint32_t)EvenNumW ) < 0 ) goto error;
 
     numw = sdWriteFile( Data, 1, EvenNumW, fid );
     if( numw != EvenNumW ) goto error;
 
     numw = sdWriteFile( Data, 1, EvenNumW, fid );
     if( numw != EvenNumW ) goto error;
@@ -515,7 +517,7 @@ error:
 /***************************************************************/
 static int32_t Read32FromFile( FileStream *fid, uint32_t *ValPtr )
 {
 /***************************************************************/
 static int32_t Read32FromFile( FileStream *fid, uint32_t *ValPtr )
 {
-    int32_t numr;
+    cell_t numr;
     uint8_t pad[4];
     numr = sdReadFile( pad, 1, sizeof(pad), fid );
     if( numr != sizeof(pad) ) return -1;
     uint8_t pad[4];
     numr = sdReadFile( pad, 1, sizeof(pad), fid );
     if( numr != sizeof(pad) ) return -1;
@@ -533,7 +535,7 @@ PForthDictionary pfLoadDictionary( const char *FileName, ExecToken *EntryPointPt
     uint32_t ChunkSize;
     uint32_t FormSize;
     uint32_t BytesLeft;
     uint32_t ChunkSize;
     uint32_t FormSize;
     uint32_t BytesLeft;
-    uint32_t numr;
+    cell_t numr;
     int   isDicBigEndian;
 
 DBUG(("pfLoadDictionary( %s )\n", FileName ));
     int   isDicBigEndian;
 
 DBUG(("pfLoadDictionary( %s )\n", FileName ));
@@ -726,7 +728,7 @@ DBUG(("pfLoadDictionary( %s )\n", FileName ));
 /* Find special words in dictionary for global XTs. */
         if( (Result = FindSpecialXTs()) < 0 )
         {
 /* Find special words in dictionary for global XTs. */
         if( (Result = FindSpecialXTs()) < 0 )
         {
-            pfReportError("pfLoadDictionary: FindSpecialXTs", Result);
+            pfReportError("pfLoadDictionary: FindSpecialXTs", (Err)Result);
             goto error;
         }
     }
             goto error;
         }
     }
index e48e457..03430a7 100644 (file)
@@ -222,7 +222,7 @@ DBUGX(("ffCompareText: return 0x%x\n", Result ));
 ** Compare two strings, case sensitive.
 ** Return zero if they match, -1 if s1<s2, +1 is s1>s2;
 */
 ** Compare two strings, case sensitive.
 ** Return zero if they match, -1 if s1<s2, +1 is s1>s2;
 */
-cell_t ffCompare( const char *s1, cell_t len1, const char *s2, int32_t len2 )
+cell_t ffCompare( const char *s1, cell_t len1, const char *s2, cell_t len2 )
 {
     cell_t i, result, n, diff;
 
 {
     cell_t i, result, n, diff;
 
index 05431d7..fd71371 100644 (file)
@@ -54,7 +54,7 @@ void pfReportThrow( ThrowCode code );
 char  *ForthStringToC( char *dst, const char *FString, cell_t dstSize );
 char  *CStringToForth( char *dst, const char *CString, cell_t dstSize  );
 
 char  *ForthStringToC( char *dst, const char *FString, cell_t dstSize );
 char  *CStringToForth( char *dst, const char *CString, cell_t dstSize  );
 
-cell_t ffCompare( const char *s1, cell_t len1, const char *s2, int32_t len2 );
+cell_t ffCompare( const char *s1, cell_t len1, const char *s2, cell_t len2 );
 cell_t ffCompareText( const char *s1, const char *s2, cell_t len );
 cell_t ffCompareTextCaseN( const char *s1, const char *s2, cell_t len );
 
 cell_t ffCompareText( const char *s1, const char *s2, cell_t len );
 cell_t ffCompareTextCaseN( const char *s1, const char *s2, cell_t len );
 
index b618c9f..937e39e 100644 (file)
@@ -981,7 +981,7 @@ ThrowCode ffIncludeFile( FileStream *InputFile )
 ***************************************************************/
 Err ffPushInputStream( FileStream *InputFile )
 {
 ***************************************************************/
 Err ffPushInputStream( FileStream *InputFile )
 {
-    cell_t Result = 0;
+    Err Result = 0;
     IncludeFrame *inf;
 
 /* Push current input state onto special include stack. */
     IncludeFrame *inf;
 
 /* Push current input state onto special include stack. */
index ec476f7..23b379b 100644 (file)
@@ -23,7 +23,7 @@
 
 #ifdef PF_SUPPORT_FP
 
 
 #ifdef PF_SUPPORT_FP
 
-#define FP_DHI1 (((PF_FLOAT)(1L<<(sizeof(cell_t)*8-2)))*4.0)
+#define FP_DHI1 (((PF_FLOAT)((cell_t)1<<(sizeof(cell_t)*8-2)))*4.0)
 
     case ID_FP_D_TO_F: /* ( dlo dhi -- ) ( F: -- r ) */
         PUSH_FP_TOS;
 
     case ID_FP_D_TO_F: /* ( dlo dhi -- ) ( F: -- r ) */
         PUSH_FP_TOS;
index cd74336..96eb93f 100644 (file)
@@ -39,7 +39,7 @@ extern "C" {
 #endif
 
 /* Main entry point to pForth. */
 #endif
 
 /* Main entry point to pForth. */
-cell_t pfDoForth( const char *DicName, const char *SourceName, cell_t IfInit );
+ThrowCode pfDoForth( const char *DicName, const char *SourceName, cell_t IfInit );
 
 /* Turn off messages. */
 void  pfSetQuiet( cell_t IfQuiet );
 
 /* Turn off messages. */
 void  pfSetQuiet( cell_t IfQuiet );
@@ -78,7 +78,7 @@ void  pfDeleteDictionary( PForthDictionary dict );
 ThrowCode pfQuit( void );
 
 /* Execute a single execution token in the current task and return 0 or an error code. */
 ThrowCode pfQuit( void );
 
 /* Execute a single execution token in the current task and return 0 or an error code. */
-int pfCatch( ExecToken XT );
+ThrowCode pfCatch( ExecToken XT );
 
 /* Include the given pForth source code file. */
 ThrowCode pfIncludeFile( const char *FileName );
 
 /* Include the given pForth source code file. */
 ThrowCode pfIncludeFile( const char *FileName );