[clang] Handle __declspec() attributes in using
[llvm-project.git] / clang / test / CodeGenCXX / header-unit-friend-within-class-linkage.cpp
blobcfee317ba6b2dfe97d59ce4e745ac52c31fadf7c
1 // Tests that the friend function with-in an class definition in the header unit is still implicit inline.
2 // RUN: rm -rf %t
3 // RUN: split-file %s %t
4 //
5 // RUN: %clang_cc1 -std=c++20 -triple %itanium_abi_triple -xc++-user-header -emit-header-unit %t/foo.h -o %t/foo.pcm
6 // RUN: %clang_cc1 -std=c++20 -triple %itanium_abi_triple -fmodule-file=%t/foo.pcm %t/user.cpp \
7 // RUN: -S -emit-llvm -disable-llvm-passes -o - | FileCheck %t/user.cpp
9 //--- foo.h
10 class foo {
11 int value;
12 public:
13 foo(int v) : value(v) {}
15 friend int getFooValue(foo f) {
16 return f.value;
20 //--- user.cpp
21 import "foo.h";
22 int use() {
23 foo f(43);
24 return getFooValue(f);
27 // CHECK: define{{.*}}linkonce_odr{{.*}}@_Z11getFooValue3foo