aboutsummaryrefslogtreecommitdiff
path: root/ld/testsuite/ld-x86-64/pr25416-5a.c
blob: 9d820a1911d0303dd189ac1a5bdb77d94dff9c0b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <stdlib.h>
#include <stdio.h>

__thread int bar = 301;

extern int *test1 (int);
extern int *test2 (int);
extern int *test3 (int);

int
main ()
{
  int *p;
  p = test1 (30);
  if (*p != 30)
    abort ();
  *p = 40;
  test1 (40);
  p = test2 (301);
  if (*p != 301)
    abort ();
  if (p != &bar)
    abort ();
  *p = 40;
  test2 (40);
  p = test3 (40);
  if (*p != 40)
    abort ();
  *p = 50;
  test3 (50);
  puts ("PASS");
  return 0;
}