On Wed, Nov 20, 2013 at 08:35:28AM -0500, Andrew MacLeod wrote: > I also hacked up the compiler to report what the 'top' of the stack > was for a compilation unit. I then ran it through a bootstrap and > full testsuite run of all languages, and looked for the maximum > number of context structs in use at one time. Normally only 1 or 2 > were ever in use, but its topped out at 7 during some of the openmp > tests. So my current limit of 30 will likely never been reached.
??? You can trivially create a testcase where it will be reached (and you certainly should, so that you actually test the fallback). Say: /* { dg-do compile } */ /* { dg-options "-fopenmp" } */ #define P1 _Pragma ("omp parallel") #define P10 P1 P1 P1 P1 P1 P1 P1 P1 P1 P1 #define P100 P10 P10 P10 P10 P10 P10 P10 P10 P10 P10 void bar (void); void foo (void) { P100 bar (); } Jakub