| #define W 3 | |
| #define S 8 | |
| #define M (W << S) | |
| static inline int fun(unsigned int x, unsigned int y) | |
| { | |
| return ((x & W) | (y >> S)) << S; | |
| } | |
| int foo(unsigned int x, unsigned int y) | |
| { | |
| return fun(x, y) & M; | |
| } | |
| /* | |
| * check-name: and-or-mask4 | |
| * check-command: test-linearize -Wno-decl $file | |
| * check-known-to-fail | |
| * | |
| * check-output-ignore | |
| * check-output-pattern(1): shl\\. | |
| * check-output-pattern(1): or\\. | |
| * check-output-pattern(1): and\\. | |
| * check-output-excludes: lsr\\. | |
| */ |