rtl: Validate subreg info when optimizing vec_select.
[official-gcc.git] / gcc / testsuite / g++.dg / tree-ssa / initlist-opt5.C
blob3126fe0ed8ae76b041ab09dddd282b710bd846f1
1 // PR c++/105838
2 // { dg-additional-options -fdump-tree-gimple }
3 // { dg-do compile { target c++11 } }
4 // { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
6 // Check that we call the basic_string constructor once (and define it once).
7 // { dg-final { scan-tree-dump-times {>::basic_string} 2 "gimple" } }
9 #include <string>
11 void g (const void *);
13 void f (const char *p)
15   std::initializer_list<std::string> lst = {
16   "aahing", "aaliis", "aarrgh", "abacas", "abacus", "abakas", "abamps", "abands", "abased", "abaser", "abases", "abasia",
17   "abated", "abater", "abates", "abatis", "abator", "abattu", "abayas", "abbacy", "abbess", "abbeys", "abbots", "abcees",
18   "abdabs", "abduce", "abduct", "abears", "abeigh", "abeles", "abelia", "abends", "abhors", "abided", "abider", "abides",
19   "abject", "abjure", "ablate", "ablaut", "ablaze", "ablest", "ablets", "abling", "ablins", "abloom", "ablush", "abmhos",
20   "aboard", "aboded", "abodes", "abohms", "abolla", "abomas", "aboral", "abords", "aborne", "aborts", "abound", "abouts",
21   "aboves", "abrade", "abraid", "abrash", "abrays", "abrazo", "abrege", "abrins", "abroad", "abrupt", "abseil", "absent",
22   };
24   g(&lst);