Fix all tests that fail with -sanitize=return.
[official-gcc.git] / gcc / testsuite / g++.dg / tree-ssa / pr63841.C
blob2a2c78f9fb25e96f1d9cdcfb490669efe446ea9d
1 /* { dg-do run } */
2 /* { dg-options "-O2" } */
4 #include <string>
6 std::string __attribute__ ((noinline)) comp_test_write() {
7   std::string data;
9   for (int i = 0; i < 2; ++i) {
10     char b = 1 >> (i * 8);
11     data.append(&b, 1);
12   }
14   return data;
17 std::string __attribute__ ((noinline)) comp_test_write_good() {
18   std::string data;
20   char b;
21   for (int i = 0; i < 2; ++i) {
22     b = 1 >> (i * 8);
23     data.append(&b, 1);
24   }
26   return data;
29 int main() {
30   std::string good = comp_test_write_good();
31   std::string bad = comp_test_write();
33   if (good != bad)
34     __builtin_abort ();