// RUN: %clang_cc1 %s -verify -fsyntax-only -pedantic // RUN: %clang_cc1 %s -verify -fsyntax-only -x c++ -pedantic // This file contains UTF-8; please do not fix! extern void \u00FCber(int); extern void \U000000FCber(int); // redeclaration, no warning #ifdef __cplusplus // expected-note@-2 + {{candidate function not viable}} #else // expected-note@-4 + {{declared here}} #endif void goodCalls() { \u00FCber(0); \u00fcber(1); über(2); \U000000FCber(3); } void badCalls() { \u00FCber(0.5); // expected-warning{{implicit conversion from 'double' to 'int'}} \u00fcber = 0; // expected-error{{non-object type 'void (int)' is not assignable}} über(1, 2); \U000000FCber(); #ifdef __cplusplus // expected-error@-3 {{no matching function}} // expected-error@-3 {{no matching function}} #else // expected-error@-6 {{too many arguments to function call, expected 1, have 2}} // expected-error@-6 {{too few arguments to function call, expected 1, have 0}} #endif }