// Tests that the friend function with-in an class definition in the header unit is still implicit inline. // RUN: rm -rf %t // RUN: split-file %s %t // // RUN: %clang_cc1 -std=c++20 -triple %itanium_abi_triple -xc++-user-header -emit-header-unit %t/foo.h -o %t/foo.pcm // RUN: %clang_cc1 -std=c++20 -triple %itanium_abi_triple -fmodule-file=%t/foo.pcm %t/user.cpp \ // RUN: -emit-llvm -disable-llvm-passes -o - | FileCheck %t/user.cpp //--- foo.h class foo { int value; public: foo(int v) : value(v) {} friend int getFooValue(foo f) { return f.value; } }; //--- user.cpp import "foo.h"; int use() { foo f(43); return getFooValue(f); } // CHECK: define{{.*}}linkonce_odr{{.*}}@_Z11getFooValue3foo