translate-c: Allow negative denominator in remainder (%) operator

Fixes #10176
This commit is contained in:
Evan Haas
2021-11-19 14:00:18 -08:00
committed by Andrew Kelley
parent e8112f7744
commit 3fefdc1a0b
5 changed files with 38 additions and 14 deletions

View File

@@ -1784,4 +1784,16 @@ pub fn addCases(cases: *tests.RunTranslatedCContext) void {
\\ return 0;
\\}
, "");
cases.add("Remainder operator with negative integers. Issue #10176",
\\#include <stdlib.h>
\\int main(void) {
\\ int denominator = -2;
\\ int numerator = 5;
\\ if (numerator % denominator != 1) abort();
\\ numerator = -5; denominator = 2;
\\ if (numerator % denominator != -1) abort();
\\ return 0;
\\}
, "");
}