summaryrefslogtreecommitdiff
path: root/test/Driver/function-sections.c
diff options
context:
space:
mode:
authorEvgeniy Stepanov <eugeni.stepanov@gmail.com>2014-02-03 11:11:37 +0000
committerEvgeniy Stepanov <eugeni.stepanov@gmail.com>2014-02-03 11:11:37 +0000
commitd60b3cecb42968cd7389fca29c36393dc54e8088 (patch)
tree648ec3274afe9e494e8105b6b480f02a97a9e0d9 /test/Driver/function-sections.c
parent8673e946198e676b06a075fc35516272671e7056 (diff)
downloadclang-d60b3cecb42968cd7389fca29c36393dc54e8088.tar.gz
clang-d60b3cecb42968cd7389fca29c36393dc54e8088.tar.bz2
clang-d60b3cecb42968cd7389fca29c36393dc54e8088.tar.xz
Fix handling of -fno-function-sections, -fno-data-sections in clang driver.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@200685 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Driver/function-sections.c')
-rw-r--r--test/Driver/function-sections.c62
1 files changed, 62 insertions, 0 deletions
diff --git a/test/Driver/function-sections.c b/test/Driver/function-sections.c
new file mode 100644
index 0000000000..fe6d303e3e
--- /dev/null
+++ b/test/Driver/function-sections.c
@@ -0,0 +1,62 @@
+// Test handling of -f(no-)function-sections and -f(no-)data-sections
+//
+// CHECK-FS: -ffunction-sections
+// CHECK-NOFS-NOT: -ffunction-sections
+// CHECK-DS: -fdata-sections
+// CHECK-NODS-NOT: -fdata-sections
+
+// RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \
+// RUN: -target i386-unknown-linux \
+// RUN: | FileCheck --check-prefix=CHECK-NOFS --check-prefix=CHECK-NODS %s
+
+// RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \
+// RUN: -target i386-unknown-linux \
+// RUN: -ffunction-sections \
+// RUN: | FileCheck --check-prefix=CHECK-FS %s
+
+// RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \
+// RUN: -target i386-unknown-linux \
+// RUN: -fno-function-sections \
+// RUN: | FileCheck --check-prefix=CHECK-NOFS %s
+
+// RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \
+// RUN: -target i386-unknown-linux \
+// RUN: -ffunction-sections -fno-function-sections \
+// RUN: | FileCheck --check-prefix=CHECK-NOFS %s
+
+// RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \
+// RUN: -target i386-unknown-linux \
+// RUN: -fno-function-sections -ffunction-sections \
+// RUN: | FileCheck --check-prefix=CHECK-FS %s
+
+// RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \
+// RUN: -target i386-unknown-linux \
+// RUN: -ffunction-sections -fno-function-sections -ffunction-sections \
+// RUN: | FileCheck --check-prefix=CHECK-FS %s
+
+
+// RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \
+// RUN: -target i386-unknown-linux \
+// RUN: -fdata-sections \
+// RUN: | FileCheck --check-prefix=CHECK-DS %s
+
+// RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \
+// RUN: -target i386-unknown-linux \
+// RUN: -fno-data-sections \
+// RUN: | FileCheck --check-prefix=CHECK-NODS %s
+
+// RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \
+// RUN: -target i386-unknown-linux \
+// RUN: -fdata-sections -fno-data-sections \
+// RUN: | FileCheck --check-prefix=CHECK-NODS %s
+
+// RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \
+// RUN: -target i386-unknown-linux \
+// RUN: -fno-data-sections -fdata-sections \
+// RUN: | FileCheck --check-prefix=CHECK-DS %s
+
+// RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \
+// RUN: -target i386-unknown-linux \
+// RUN: -fdata-sections -fno-data-sections -fdata-sections \
+// RUN: | FileCheck --check-prefix=CHECK-DS %s
+