From 58b82dff1308cfbad7e78e3542c022549a480294 Mon Sep 17 00:00:00 2001 From: SteveMcNeill Date: Wed, 4 Dec 2019 12:30:02 -0500 Subject: [PATCH] Minor change to bit routines, added ability to ignore warnings in IDE --- internal/c/libqb.cpp | 20 ++----- internal/c/qbx.cpp | 8 +-- source/global/IDEsettings.bas | 12 +++++ source/ide/ide_methods.bas | 22 ++++++++ source/qb64.bas | 99 ++++++++++++++++++----------------- 5 files changed, 93 insertions(+), 68 deletions(-) diff --git a/internal/c/libqb.cpp b/internal/c/libqb.cpp index 1028fccd4..787b77b85 100644 --- a/internal/c/libqb.cpp +++ b/internal/c/libqb.cpp @@ -29589,23 +29589,8 @@ void reinit_glut_callbacks(){ } -//CFont commented out as it requires more modern versions of Windows to run and work. -//Adding it into QB64 would mean that we would no longer run on Windows XP and such, -//and at this time, it's been decided that we dont actually want to drop compatability with those older operating systems. -//I'll leave the code in here, in case it's decided later that we're no longer to stick -//to Windows XP compatability. - -//For now, the easiest solution to this dilemma seems to be to just leave the code here, -//and place a stub which does nothing in place of it. -//If people with newer operating systems want to make use of it, all they'd need to do is -//comment out the stub and uncomment the actual working code, and then purge_libqb.bat to rebuild the library we link to. - - void CFont(qbs* FontName, int FontSize){ - return; //you can't get much stubbier than this! LOL! - } - -/* void CFont(qbs* FontName, int FontSize){ + /* SECURITY_ATTRIBUTES SecAttribs = {sizeof(SECURITY_ATTRIBUTES), 0, 1}; HANDLE cl_conout = CreateFileA("CONOUT$", GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, & SecAttribs, OPEN_EXISTING, 0, 0); static int OneTimePause; @@ -29626,8 +29611,9 @@ void reinit_glut_callbacks(){ } SetCurrentConsoleFontEx(cl_conout, NULL, &info); + */ } -*/ + void sub__console_cursor(int32 visible, int32 cursorsize, int32 passed){ HANDLE consoleHandle = GetStdHandle(STD_OUTPUT_HANDLE); diff --git a/internal/c/qbx.cpp b/internal/c/qbx.cpp index 738cb7776..18701369b 100644 --- a/internal/c/qbx.cpp +++ b/internal/c/qbx.cpp @@ -982,16 +982,16 @@ inline int64 func__shr(int64 a1,int b1) {return a1>>b1;} inline int64 func__readbit(int64 a1, int b1) -{if (a1 & 1< 0 THEN - IF idemode = 0 THEN - PRINT "WARNING:"; STR$(totalUnusedVariables); " unused variable"; - IF totalUnusedVariables > 1 THEN PRINT "s"; - IF VerboseMode THEN - PRINT ":" +IF NOT IgnoreWarnings THEN + IF totalUnusedVariables > 0 THEN + IF idemode = 0 THEN + PRINT "WARNING:"; STR$(totalUnusedVariables); " unused variable"; + IF totalUnusedVariables > 1 THEN PRINT "s"; + IF VerboseMode THEN + PRINT ":" + findItem = 0 + DO + s$ = CHR$(2) + "VAR:" + CHR$(3) + findItem = INSTR(findItem + 1, usedVariableList$, s$) + IF findItem = 0 THEN EXIT DO + whichLine = CVL(MID$(usedVariableList$, findItem - 4, 4)) + varNameLen = CVI(MID$(usedVariableList$, findItem + 6, 2)) + internalVarName$ = MID$(usedVariableList$, findItem + 8, varNameLen) + findLF = INSTR(findItem + 9 + varNameLen, usedVariableList$, CHR$(10)) + varname$ = MID$(usedVariableList$, findItem + 9 + varNameLen, findLF - (findItem + 9 + varNameLen)) + PRINT SPACE$(4); varname$; " ("; internalVarName$; ", line"; STR$(whichLine); ")" + LOOP + ELSE + PRINT + END IF + ELSE findItem = 0 + maxVarNameLen = 0 + DO + s$ = CHR$(2) + "VAR:" + CHR$(3) + findItem = INSTR(findItem + 1, usedVariableList$, s$) + IF findItem = 0 THEN EXIT DO + varNameLen = CVI(MID$(usedVariableList$, findItem + 6, 2)) + internalVarName$ = MID$(usedVariableList$, findItem + 8, varNameLen) + findLF = INSTR(findItem + 9 + varNameLen, usedVariableList$, CHR$(10)) + varname$ = MID$(usedVariableList$, findItem + 9 + varNameLen, findLF - (findItem + 9 + varNameLen)) + IF LEN(varname$) > maxVarNameLen THEN maxVarNameLen = LEN(varname$) + LOOP + + findItem = 0 + addWarning 0, "Unused variables (" + LTRIM$(STR$(totalUnusedVariables)) + "):" DO s$ = CHR$(2) + "VAR:" + CHR$(3) findItem = INSTR(findItem + 1, usedVariableList$, s$) @@ -11852,38 +11884,9 @@ IF totalUnusedVariables > 0 THEN internalVarName$ = MID$(usedVariableList$, findItem + 8, varNameLen) findLF = INSTR(findItem + 9 + varNameLen, usedVariableList$, CHR$(10)) varname$ = MID$(usedVariableList$, findItem + 9 + varNameLen, findLF - (findItem + 9 + varNameLen)) - PRINT SPACE$(4); varname$; " ("; internalVarName$; ", line"; STR$(whichLine); ")" + addWarning whichLine, varname$ + SPACE$((maxVarNameLen + 1) - LEN(varname$)) + " (" + internalVarName$ + ")" LOOP - ELSE - PRINT END IF - ELSE - findItem = 0 - maxVarNameLen = 0 - DO - s$ = CHR$(2) + "VAR:" + CHR$(3) - findItem = INSTR(findItem + 1, usedVariableList$, s$) - IF findItem = 0 THEN EXIT DO - varNameLen = CVI(MID$(usedVariableList$, findItem + 6, 2)) - internalVarName$ = MID$(usedVariableList$, findItem + 8, varNameLen) - findLF = INSTR(findItem + 9 + varNameLen, usedVariableList$, CHR$(10)) - varname$ = MID$(usedVariableList$, findItem + 9 + varNameLen, findLF - (findItem + 9 + varNameLen)) - IF LEN(varname$) > maxVarNameLen THEN maxVarNameLen = LEN(varname$) - LOOP - - findItem = 0 - addWarning 0, "Unused variables (" + LTRIM$(STR$(totalUnusedVariables)) + "):" - DO - s$ = CHR$(2) + "VAR:" + CHR$(3) - findItem = INSTR(findItem + 1, usedVariableList$, s$) - IF findItem = 0 THEN EXIT DO - whichLine = CVL(MID$(usedVariableList$, findItem - 4, 4)) - varNameLen = CVI(MID$(usedVariableList$, findItem + 6, 2)) - internalVarName$ = MID$(usedVariableList$, findItem + 8, varNameLen) - findLF = INSTR(findItem + 9 + varNameLen, usedVariableList$, CHR$(10)) - varname$ = MID$(usedVariableList$, findItem + 9 + varNameLen, findLF - (findItem + 9 + varNameLen)) - addWarning whichLine, varname$ + SPACE$((maxVarNameLen + 1) - LEN(varname$)) + " (" + internalVarName$ + ")" - LOOP END IF END IF @@ -25184,6 +25187,7 @@ SUB manageVariableList (name$, __cname$, action AS _BYTE) END SUB SUB addWarning (lineNumber AS LONG, text$) + IF NOT IgnoreWarnings THEN IF lineNumber > 0 THEN totalWarnings = totalWarnings + 1 ELSE @@ -25197,6 +25201,7 @@ SUB addWarning (lineNumber AS LONG, text$) warningListItems = warningListItems + 1 IF warningListItems > UBOUND(warning$) THEN REDIM _PRESERVE warning$(warningListItems + 999) warning$(warningListItems) = MKL$(lineNumber) + text$ + end if END SUB '$INCLUDE:'utilities\strings.bas'