OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [g++.dg/] [warn/] [Wlogical-op-1.C] - Blame information for rev 715

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 693 jeremybenn
// { dg-do compile }
2
// { dg-options "-Wlogical-op" }
3
 
4
enum { a, b1, b2 };
5
 
6
enum testenum { t1, t2};
7
 
8
extern int c;
9
extern bool bool_a, bool_b;
10
 
11
template
12
class QFlags
13
{
14
public:
15
    typedef void **Zero;
16
    int i;
17
    inline QFlags(Enum f) : i(f) {}
18
 
19
    inline operator int() const
20
    { return i;}
21
 
22
};
23
 
24
QFlags f(t2);
25
extern void do_something(int);
26
 
27
extern testenum testa();
28
 
29
void foo()
30
{
31
    if ( f && b2 )            // { dg-warning "logical" }
32
          do_something(1);
33
    if ( c && b2 )            // { dg-warning "logical" }
34
          do_something(2);
35
 
36
    if ( b2 && c == a )       // { dg-bogus "logical" }
37
          do_something(101);
38
    if ( 1 && c )
39
          do_something(102);  // { dg-bogus "logical" }
40
    if ( t2 && b2 )           // { dg-bogus "logical" }
41
          do_something(103);
42
    if ( true && c == a )     // { dg-bogus "logical" }
43
          do_something(104);
44
    if ( b2 && true )         // { dg-bogus "logical" }
45
          do_something(105);
46
}
47
 
48
 
49
void bar()
50
{
51
    if ( f || b2 )            // { dg-warning "logical" }
52
          do_something(1);
53
    if ( c || b2 )            // { dg-warning "logical" }
54
          do_something(2);
55
 
56
    if ( b2 || c == a )       // { dg-bogus "logical" }
57
          do_something(101);
58
    if ( 1 || c )
59
          do_something(102);  // { dg-bogus "logical" }
60
    if ( t2 || b2 )           // { dg-bogus "logical" }
61
          do_something(103);
62
    if ( true || c == a )     // { dg-bogus "logical" }
63
          do_something(104);
64
    if ( b2 || true )         // { dg-bogus "logical" }
65
          do_something(105);
66
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.