1/* It seems there is no way to avoid the other source of mulitple
2   source testcase from being compiled independently.  Just avoid
3   error.  */
4#ifdef DOJOB
5extern int a;
6void abort (void);
7
8#ifdef _PROFILE_USE
9__attribute__ ((externally_visible))
10int constval=1,constval2=2;
11#else
12__attribute__ ((externally_visible))
13int constval=3,constval2=2;
14#endif
15
16
17void
18add(int i)
19{
20  /* Verify that inlining happens for first case.  */
21  if (i==constval && !__builtin_constant_p (i))
22    abort ();
23  /* Second case has no dominating target; it should not inline.  */
24  if (i==constval2 && __builtin_constant_p (i))
25    abort ();
26  a += i;
27}
28void
29sub(int i)
30{
31  a -= i;
32}
33__attribute__ ((externally_visible))
34void (*p[2])(int)={add, sub};
35#else
36int
37main()
38{
39  return 0;
40}
41#endif
42