Lines Matching full:void
17 // CHECK: define void @_Z1f1s
19 void f(s) { }
21 // CHECK: define void @_Z1f1e
23 void f(e) { }
25 // CHECK: define void @_Z1f1u
27 void f(u) { }
29 // CHECK: define void @_Z1f1x
31 void f(y) { }
33 // CHECK: define void @_Z1fv
34 void f() { }
36 // CHECK: define void @_ZN1N1fEv
37 namespace N { void f() { } }
39 // CHECK: define void @_ZN1N1N1fEv
40 namespace N { namespace N { void f() { } } }
42 // CHECK: define void @unmangled_function
43 extern "C" { namespace N { void unmangled_function() { } } }
51 namespace N { int h(); void g() { static int a = h(); } }
53 // CHECK: define void @_Z1fno
54 void f(__int128_t, __uint128_t) { }
58 // CHECK: define void @_Z1f2S1IiE
59 void f(S1<int>) {}
61 // CHECK: define void @_Z1f2S1IdE
62 void f(S1<double>) {}
65 // CHECK: define void @_Z1f2S2ILi100EE
66 void f(S2<100>) {}
68 // CHECK: define void @_Z1f2S2ILin100EE
69 void f(S2<-100>) {}
73 // CHECK: define void @_Z1f2S3ILb1EE
74 void f(S3<true>) {}
76 // CHECK: define void @_Z1f2S3ILb0EE
77 void f(S3<false>) {}
81 // CHECK: define void @_Z1fM1SKFvvE
82 void f(void (S::*)() const) {}
84 // CHECK: define void @_Z1fM1SFvvE
85 void f(void (S::*)()) {}
87 // CHECK: define void @_Z1fi
88 void f(const int) { }
90 template<typename T, typename U> void ft1(U u, T t) { }
92 template<typename T> void ft2(T t, void (*)(T), void (*)(T)) { }
95 template<typename T> void ft3(S4<T>*) { }
98 template<typename T> void ft1(T) { }
101 void g1() {
118 template<int I> void ft4(S5<I>) { }
119 void g2() {
129 void h() { }
147 int main(void) { dbg << 32 ;}
154 template<typename T> void ft5(typename S6<T>::B) { }
156 template void ft5<int>(int);
194 template<typename T> typename __enable_if<__is_scalar_type<T>::__value, void>::__type ft7() { }
197 template void ft7<int>();
199 template void ft7<void*>();
203 void extern_f(void);
207 void extern_f(void) { }
225 template<typename T> typename __enable_if<(__is_scalar_type<T>::__value), void>::__type ft8() { }
227 template void ft8<int>();
229 template void ft8<void*>();
241 // CHECK: define linkonce_odr void @_ZN6PR57968__fill_aIiEENS_11__enable_ifIXntsr16__is_scalar_typeIT_EE7__valueEvE6__typeEv
242 typename __enable_if<!__is_scalar_type<T>::__value, void>::__type __fill_a() { };
244 void f() { __fill_a<int>(); }
250 // CHECK: define weak_odr void @_ZN11Expressions2f1ILi1EEEvPAplngT_Li2E_i
251 template <int i> void f1(int (*)[(-i) + 2]) { };
252 template void f1<1>(int (*)[1]);
254 // CHECK: define weak_odr void @_ZN11Expressions2f2ILi1EEEvPApsT__i
255 template <int i> void f2(int (*)[+i]) { };
256 template void f2<1>(int (*)[1]);
260 // CHECK: define weak_odr void @_ZN11Expressions2f3ILi1EEEvPAplT_T__i
261 template <int i> void f3(int (*)[i+i]) { };
262 template void f3<1>(int (*)[2]);
264 // CHECK: define weak_odr void @_ZN11Expressions2f4ILi1EEEvPAplplLi2ET_T__i
265 template <int i> void f4(int (*)[2 + i+i]) { };
266 template void f4<1>(int (*)[4]);
269 // CHECK: define weak_odr void @_ZN11Expressions2f4ILb1EEEvPAquT_Li1ELi2E_i
270 template <bool b> void f4(int (*)[b ? 1 : 2]) { };
271 template void f4<true>(int (*)[1]);
280 void *v;
302 T *allocate(int, const void*) { return 0; }
309 // CHECK: define void @_Z1fU13block_pointerFiiiE
310 void f(int (^)(int, int)) { }
312 void pr5966_foo() {
319 void pr5966_bar() {
327 template <class T> void f(T, char (&buffer)[sizeof(ovl(T()))]) {}
329 void test0() {
333 // CHECK: define void @_ZN5test05test0Ev()
334 // CHECK: define linkonce_odr void @_ZN5test01fIdEEvT_RAszcl3ovlcvS1__EE_c(
336 void test1() {
340 // CHECK: define void @_ZN5test05test1Ev()
341 // CHECK: define linkonce_odr void @_ZN5test01fIiEEvT_RAszcl3ovlcvS1__EE_c(
343 template <class T> void g(char (&buffer)[sizeof(T() + 5.0f)]) {}
344 void test2() {
348 // CHECK: define linkonce_odr void @_ZN5test01gIfEEvRAszplcvT__ELf40a00000E_c(
350 template <class T> void h(char (&buffer)[sizeof(T() + 5.0)]) {}
351 void test3() {
355 // CHECK: define linkonce_odr void @_ZN5test01hIfEEvRAszplcvT__ELd4014000000000000E_c(
357 template <class T> void j(char (&buffer)[sizeof(T().buffer)]) {}
359 void test4() {
363 // CHECK: define linkonce_odr void @_ZN5test01jINS_1AEEEvRAszdtcvT__E6buffer_c(
365 template <class T> void k(char (&buffer)[sizeof(T() + 0.0f)]) {}
366 void test5() {
370 // CHECK: define linkonce_odr void @_ZN5test01kIfEEvRAszplcvT__ELf00000000E_c(
376 template<template<class> class Y, typename T> void f(Y<T>) { }
377 // CHECK: define weak_odr void @_ZN5test11fINS_1XEiEEvT_IT0_E
378 template void f(X<int>);
381 // CHECK: define internal void @_ZL27functionWithInternalLinkagev()
382 static void functionWithInternalLinkage() { }
383 void g() { functionWithInternalLinkage(); }
418 void test() {
426 // CHECK: define void @_ZN5test41gEPNS_3zedIXadL_ZNS_3foo3barEEEEE
431 void g(zed<&foo::bar>*)
434 // CHECK: define void @_ZN5test51gEPNS_3zedIXadL_ZNS_3foo3barEEEEE
439 void g(zed<&foo::bar>*)
442 // CHECK: define void @_ZN5test61gEPNS_3zedIXadL_ZNS_3foo3barEvEEEE
447 void g(zed<&foo::bar>*)
450 // CHECK: define void @_ZN5test71gEPNS_3zedIXadL_ZNS_3foo3barEvEEEE
455 void g(zed<&foo::bar>*)
458 // CHECK: define weak_odr void @_ZN5test81AILZNS_1B5valueEEE3incEv
460 template <int &counter> class A { void inc() { counter++; } };
464 // CHECK: declare void @_ZN5test91fIiNS_3barEEEvRKNT0_3baz1XE
474 void f(const typename zed::baz::X&);
475 void g() {
483 template <char P2> void f(struct S<false ? 'a' : P2> ) {}
485 // CHECK: define weak_odr void @_ZN6test101fILc3EEEvNS_1SIXquLb0ELc97ET_EEE(
486 template void f<(char) 3>(struct S<3>);
491 void f(...) { }
494 void f(...);
498 void A::f(...) { }
505 void f(A<33000>) { }
513 template <template<class> class T> void foo(const A<T> &a) {}
515 // CHECK: define weak_odr void @_ZN6test133fooINS_1BEEEvRKNS_1AIT_EE(
516 template void foo(const A<B> &a);
535 template <int I> void f(S<I + e>) {}
537 // CHECK: define weak_odr void @_ZN6test151fILi7EEEvNS_1SIXplT_LNS_1EE3EEEE(
538 template void f<7>(S<7 + e>);
546 static int foo(void);
549 template <class T> A<sizeof(T::foo())> func(void);
551 // CHECK: define void @_ZN6test174testEv()
553 void test() {
568 template <typename T> void f(S<&T::operator+>) {}
569 template void f<A>(S<&A::operator+>);
571 template <typename T> void f(S<&T::operator- >) {}
572 template void f<A>(S<&A::operator- >);
574 template <typename T> void f(S<&T::operator*>) {}
575 template void f<A>(S<&A::operator*>);
577 template <typename T> void f(S<&T::operator&>) {}
578 template void f<A>(S<&A::operator&>);
580 // CHECK: define weak_odr void @_ZN6test181fINS_1AEEEvNS_1SIXadsrT_plEEE
581 // CHECK: define weak_odr void @_ZN6test181fINS_1AEEEvNS_1SIXadsrT_miEEE
582 // CHECK: define weak_odr void @_ZN6test181fINS_1AEEEvNS_1SIXadsrT_mlEEE
583 // CHECK: define weak_odr void @_ZN6test181fINS_1AEEEvNS_1SIXadsrT_anEEE
597 template <typename T> void g (S<&T::template f<int> >) {}
598 template <typename T> void g (S<&T::operator+ >) {}
599 template <typename T> void g (S<&T::operator int>) {}
600 template <typename T> void g (S<&T::template operator- <double> >) {}
602 // CHECK: define weak_odr void @_ZN6test191gINS_1AEEEvNS_1SIXadsrT_1fIiEEEE(
603 template void g<A>(S<&A::f<int> >);
604 // CHECK: define weak_odr void @_ZN6test191gINS_1AEEEvNS_1SIXadsrT_plEEE(
605 template void g<A>(S<&A::operator+>);
606 // CHECK: define weak_odr void @_ZN6test191gINS_1AEEEvNS_1SIXadsrT_cviEEE(
607 template void g<A>(S<&A::operator int>);
608 // CHECK: define weak_odr void @_ZN6test191gINS_1AEEEvNS_1SIXadsrT_miIdEEEE(
609 template void g<A>(S<&A::operator-<double> >);
616 // CHECK: define weak_odr void @_ZN6test205test0IiEEvDTcl1fIPT_ELi0EEE(
617 template <class T> void test0(decltype(f<T*>(0))) {}
618 template void test0<int>(decltype(f<int*>(0)));
620 // CHECK: define weak_odr void @_ZN6test205test1IiEEvDTcl1fIEcvT__EEE(
621 template <class T> void test1(decltype(f<>(T()))) {}
622 template void test1<int>(decltype(f<>(int())));
627 // CHECK: define void @_ZN6test2112vla_arg_funcEiPA_i(
628 void vla_arg_func(int X, int a[X][X]) {}
632 // CHECK: define void @_ZN6test221fEDn(
633 void f(decltype(nullptr)) { }
638 typedef void * const vpc;
640 // CHECK: define void @_ZN6test231fERA10_KPv(
641 void f(vpc (&)[10]) {}
644 void f(vpca5 volatile (&)[10]) {}
645 // CHECK: define void @_ZN6test231fERA10_A5_VKPv(
649 void test0() {
656 void test1() {
664 template <void (*fn)()> struct A {
665 static void call() { fn(); }
667 void foo();
668 void test() {
669 // CHECK: call void @_ZN6test251AIXadL_ZNS_3fooEvEEE4callEv()
675 template <template <class> class T> void foo(decltype(T<float>::object) &object) {}
679 void test() {
682 // CHECK: call void @_ZN6test263fooINS_6holderEEEvRDtsrT_IfE6objectE(
697 template <class T> void a(decltype(T::inner::object) &object) {}
698 template <class T> void b(decltype(T().Alias::meth()) &object) {}
700 void test() {
702 // CHECK: call void @_ZN6test271aINS_1AEEEvRDtsrNT_5innerE6objectE(
704 // CHECK: call void @_ZN6test271bINS_1AEEEvRDTcldtcvT__Esr5AliasE4methEE(
715 template <class T> void foo(decltype(A<T>::A::bit) x);
717 void test() {
719 // CHECK: call void @_ZN6test283fooIcEEvDtsr1AIT_E1AE3bitE(
726 template <class U> static void foo(decltype(T::fn(U())) x);
730 void test() {
732 // CHECK: call void @_ZN6test291AINS_1BEE3fooIiEEvDTclsrS1_2fncvT__EEE(
739 template <class U> static void foo(decltype(T<U>::fn()) x);
743 void test() {
745 // CHECK: call void @_ZN6test301AINS_1BEE3fooIiEEvDTclsrS1_IT_EE2fnEE(
757 void g(int);
764 // CHECK: define weak_odr void @_ZN6test312f3IiEEDTcl1gfp_EET_
765 template void f3(int);
776 void test() {
794 void test() {
803 void f(decltype(sizeof(decltype(T() + T())))) {}
805 // CHECK: define weak_odr void @_ZN6test341fIiEEvDTstDTplcvT__EcvS1__EEE
806 template void f<int>(decltype(sizeof(1)));
810 void f2(int (&)[N + sizeof(int*)]) {}
812 // CHECK: define weak_odr void @_ZN6test342f2ILj4EEEvRAplT_Lm8E_i
813 template void f2<4>(int (&)[4 + sizeof(int*)]);
818 void f3(int (&)[N + sizeof(int*)]) {}
820 // CHECK: define weak_odr void @_ZN6test342f3ILy4EEEvRAplT_Ly8E_i
821 template void f3<4>(int (&)[4 + sizeof(int*)]);
827 template<typename T> void f4(::test34::A<sizeof(sizeof(decltype(T() + T())))>) { }
829 // CHECK: define weak_odr void @_ZN6test342f4IiEEvNS_1AIXszstDTplcvT__EcvS2__EEEEE
830 template void f4<int>(A<sizeof(sizeof(int))>);
840 void f1(decltype(sizeof(&T::template operator+<int>))) {}
842 // CHECK: define weak_odr void @_ZN6test352f1INS_1AEEEvDTszadsrT_plIiEE
843 template void f1<A>(__SIZE_TYPE__);