1 // RUN: %clang_cc1 -triple %itanium_abi_triple -emit-llvm %s -o - | FileCheck %s 2 // CHECK: _Z1fPA10_1X 3 // CHECK: _Z1fPFvE 4 f(int x)5int __attribute__((overloadable)) f(int x) { return x; } f(float x)6float __attribute__((overloadable)) f(float x) { return x; } f(double x)7double __attribute__((overloadable)) f(double x) { return x; } f(double _Complex x)8double _Complex __attribute__((overloadable)) f(double _Complex x) { return x; } 9 typedef short v4hi __attribute__ ((__vector_size__ (8))); f(v4hi x)10v4hi __attribute__((overloadable)) f(v4hi x) { return x; } 11 12 struct X { }; f(struct X (* ptr)[10])13void __attribute__((overloadable)) f(struct X (*ptr)[10]) { } 14 f(int x,int y,...)15void __attribute__((overloadable)) f(int x, int y, ...) { } 16 f(void (* x)())17void __attribute__((overloadable)) f(void (*x)()) {} 18 main()19int main() { 20 int iv = 17; 21 float fv = 3.0f; 22 double dv = 4.0; 23 double _Complex cdv; 24 v4hi vv; 25 26 iv = f(iv); 27 fv = f(fv); 28 dv = f(dv); 29 cdv = f(cdv); 30 vv = f(vv); 31 } 32