From 529bb4e23b94186596ca0e3f5d295b0be95d4fad Mon Sep 17 00:00:00 2001 From: arr Date: Sat, 28 Apr 2018 00:02:02 -0700 Subject: [PATCH] Address various compiler warnings about precision loss --- csrc/pf_core.c | 8 ++++---- csrc/pf_guts.h | 2 +- csrc/pf_inner.c | 12 ++++++------ csrc/pf_main.c | 4 ++-- csrc/pf_save.c | 8 ++++---- csrc/pf_text.c | 2 +- csrc/pf_text.h | 2 +- csrc/pfcompil.c | 2 +- csrc/pforth.h | 4 ++-- 9 files changed, 22 insertions(+), 22 deletions(-) diff --git a/csrc/pf_core.c b/csrc/pf_core.c index 1736aa9..a6d7c26 100644 --- a/csrc/pf_core.c +++ b/csrc/pf_core.c @@ -170,9 +170,9 @@ nomem: ** 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; @@ -427,11 +427,11 @@ void pfMessage( const char *CString ) /************************************************************************** ** 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; - cell_t Result = 0; + ThrowCode Result = 0; ExecToken EntryPoint = 0; #ifdef PF_USER_INIT diff --git a/csrc/pf_guts.h b/csrc/pf_guts.h index 5aa4a70..a55d857 100644 --- a/csrc/pf_guts.h +++ b/csrc/pf_guts.h @@ -462,7 +462,7 @@ typedef struct IncludeFrame extern "C" { #endif -int pfCatch( ExecToken XT ); +ThrowCode pfCatch( ExecToken XT ); #ifdef __cplusplus } diff --git a/csrc/pf_inner.c b/csrc/pf_inner.c index dffadf0..10041ba 100644 --- a/csrc/pf_inner.c +++ b/csrc/pf_inner.c @@ -211,11 +211,11 @@ static int UdIsUint64( ucell_t Lo, ucell_t Hi ) : 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 ) @@ -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 ) @@ -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; @@ -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; } - offset = offsetLow; + offset = (file_offset_t)offsetLow; TOS = sdSeekFile( FileID, offset, PF_SEEK_SET ); } endcase; diff --git a/csrc/pf_main.c b/csrc/pf_main.c index 5783f0f..1c7ef96 100644 --- a/csrc/pf_main.c +++ b/csrc/pf_main.c @@ -67,7 +67,7 @@ int main( int argc, char **argv ) char IfInit = FALSE; char *s; cell_t i; - int Result; + ThrowCode Result; /* For Metroworks on Mac */ #ifdef __MWERKS__ @@ -140,7 +140,7 @@ int main( int argc, char **argv ) Result = pfDoForth( DicName, SourceName, IfInit); on_error: - return Result; + return (int)Result; } #endif /* PF_EMBEDDED */ diff --git a/csrc/pf_save.c b/csrc/pf_save.c index 03f4ce8..faa6d81 100644 --- a/csrc/pf_save.c +++ b/csrc/pf_save.c @@ -315,7 +315,7 @@ cell_t ffSaveForth( const char *FileName, ExecToken EntryPoint, cell_t NameSize, /***************************************************************/ static int Write32ToFile( FileStream *fid, uint32_t Val ) { - int numw; + size_t numw; uint8_t pad[4]; Write32BigEndian(pad,Val); @@ -515,7 +515,7 @@ error: /***************************************************************/ static int32_t Read32FromFile( FileStream *fid, uint32_t *ValPtr ) { - int32_t numr; + size_t numr; uint8_t pad[4]; numr = sdReadFile( pad, 1, sizeof(pad), fid ); if( numr != sizeof(pad) ) return -1; @@ -533,7 +533,7 @@ PForthDictionary pfLoadDictionary( const char *FileName, ExecToken *EntryPointPt uint32_t ChunkSize; uint32_t FormSize; uint32_t BytesLeft; - uint32_t numr; + size_t numr; int isDicBigEndian; DBUG(("pfLoadDictionary( %s )\n", FileName )); @@ -726,7 +726,7 @@ DBUG(("pfLoadDictionary( %s )\n", FileName )); /* Find special words in dictionary for global XTs. */ if( (Result = FindSpecialXTs()) < 0 ) { - pfReportError("pfLoadDictionary: FindSpecialXTs", Result); + pfReportError("pfLoadDictionary: FindSpecialXTs", (Err)Result); goto error; } } diff --git a/csrc/pf_text.c b/csrc/pf_text.c index e48e457..03430a7 100644 --- a/csrc/pf_text.c +++ b/csrc/pf_text.c @@ -222,7 +222,7 @@ DBUGX(("ffCompareText: return 0x%x\n", Result )); ** Compare two strings, case sensitive. ** Return zero if they match, -1 if s1s2; */ -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; diff --git a/csrc/pf_text.h b/csrc/pf_text.h index 05431d7..fd71371 100644 --- a/csrc/pf_text.h +++ b/csrc/pf_text.h @@ -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 ); -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 ); diff --git a/csrc/pfcompil.c b/csrc/pfcompil.c index b618c9f..937e39e 100644 --- a/csrc/pfcompil.c +++ b/csrc/pfcompil.c @@ -981,7 +981,7 @@ ThrowCode ffIncludeFile( FileStream *InputFile ) ***************************************************************/ Err ffPushInputStream( FileStream *InputFile ) { - cell_t Result = 0; + Err Result = 0; IncludeFrame *inf; /* Push current input state onto special include stack. */ diff --git a/csrc/pforth.h b/csrc/pforth.h index cd74336..96eb93f 100644 --- a/csrc/pforth.h +++ b/csrc/pforth.h @@ -39,7 +39,7 @@ extern "C" { #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 ); @@ -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. */ -int pfCatch( ExecToken XT ); +ThrowCode pfCatch( ExecToken XT ); /* Include the given pForth source code file. */ ThrowCode pfIncludeFile( const char *FileName ); -- 2.20.1