summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/torture/pr38705.C
blob: 07dec5594ca0764016555c59f5e77c70afcfe41d (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
// PR c++/38705
// { dg-do compile }

typedef int T;
typedef __SIZE_TYPE__ size_t;
extern "C" void *memcpy (void *, const void *, size_t);

void
foo (char *p, const int q)
{
  memcpy (p, &q, sizeof (int));
}

struct S
{
  T t;
  int u;
  int bar () const;
  template <class T> void foo (const T &x) const {}
};

int
S::bar () const
{
  foo (u);
  foo (t);
  return 0;
}