PR c++/86728 - C variadic generic lambda.
[official-gcc.git] / gcc / testsuite / g++.dg / opt / reload3.C
blob12f3e66f369ea7680aa4bcc749a5e1ee7386b7df
1 // PR target/38287
2 // { dg-do run }
3 // { dg-options "-O2 -mcpu=v8 -fPIC" { target { { sparc*-*-* } && { ilp32 && fpic } } } }
5 #include <cstdlib>
7 class QTime
9 public:
10     explicit QTime(int ms = 0) : ds(ms) {}
11     static QTime currentTime() { return QTime(); }
12     QTime addMSecs(int ms) const;
13     int msecs() const { return ds; }
14 private:
15     unsigned ds;
18 static const unsigned MSECS_PER_DAY = 86400000;
20 QTime QTime::addMSecs(int ms) const
22     QTime t;
23     if ( ms < 0 ) {
24         // % not well-defined for -ve, but / is.
25         int negdays = (MSECS_PER_DAY-ms) / MSECS_PER_DAY;
26         t.ds = ((int)ds + ms + negdays*MSECS_PER_DAY)
27                 % MSECS_PER_DAY;
28     } else {
29         t.ds = ((int)ds + ms) % MSECS_PER_DAY;
30     }
31     return t;
34 int main()
36   if (QTime(1).addMSecs(1).msecs() != 2)
37     abort ();
38   return 0;