libcpp, c, middle-end: Optimize initializers using #embed in C
[official-gcc.git] / gcc / testsuite / gcc.dg / pr43864.c
blob12849f5a2d441fbc3aa9dbe536b8c321fdba68e9
1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fdump-tree-pre -fdump-tree-optimized-blocks-details" } */
4 extern void foo (char*, int);
5 extern void mysprintf (char *, char *);
6 extern void myfree (void *);
7 extern int access (char *, int);
8 extern int fopen (char *, int);
10 char *
11 hprofStartupp (char *outputFileName, char *ctx)
13 char fileName[1000];
14 int fp;
15 mysprintf (fileName, outputFileName);
16 if (access (fileName, 1) == 0)
18 myfree (ctx);
19 return 0;
22 fp = fopen (fileName, 0);
23 if (fp == 0)
25 myfree (ctx);
26 return 0;
29 foo (outputFileName, fp);
31 return ctx;
34 /* { dg-final { scan-tree-dump-times "myfree \\(" 1 "pre"} } */
35 /* { dg-final { scan-tree-dump-not "Invalid sum" "optimized"} } */