llvm-project/clang/test/Driver/function-sections.c
Rafael Espindola 463a0afe15 Don't use unique section names by default if using the integrated as.
This saves some IO and ccache space by not creating long section names. It
should work with every ELF linker.

llvm-svn: 233393
2015-03-27 17:55:23 +00:00

85 lines
3.3 KiB
C

// 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
// CHECK-US-NOT: -fno-unique-section-names
// CHECK-NOUS: -fno-unique-section-names
// 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
// RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \
// RUN: -target i386-unknown-linux \
// RUN: -funique-section-names \
// RUN: | FileCheck --check-prefix=CHECK-US %s
// RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \
// RUN: -target i386-unknown-linux \
// RUN: -fno-unique-section-names \
// RUN: | FileCheck --check-prefix=CHECK-NOUS %s
// RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \
// RUN: -target i386-unknown-linux \
// RUN: -fno-integrated-as \
// RUN: | FileCheck --check-prefix=CHECK-US %s
// RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \
// RUN: -target i386-unknown-linux \
// RUN: -fintegrated-as \
// RUN: | FileCheck --check-prefix=CHECK-NOUS %s