1224090Sdougb/* This caused an ICE on s390 due to incorrect secondary 2234010Sdougb output reloads. */ 3224090Sdougb 4224090Sdougb/* { dg-do compile } */ 5224090Sdougb/* { dg-options "-O2 -fprofile-generate" } */ 6224090Sdougb 7224090Sdougbchar * 8224090Sdougbtest(char *ret, int *counter, void *schema, 9224090Sdougb const char* name, const char *namespace, 10224090Sdougb void *node, int topLevel) 11224090Sdougb{ 12224090Sdougb char buf[30]; 13224090Sdougb int val; 14224090Sdougb 15224090Sdougb if (counter == 0) return 0; 16234010Sdougb if (schema == 0) return 0; 17224090Sdougb if (name == 0) return 0; 18224090Sdougb 19224090Sdougb __builtin_memset (ret, 0, 100); 20224090Sdougb lookup (schema, name, -1); 21224090Sdougb val = hash (schema, name, namespace, name, ret); 22224090Sdougb if (val == 0) return ret; 23224090Sdougb 24224090Sdougb if (topLevel != 0) 25224090Sdougb { 26224090Sdougb error (1, 0, 0, node, "%s", name); 27224090Sdougb return 0; 28224090Sdougb } 29224090Sdougb 30224090Sdougb __snprintf_chk (buf, 29, 1, 30, "#eCont %d", ++*counter); 31234010Sdougb val = hash (schema, name, buf, namespace, ret); 32224090Sdougb if (val == 0) return ret; 33224090Sdougb 34234010Sdougb error (1, 0, 0, node, "%s", name); 35224090Sdougb return 0; 36224090Sdougb} 37224090Sdougb