38 lines · c
1// RUN: %clang_cc1 %s -verify -fsyntax-only -pedantic2// RUN: %clang_cc1 %s -verify -fsyntax-only -x c++ -pedantic3 4// This file contains UTF-8; please do not fix!5 6 7extern void \u00FCber(int);8extern void \U000000FCber(int); // redeclaration, no warning9#ifdef __cplusplus10// expected-note@-2 + {{candidate function not viable}}11#else12// expected-note@-4 + {{declared here}}13#endif14 15void goodCalls(void) {16 \u00FCber(0);17 \u00fcber(1);18 über(2);19 \U000000FCber(3);20 \u{FC}ber(4); // expected-warning {{extension}}21 \N{LATIN SMALL LETTER U WITH DIAERESIS}ber(4); // expected-warning {{extension}}22}23 24void badCalls(void) {25 \u00FCber(0.5); // expected-warning{{implicit conversion from 'double' to 'int'}}26 \u00fcber = 0; // expected-error{{non-object type 'void (int)' is not assignable}}27 28 über(1, 2);29 \U000000FCber();30#ifdef __cplusplus31 // expected-error@-3 {{no matching function}}32 // expected-error@-3 {{no matching function}}33#else34 // expected-error@-6 {{too many arguments to function call, expected 1, have 2}}35 // expected-error@-6 {{too few arguments to function call, expected 1, have 0}}36#endif37}38