int side(int a); int pure(int a) __attribute__((pure)); int keep(int a) { return side(a) && 0; } int kill(int a) { return pure(a) && 0; } /* * check-name: kill-pure-call * check-command: test-linearize -Wno-decl $file * check-description: * See that the call is optimized away but only * when the function is "pure". * * check-output-ignore * check-output-contains: call\\..* side * check-output-excludes: call\\..* pure */