Fixes the following warning on clang-15:
``` dlls/ntdll/unix/dwarf.h:915:45: warning: taking the absolute value of unsigned type 'ULONG_PTR' (aka 'unsigned long') has no effect [-Wabsolute-value] case DW_OP_abs: stack[sp] = labs(stack[sp]); break; ^ dlls/ntdll/unix/dwarf.h:915:45: note: remove the call to 'labs' since unsigned values cannot be negative case DW_OP_abs: stack[sp] = labs(stack[sp]); break; ^~~~ ```
Despite what it says the existing code was functioning correctly already though AFAICT.
From: Marc-Aurel Zent mzent@codeweavers.com
--- dlls/ntdll/unix/dwarf.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/ntdll/unix/dwarf.h b/dlls/ntdll/unix/dwarf.h index 73beeda51fc..1e4b64486d7 100644 --- a/dlls/ntdll/unix/dwarf.h +++ b/dlls/ntdll/unix/dwarf.h @@ -912,7 +912,7 @@ static ULONG_PTR eval_expression( const unsigned char *p, CONTEXT *context, case DW_OP_pick: stack[sp + 1] = stack[sp - dwarf_get_u1(&p)]; sp++; break; case DW_OP_swap: tmp = stack[sp]; stack[sp] = stack[sp-1]; stack[sp-1] = tmp; break; case DW_OP_rot: tmp = stack[sp]; stack[sp] = stack[sp-1]; stack[sp-1] = stack[sp-2]; stack[sp-2] = tmp; break; - case DW_OP_abs: stack[sp] = labs(stack[sp]); break; + case DW_OP_abs: stack[sp] = labs((signed long)stack[sp]); break; case DW_OP_neg: stack[sp] = -stack[sp]; break; case DW_OP_not: stack[sp] = ~stack[sp]; break; case DW_OP_and: stack[sp-1] &= stack[sp]; sp--; break;