1e01aa904Sopenharmony_ci// This is a class that, when #included in a .cc file will generate a 2e01aa904Sopenharmony_ci// dwarf representation that is declaration-only class because the all 3e01aa904Sopenharmony_ci// of the methods of the class are inline virtual methods but one. 4e01aa904Sopenharmony_ci// And the one virtual method that is not inline is not defined. So 5e01aa904Sopenharmony_ci// the .cc file that is going to define that method is going to see 6e01aa904Sopenharmony_ci// the class as being defined, and that file will also have the 7e01aa904Sopenharmony_ci// definition of the vtable. 8e01aa904Sopenharmony_ciclass non_defined_class 9e01aa904Sopenharmony_ci{ 10e01aa904Sopenharmony_ci public: 11e01aa904Sopenharmony_ci non_defined_class(){}; 12e01aa904Sopenharmony_ci virtual ~non_defined_class(){} 13e01aa904Sopenharmony_ci virtual int virtual_func_inserted(){return 0;}; 14e01aa904Sopenharmony_ci virtual int virtual_func1(); 15e01aa904Sopenharmony_ci virtual int virtual_func0(){return 0;} 16e01aa904Sopenharmony_ci}; 17e01aa904Sopenharmony_ci 18e01aa904Sopenharmony_ciint private_function(non_defined_class *); 19