aboutsummaryrefslogtreecommitdiff
path: root/clang/test/Frontend/dump-minimization-hints.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test/Frontend/dump-minimization-hints.cpp')
-rw-r--r--clang/test/Frontend/dump-minimization-hints.cpp77
1 files changed, 77 insertions, 0 deletions
diff --git a/clang/test/Frontend/dump-minimization-hints.cpp b/clang/test/Frontend/dump-minimization-hints.cpp
index 4843786..4c5dfbc 100644
--- a/clang/test/Frontend/dump-minimization-hints.cpp
+++ b/clang/test/Frontend/dump-minimization-hints.cpp
@@ -39,6 +39,56 @@
// RANGE-NEXT: "line": 15,
// RANGE-NEXT: "column": 2
// RANGE-NEXT: }
+// RANGE-NEXT: },
+// RANGE-NEXT: {
+// RANGE-NEXT: "from": {
+// RANGE-NEXT: "line": 19,
+// RANGE-NEXT: "column": 1
+// RANGE-NEXT: },
+// RANGE-NEXT: "to": {
+// RANGE-NEXT: "line": 19,
+// RANGE-NEXT: "column": 41
+// RANGE-NEXT: }
+// RANGE-NEXT: },
+// RANGE-NEXT: {
+// RANGE-NEXT: "from": {
+// RANGE-NEXT: "line": 20,
+// RANGE-NEXT: "column": 1
+// RANGE-NEXT: },
+// RANGE-NEXT: "to": {
+// RANGE-NEXT: "line": 23,
+// RANGE-NEXT: "column": 2
+// RANGE-NEXT: }
+// RANGE-NEXT: },
+// RANGE-NEXT: {
+// RANGE-NEXT: "from": {
+// RANGE-NEXT: "line": 31,
+// RANGE-NEXT: "column": 1
+// RANGE-NEXT: },
+// RANGE-NEXT: "to": {
+// RANGE-NEXT: "line": 31,
+// RANGE-NEXT: "column": 27
+// RANGE-NEXT: }
+// RANGE-NEXT: },
+// RANGE-NEXT: {
+// RANGE-NEXT: "from": {
+// RANGE-NEXT: "line": 32,
+// RANGE-NEXT: "column": 3
+// RANGE-NEXT: },
+// RANGE-NEXT: "to": {
+// RANGE-NEXT: "line": 32,
+// RANGE-NEXT: "column": 12
+// RANGE-NEXT: }
+// RANGE-NEXT: },
+// RANGE-NEXT: {
+// RANGE-NEXT: "from": {
+// RANGE-NEXT: "line": 34,
+// RANGE-NEXT: "column": 1
+// RANGE-NEXT: },
+// RANGE-NEXT: "to": {
+// RANGE-NEXT: "line": 34,
+// RANGE-NEXT: "column": 2
+// RANGE-NEXT: }
// RANGE-NEXT: }
// RANGE-NEXT: ]
// RANGE-NEXT: }
@@ -68,6 +118,30 @@ int multiply(int a, int b) {
return a * b;
}
+inline void unused_by_foo() {} // line 17
+
+inline void recursively_used_by_foo() {} // line 19
+inline int used_by_foo() { // line 20
+ recursively_used_by_foo();
+ return 1;
+}
+
+struct UnusedByFoo {};
+
+namespace ns_unused_by_foo {
+ void x();
+}
+
+namespace ns_used_by_foo { // line 31
+ void x(); // line 32
+ void unused_y();
+} // line 34
+
+// Does not have any declarations that are used, so
+// will not be marked as used.
+namespace ns_used_by_foo {
+ void unused_z();
+}
//--- foo.cpp
#include "foo.h"
int global_value = 5;
@@ -76,4 +150,7 @@ int main() {
int current_value = data.getValue();
int doubled_value = multiply(current_value, 2);
int final_result = doubled_value + global_value;
+
+ used_by_foo();
+ ns_used_by_foo::x();
}