Fixed Issue #327.

This commit is contained in:
acqn
2020-08-15 07:52:58 +08:00
committed by Oliver Schmidt
parent 0536f4f9bd
commit 0486d28abc
2 changed files with 2 additions and 2 deletions

34
test/val/bug327.c Normal file
View File

@@ -0,0 +1,34 @@
/* bug #327 - Promoting u8 to s16 gives wrong result */
#include <stdio.h>
#include <stdint.h>
static const uint8_t arr[2] = {
0,
255
};
static int16_t get16() {
return -arr[1];
}
static int16_t get16_2() {
return -(int16_t) arr[1];
}
char res = 0;
int main() {
printf("Value %d, should be -255\n", get16());
printf("Value %d, should be -255\n", get16_2());
if (get16() != -255) {
res++;
}
if (get16_2() != -255) {
res++;
}
return res;
}