aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/c-c++-common/cold-1.c
blob: 3493623e1eba2facdc817c3c7e17270de8ae018f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/* PR ipa/93087 */
/* { dg-do compile { target nonpic } } */
/* { dg-options "-O1 -Wsuggest-attribute=cold" } */

extern void *getdata (void);
extern int set_error (char const *message) __attribute__((cold));

__attribute__((cold)) int
set_nomem (void)	/* { dg-bogus "function might be candidate for attribute 'cold'" } */
{
  return set_error ("Allocation failed");
}

void *
getdata_or_set_error (void)
{
  void *result;
  result = getdata ();
  if (!result)
    set_nomem ();
  return result;
}