Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.dg/uninit-pred-2_a.C @ 123:ab229f40eab2
fix inline_call
author | mir3636 |
---|---|
date | Fri, 30 Mar 2018 22:58:55 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
/* { dg-do compile } */ /* { dg-options "-Wuninitialized -O2" } */ typedef long long int64; void incr (); bool is_valid (int); int get_time (); class A { public: A (); ~A () { if (I) delete I; } private: int* I; }; bool get_url (A *); class M { public: __attribute__ ((always_inline)) bool GetC (int *c) { A details_str; if (get_url (&details_str)) { *c = get_time (); return true; } return false; } void do_sth(); void do_sth2(); void P (int64 t) { int cc; if (!GetC (&cc)) /* return flag checked properly */ return; if (cc <= 0) /* { dg-bogus "uninitialized" "uninitialized variable warning" } */ { this->do_sth(); return; } do_sth2(); } }; M* m; void foo(int x) { m = new M; m->P(x); }