summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/warn/Winline-4.C
blob: 188ab5aa896136a29749148ecc330cce7cfd8ce7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// { dg-do compile }
// { dg-options "-O2 -Winline" }
// Origin: <markus at oberhumer dot com>
// PR 17115: We should not emit -Winline warning for functions marked with
//  noinline

struct Foo {
  __attribute__((noinline)) int a(int r) { return r & 1; }
  virtual __attribute__((noinline)) int b(int r) { return r & 1; }
  static  __attribute__((noinline)) int c(int r) { return r & 1; }
};

int bar(int r) {
  Foo f;
  int k = 1; k &= f.a(r); k &= f.b(r); k &= f.a(r);
  return k;
}