blob: af6140a1f440b90aba8e33000e9974b32a83091e (
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
34
35
36
37
38
39
40
41
42
43
44
|
// PR c++/91844 - Implement CWG 2352, Similar types and reference binding.
// { dg-do compile { target c++11 } }
// These should bind directly to ptr, so no -Wreturn-local-addr warnings.
int *ptr;
const int *const &
fn1 ()
{
return ptr;
}
int **const ptr2 = nullptr;
const int *const *const &
fn2 ()
{
return ptr2;
}
int (*ptr3)[10];
using T = const int (*const)[10];
T&
fn3 ()
{
return ptr3;
}
int (**ptr4)[5] = nullptr;
using T2 = const int (*const *const)[5];
T2&
fn4 ()
{
return ptr4;
}
const int **ptr5 = nullptr;
const int *const *const &
fn5 ()
{
return ptr5;
}
|