brintos

brintos / llvm-project-archived public Read only

0
0
Text · 777 B · 375c908 Raw
19 lines · cpp
1// RUN: %clang_cc1 -std=c++23 -x c++ %s -verify2 3void f(int x, int y) {4  [[assume(true)]];5  [[assume(1)]];6  [[assume(1.0)]];7  [[assume(1 + 2 == 3)]];8  [[assume(x ? 1 : 2)]]; // expected-warning {{converting the result of '?:' with integer constants to a boolean always evaluates to 'true'}}9  [[assume(x && y)]];10  [[assume(true)]] [[assume(true)]];11 12  [[assume]]; // expected-error {{takes one argument}}13  [[assume(]]; // expected-error {{expected expression}}14  [[assume()]]; // expected-error {{expected expression}}15  [[assume(2]]; // expected-error {{expected ')'}} expected-note {{to match this '('}}16  [[assume(x = 2)]]; // expected-error {{requires parentheses}}17  [[assume(2, 3)]]; // expected-error {{requires parentheses}} expected-warning {{has no effect}}18}19