reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | #include "shared.h" struct WrapperA { OuterY::Inner<unsigned int> y; }; int main() { // WrapperA refers to the Inner and Outer class DIEs from this CU. WrapperA a; // WrapperB refers to the Inner and Outer DIEs from the other.cpp CU. // It is important that WrapperB is only forward-declared in shared.h. WrapperB* b = foo(); // Evaluating 'b' here will parse other.cpp's DIEs for all // the Inner and Outer classes from shared.h. // // Evaluating 'a' here will find and reuse the already-parsed // versions of the Inner and Outer classes. In the associated test // we make sure that we can still resolve all the types properly // by evaluating 'a.y.oY_inner.oX_inner'. return 0; // break here } |