1762bb9d0ad20320b9f97a841dce57ba5e8e48b07Richard Smith// RUN: %clang_cc1 -std=c++11 -fsyntax-only -verify %s 2c568f1e98938584c0ef0b12ae5018ff7d90a4072Stephen Hines// expected-no-diagnostics 3c568f1e98938584c0ef0b12ae5018ff7d90a4072Stephen Hines 4c568f1e98938584c0ef0b12ae5018ff7d90a4072Stephen Hinesstruct C { 593649fdc5e0c46e26bcba06ad39aa80196d3df27Douglas Gregor typedef int I; 6c568f1e98938584c0ef0b12ae5018ff7d90a4072Stephen Hines}; 793649fdc5e0c46e26bcba06ad39aa80196d3df27Douglas Gregor 8c568f1e98938584c0ef0b12ae5018ff7d90a4072Stephen Hinestypedef int I1, I2; 9c568f1e98938584c0ef0b12ae5018ff7d90a4072Stephen Hinesextern int* p; 10c568f1e98938584c0ef0b12ae5018ff7d90a4072Stephen Hinesextern int* q; 1193649fdc5e0c46e26bcba06ad39aa80196d3df27Douglas Gregor 1293649fdc5e0c46e26bcba06ad39aa80196d3df27Douglas Gregorvoid f() { 13c568f1e98938584c0ef0b12ae5018ff7d90a4072Stephen Hines p->C::I::~I(); 1493649fdc5e0c46e26bcba06ad39aa80196d3df27Douglas Gregor q->I1::~I2(); 1593649fdc5e0c46e26bcba06ad39aa80196d3df27Douglas Gregor} 1693649fdc5e0c46e26bcba06ad39aa80196d3df27Douglas Gregor 17c568f1e98938584c0ef0b12ae5018ff7d90a4072Stephen Hinesstruct A { 1893649fdc5e0c46e26bcba06ad39aa80196d3df27Douglas Gregor ~A(); 19c568f1e98938584c0ef0b12ae5018ff7d90a4072Stephen Hines}; 2093649fdc5e0c46e26bcba06ad39aa80196d3df27Douglas Gregor 21c568f1e98938584c0ef0b12ae5018ff7d90a4072Stephen Hinestypedef A AB; 2293649fdc5e0c46e26bcba06ad39aa80196d3df27Douglas Gregorint main() { 23c568f1e98938584c0ef0b12ae5018ff7d90a4072Stephen Hines AB *p; 2493649fdc5e0c46e26bcba06ad39aa80196d3df27Douglas Gregor p->AB::~AB(); 2593649fdc5e0c46e26bcba06ad39aa80196d3df27Douglas Gregor} 26