mirror of
https://github.com/gbdev/rgbds.git
synced 2026-08-20 22:04:32 +00:00
Prevent rgblink -Wno-* disabled warnings from printing a location trace anyway
Fixes #2005
This commit is contained in:
@@ -142,6 +142,10 @@ linked in various ways depending on the test.
|
||||
|
||||
These simply check that RGBLINK's output matches some expected output.
|
||||
|
||||
If a `.flags` file exists, its first line contains flags to pass to RGBLINK.
|
||||
(There may be more lines, which will be ignored; they can serve as comments to
|
||||
explain what the test is about.)
|
||||
|
||||
A `.out` file **must** exist, and RGBLINK's total output must match that file's
|
||||
contents.
|
||||
|
||||
|
||||
@@ -212,16 +212,18 @@ void scriptWarning(WarningID id, char const *fmt, ...) {
|
||||
|
||||
case WarningBehavior::ENABLED:
|
||||
printDiag(nullptr, 0, fmt, args, "warning", STYLE_YELLOW, "[-W%s]", flag);
|
||||
|
||||
lexer_TraceCurrent();
|
||||
break;
|
||||
|
||||
case WarningBehavior::ERROR:
|
||||
printDiag(nullptr, 0, fmt, args, "error", STYLE_RED, "[-Werror=%s]", flag);
|
||||
|
||||
lexer_TraceCurrent();
|
||||
warnings.incrementErrors();
|
||||
break;
|
||||
}
|
||||
|
||||
va_end(args);
|
||||
|
||||
lexer_TraceCurrent();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
section "test", romx
|
||||
label: dw label
|
||||
@@ -0,0 +1 @@
|
||||
-Wno-large-constant
|
||||
@@ -0,0 +1,2 @@
|
||||
ROMX $ffff_ffff_ffff_ffff
|
||||
"test"
|
||||
@@ -0,0 +1,3 @@
|
||||
error: ROMX bank 0 does not exist (the minimum is 1)
|
||||
at no-large-constant.link(1)
|
||||
Linking failed with 1 error
|
||||
+9
-4
@@ -93,19 +93,24 @@ for i in *.asm; do
|
||||
startTest
|
||||
"$RGBASM" -o "$otemp" "${test}.asm"
|
||||
|
||||
RGBLINKFLAGS=""
|
||||
if [ -f "${test}.flags" ]; then
|
||||
RGBLINKFLAGS="$RGBLINKFLAGS @${test}.flags"
|
||||
fi
|
||||
|
||||
# Some tests have variants depending on flags
|
||||
ran_flag=false
|
||||
for flag in '-d' '-t' '-w'; do
|
||||
if [ -f "${test}-no${flag}.out" ]; then
|
||||
continueTest "-no${flag}"
|
||||
rgblinkQuiet -o "$gbtemp" "$otemp" 2>"$outtemp"
|
||||
rgblinkQuiet $RGBLINKFLAGS -o "$gbtemp" "$otemp" 2>"$outtemp"
|
||||
tryDiff "${test}-no${flag}.out" "$outtemp"
|
||||
evaluateTest
|
||||
ran_flag=true
|
||||
fi
|
||||
if [ -f "${test}${flag}.out" ]; then
|
||||
continueTest "$flag"
|
||||
rgblinkQuiet ${flag} -o "$gbtemp" "$otemp" 2>"$outtemp"
|
||||
rgblinkQuiet $RGBLINKFLAGS ${flag} -o "$gbtemp" "$otemp" 2>"$outtemp"
|
||||
tryDiff "${test}${flag}.out" "$outtemp"
|
||||
evaluateTest
|
||||
ran_flag=true
|
||||
@@ -120,7 +125,7 @@ for i in *.asm; do
|
||||
[[ -e "$script" ]] || break # If the glob doesn't match, it just... doesn't expand!
|
||||
|
||||
continueTest "${script#${test}}"
|
||||
rgblinkQuiet -l "$script" -o "$gbtemp" "$otemp" 2>"$outtemp"
|
||||
rgblinkQuiet $RGBLINKFLAGS -l "$script" -o "$gbtemp" "$otemp" 2>"$outtemp"
|
||||
tryDiff "${script%.link}.out" "$outtemp"
|
||||
evaluateTest
|
||||
ran_flag=true
|
||||
@@ -131,7 +136,7 @@ for i in *.asm; do
|
||||
|
||||
# The rest of the tests just links a file, and maybe checks the binary
|
||||
continueTest
|
||||
rgblinkQuiet -o "$gbtemp" "$otemp" 2>"$outtemp"
|
||||
rgblinkQuiet $RGBLINKFLAGS -o "$gbtemp" "$otemp" 2>"$outtemp"
|
||||
tryDiff "${test}.out" "$outtemp"
|
||||
bin=${test}.out.bin
|
||||
if [ -f "$bin" ]; then
|
||||
|
||||
Reference in New Issue
Block a user