1ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// RUN: %clang_cc1 -verify -emit-llvm-only %s 2ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao 3ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// rdar://problem/7838962 4ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaonamespace test0 { 5ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao template<typename T> unsigned f0() { 6ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao return T::MaxSize; // expected-error {{'int' cannot be used prior to '::'}} 7ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao }; 8ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao template<typename T> struct A { 9ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao void Allocate(unsigned Alignment 10ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao = f0<T>()) // expected-note {{in instantiation}} 11ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao {} 12ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao }; 13ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao void f1(A<int> x) { x.Allocate(); } 14ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao 15ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao} 16