You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 0372f08
Browse filesBrowse the repository at this point in the historyBrowse files
A virtual call is now dispatched by finding the outermost enclosing
subobject from which it can be dispatched, and looking up the final
overrider in the override information of that class's base class entry for
the subobject of the callee's class (identified by its offset). Previously,
only the entries for the direct base classes along the way were consulted,
so an overrider declared in a class derived from the callee's class through
a class that does not itself override the function was not found.
"SemaCXX/constant-expression-cxx2a.cpp", line 176: error: static assertion failed
14
14
static_assert(d.ba == 'B');
15
15
^
16
-
"SemaCXX/constant-expression-cxx2a.cpp", line 176: note: the final comparison was 65 == 66
16
+
"SemaCXX/constant-expression-cxx2a.cpp", line 176: note: the final comparison was 68 == 66
17
17
static_assert(d.ba == 'B');
18
18
^
19
19
20
-
"SemaCXX/constant-expression-cxx2a.cpp", line 181: error: static assertion failed
21
-
static_assert(a.f() == 'D');
22
-
^
23
-
"SemaCXX/constant-expression-cxx2a.cpp", line 181: note: the final comparison was 65 == 68
24
-
static_assert(a.f() == 'D');
25
-
^
26
-
27
-
"SemaCXX/constant-expression-cxx2a.cpp", line 182: error: static assertion failed
28
-
static_assert(b.f() == 'D');
29
-
^
30
-
"SemaCXX/constant-expression-cxx2a.cpp", line 182: note: the final comparison was 66 == 68
31
-
static_assert(b.f() == 'D');
32
-
^
33
-
34
20
"SemaCXX/constant-expression-cxx2a.cpp", line 199: error: return type is not identical to nor covariant with return type "const Virtual::A *" of overridden virtual function "Virtual::Covariant1::f"
35
21
constexpr virtual const D *f() const { return &this->d; }
"SemaCXX/constant-expression-cxx2a.cpp", line 176: error: static assertion failed
14
14
static_assert(d.ba == 'B');
15
15
^
16
-
"SemaCXX/constant-expression-cxx2a.cpp", line 176: note: the final comparison was 65 == 66
16
+
"SemaCXX/constant-expression-cxx2a.cpp", line 176: note: the final comparison was 68 == 66
17
17
static_assert(d.ba == 'B');
18
18
^
19
19
20
-
"SemaCXX/constant-expression-cxx2a.cpp", line 181: error: static assertion failed
21
-
static_assert(a.f() == 'D');
22
-
^
23
-
"SemaCXX/constant-expression-cxx2a.cpp", line 181: note: the final comparison was 65 == 68
24
-
static_assert(a.f() == 'D');
25
-
^
26
-
27
-
"SemaCXX/constant-expression-cxx2a.cpp", line 182: error: static assertion failed
28
-
static_assert(b.f() == 'D');
29
-
^
30
-
"SemaCXX/constant-expression-cxx2a.cpp", line 182: note: the final comparison was 66 == 68
31
-
static_assert(b.f() == 'D');
32
-
^
33
-
34
20
"SemaCXX/constant-expression-cxx2a.cpp", line 199: error: return type is not identical to nor covariant with return type "const Virtual::A *" of overridden virtual function "Virtual::Covariant1::f"
35
21
constexpr virtual const D *f() const { return &this->d; }
0 commit comments