xref: /llvm-project/clang/test/Preprocessor/expr_usual_conversions.c (revision a503f7c9d2a065cf497ccaa87060320494152415)
1*a503f7c9SChris Lattner // RUN: %clang_cc1 %s -E -verify
299ca091bSChris Lattner 
399ca091bSChris Lattner #define INTMAX_MIN (-9223372036854775807LL -1)
499ca091bSChris Lattner 
5*a503f7c9SChris Lattner #if (-42 + 0U) /* expected-warning {{left side of operator converted from negative value to unsigned: -42 to 18446744073709551574}} */  \
6*a503f7c9SChris Lattner   / -2         /* expected-warning {{right side of operator converted from negative value to unsigned: -2 to 18446744073709551614}} */
799ca091bSChris Lattner foo
899ca091bSChris Lattner #endif
999ca091bSChris Lattner 
10a08f869cSChris Lattner // Shifts don't want the usual conversions: PR2279
11a08f869cSChris Lattner #if (2 << 1U) - 30 >= 0
12a08f869cSChris Lattner #error
13a08f869cSChris Lattner #endif
14a08f869cSChris Lattner 
15