14e31b4d6cf25029aa280d691e9023359c0ef4204Rafael Espindola// RUN: %clang_cc1 -fsyntax-only -verify %s 24e31b4d6cf25029aa280d691e9023359c0ef4204Rafael Espindola 34e31b4d6cf25029aa280d691e9023359c0ef4204Rafael Espindolatemplate <class Element> 44e31b4d6cf25029aa280d691e9023359c0ef4204Rafael Espindolavoid foo() { 54e31b4d6cf25029aa280d691e9023359c0ef4204Rafael Espindola} 64e31b4d6cf25029aa280d691e9023359c0ef4204Rafael Espindolatemplate <> 74e31b4d6cf25029aa280d691e9023359c0ef4204Rafael Espindola __attribute__((visibility("hidden"))) // expected-note {{previous attribute is here}} 84e31b4d6cf25029aa280d691e9023359c0ef4204Rafael Espindolavoid foo<int>(); 94e31b4d6cf25029aa280d691e9023359c0ef4204Rafael Espindola 104e31b4d6cf25029aa280d691e9023359c0ef4204Rafael Espindolatemplate <> 114e31b4d6cf25029aa280d691e9023359c0ef4204Rafael Espindolavoid foo<int>(); 124e31b4d6cf25029aa280d691e9023359c0ef4204Rafael Espindola 134e31b4d6cf25029aa280d691e9023359c0ef4204Rafael Espindolatemplate <> 144e31b4d6cf25029aa280d691e9023359c0ef4204Rafael Espindola __attribute__((visibility("default"))) // expected-error {{visibility does not match previous declaration}} 154e31b4d6cf25029aa280d691e9023359c0ef4204Rafael Espindolavoid foo<int>() { 164e31b4d6cf25029aa280d691e9023359c0ef4204Rafael Espindola} 17f729ce0b231e045b8e7db61e85e87186c09db238Rafael Espindola 18f729ce0b231e045b8e7db61e85e87186c09db238Rafael Espindolastruct x3 { 19f729ce0b231e045b8e7db61e85e87186c09db238Rafael Espindola static int y; 20f729ce0b231e045b8e7db61e85e87186c09db238Rafael Espindola} __attribute((visibility("default"))); // expected-warning {{attribute 'visibility' after definition is ignored}} 21