llvm-project/clang/test/CodeGenCXX/apple-kext-no-staticinit-section.cpp
Mehdi Amini 6aa9e9b41a IRGen: Add optnone attribute on function during O0
Amongst other, this will help LTO to correctly handle/honor files
compiled with O0, helping debugging failures.
It also seems in line with how we handle other options, like how
-fnoinline adds the appropriate attribute as well.

Differential Revision: https://reviews.llvm.org/D28404

llvm-svn: 304127
2017-05-29 05:38:20 +00:00

21 lines
503 B
C++

// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fapple-kext -fno-rtti -disable-O0-optnone -emit-llvm -o - %s | FileCheck %s
// rdar://8825235
/**
1) Normally, global object construction code ends up in __StaticInit segment of text section
.section __TEXT,__StaticInit,regular,pure_instructions
In kext mode, they end up in the __text segment.
*/
class foo {
public:
foo();
virtual ~foo();
};
foo a;
foo b;
foo c;
foo::~foo() {}
// CHECK-NOT: __TEXT,__StaticInit,regular,pure_instructions