exprs.c revision b1b4d337fafe30823b581cbfaa1641f37541fffe
135080844d3e634c7c1b2875f476ab5f697eece61Chris Lattner// RUN: clang %s -verify -pedantic -fsyntax-only 235080844d3e634c7c1b2875f476ab5f697eece61Chris Lattner 335080844d3e634c7c1b2875f476ab5f697eece61Chris Lattner// PR1966 435080844d3e634c7c1b2875f476ab5f697eece61Chris Lattner_Complex double test1() { 535080844d3e634c7c1b2875f476ab5f697eece61Chris Lattner return __extension__ 1.0if; 635080844d3e634c7c1b2875f476ab5f697eece61Chris Lattner} 735080844d3e634c7c1b2875f476ab5f697eece61Chris Lattner 835080844d3e634c7c1b2875f476ab5f697eece61Chris Lattner_Complex double test2() { 935080844d3e634c7c1b2875f476ab5f697eece61Chris Lattner return 1.0if; // expected-warning {{imaginary constants are an extension}} 1035080844d3e634c7c1b2875f476ab5f697eece61Chris Lattner} 1135080844d3e634c7c1b2875f476ab5f697eece61Chris Lattner 12baf0d6678418e0dd9309438c3e50274253cfc7b2Chris Lattner// rdar://6097308 13baf0d6678418e0dd9309438c3e50274253cfc7b2Chris Lattnervoid test3() { 14baf0d6678418e0dd9309438c3e50274253cfc7b2Chris Lattner int x; 15baf0d6678418e0dd9309438c3e50274253cfc7b2Chris Lattner (__extension__ x) = 10; 16baf0d6678418e0dd9309438c3e50274253cfc7b2Chris Lattner} 17baf0d6678418e0dd9309438c3e50274253cfc7b2Chris Lattner 182c15647dce6de66f673cc64236913732d6289317Chris Lattner// rdar://6162726 192c15647dce6de66f673cc64236913732d6289317Chris Lattnervoid test4() { 202c15647dce6de66f673cc64236913732d6289317Chris Lattner static int var; 212c15647dce6de66f673cc64236913732d6289317Chris Lattner var =+ 5; // expected-warning {{use of unary operator that may be intended as compound assignment (+=)}} 222c15647dce6de66f673cc64236913732d6289317Chris Lattner var =- 5; // expected-warning {{use of unary operator that may be intended as compound assignment (-=)}} 232c15647dce6de66f673cc64236913732d6289317Chris Lattner var = +5; 242c15647dce6de66f673cc64236913732d6289317Chris Lattner var = -5; 252c15647dce6de66f673cc64236913732d6289317Chris Lattner} 262c15647dce6de66f673cc64236913732d6289317Chris Lattner 27ca354faa7e9b99af17070c82b9662a5fca76422cChris Lattner// rdar://6319320 28ca354faa7e9b99af17070c82b9662a5fca76422cChris Lattnervoid test5(int *X, float *P) { 29ca354faa7e9b99af17070c82b9662a5fca76422cChris Lattner (float*)X = P; // expected-error {{assignment to cast is illegal, lvalue casts are not supported}} 30ca354faa7e9b99af17070c82b9662a5fca76422cChris Lattner} 31ca354faa7e9b99af17070c82b9662a5fca76422cChris Lattner 32b1b4d337fafe30823b581cbfaa1641f37541fffeChris Lattnervoid test6() { 33b1b4d337fafe30823b581cbfaa1641f37541fffeChris Lattner int X; 34b1b4d337fafe30823b581cbfaa1641f37541fffeChris Lattner X(); // expected-error {{called object type 'int' is not a function or function pointer}} 35b1b4d337fafe30823b581cbfaa1641f37541fffeChris Lattner} 36