blob: 65861f5a50fdc2c9ae4cf289924fc007aabad8ce [file]
// RUN: %clang_cc1 -triple dxil-pc-shadermodel6.3-library -x hlsl -emit-llvm \
// RUN: -debug-info-kind=constructor -I %S/Inputs -isystem %S/SysInputs \
// RUN: -o - %s | FileCheck %s
#include "a.hlsl"
#include "a.hlsl"
#include <c.hlsl>
// The main file appears first in dx.source.contents; included files are
// appended in sorted order afterwards. Duplicate and system includes are ignored.
// CHECK: !dx.source.contents = !{![[MAIN:[0-9]+]], ![[H1:[0-9]+]], ![[H2:[0-9]+]]}
// CHECK: !dx.source.mainFileName = !{![[MAIN_FILE_NAME:[0-9]+]]}
// CHECK: ![[MAIN]] = !{!"{{.*[\\/]dx-source-metadata-includes.hlsl}}", !"{{.*}}"}
// CHECK: ![[H1]] = !{!"{{.*[\\/]a.hlsl}}", !"{{.*}}"}
// CHECK: ![[H2]] = !{!"{{.*[\\/]b.hlsl}}", !"{{.*}}"}
// CHECK: ![[MAIN_FILE_NAME]] = !{!"{{.*[\\/]dx-source-metadata-includes.hlsl}}"}
float foo(float a, float b) {
return helper1_add(a, b) + helper2_mul(a, b) + sys_helper(a, b);
}