llvm-project/clang/test/Driver/function-sections.c
Rafael Espindola 298059a4ac This reverts commit r234104, bringing back 233393 now that ARM is fixed.
Original message:

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: 234143
2015-04-06 04:36:45 +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