1e01aa904Sopenharmony_ci// Compile this with: 2e01aa904Sopenharmony_ci// g++ -g -Wall -shared -fPIC -o test30-pub-lib-v1.so test30-pub-lib-v1.cc 3e01aa904Sopenharmony_ci 4e01aa904Sopenharmony_ci#include "test30-include-dir-v1/test30-pub-lib-v1.h" 5e01aa904Sopenharmony_ci#include "test30-priv-lib-v1.h" 6e01aa904Sopenharmony_ci 7e01aa904Sopenharmony_ciint 8e01aa904Sopenharmony_ciprivate_function(non_defined_class *) 9e01aa904Sopenharmony_ci{ 10e01aa904Sopenharmony_ci non_defined_class o; 11e01aa904Sopenharmony_ci return o.virtual_func0() + o.virtual_func_inserted(); 12e01aa904Sopenharmony_ci} 13e01aa904Sopenharmony_ci 14e01aa904Sopenharmony_ciclass S::priv_type 15e01aa904Sopenharmony_ci{ 16e01aa904Sopenharmony_cipublic: 17e01aa904Sopenharmony_ci non_defined_class* member0; 18e01aa904Sopenharmony_ci int member1; 19e01aa904Sopenharmony_ci}; 20e01aa904Sopenharmony_ci 21e01aa904Sopenharmony_ciint 22e01aa904Sopenharmony_cipublic_function(S* s) 23e01aa904Sopenharmony_ci{return private_function(s->priv->member0) + s->priv->member1;} 24