aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/expr/unary2.C
blob: 9d6acc844883f6a8dfe43c16bdc16198a56c655d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// { dg-do compile }
// Unary plus/minus are not lvalues.

// In templates we require an instantiation to emit the diagnostic. This
//  is wrong and it is PR 18474.

int n;

void f(void)
{
  -n = 0;        // { dg-error "non-lvalue" }
  +n = 0;        // { dg-error "non-lvalue" }
}

template <int>
void g(void)
{
  -n = 0;        // { dg-error "non-lvalue" "" { xfail *-*-* } }
  +n = 0;        // { dg-error "non-lvalue" "" { xfail *-*-* } }
}