blob: ac59d1c934d8a24e03960270399a2717b86e3787 [file] [edit]
// RUN: %clang_cc1 %s -fexperimental-overflow-behavior-types -Wimplicit-overflow-behavior-conversion-assignment-pedantic -verify -fsyntax-only -std=c11
// Test that -Wimplicit-overflow-behavior-conversion-assignment-pedantic only warns
// for unsigned wrap to unsigned conversions during assignment
void test_assignment_pedantic() {
unsigned int __ob_wrap uwrap = 42;
unsigned int ureg = uwrap; // expected-warning {{implicit conversion from '__ob_wrap unsigned int' to 'unsigned int' during assignment discards overflow behavior}}
int __ob_wrap swrap = 42;
int sreg = swrap;
unsigned int __ob_trap utrap = 42;
unsigned int ureg2 = utrap;
unsigned int ureg3 = (unsigned int)uwrap;
}