diff options
author | Justin Lebar <jlebar@google.com> | 2016-07-27 22:04:24 +0000 |
---|---|---|
committer | Justin Lebar <jlebar@google.com> | 2016-07-27 22:04:24 +0000 |
commit | ed4f172c00baee0127c14df55364ae8a80b05a8e (patch) | |
tree | 04ef2d6825dddc5ed213fae556fab117cf64b00f /clang/test/CodeGenCXX | |
parent | fc07e8b428b08235eb44cc2c418436b388ffc51e (diff) | |
download | bcm5719-llvm-ed4f172c00baee0127c14df55364ae8a80b05a8e.tar.gz bcm5719-llvm-ed4f172c00baee0127c14df55364ae8a80b05a8e.zip |
Don't crash when generating code for __attribute__((naked)) member functions.
Summary:
Previously this crashed inside EmitThisParam(). There should be no
prelude for naked functions, so just skip the whole thing.
Reviewers: majnemer
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D22715
llvm-svn: 276925
Diffstat (limited to 'clang/test/CodeGenCXX')
-rw-r--r-- | clang/test/CodeGenCXX/naked.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/clang/test/CodeGenCXX/naked.cpp b/clang/test/CodeGenCXX/naked.cpp new file mode 100644 index 00000000000..7032823e44b --- /dev/null +++ b/clang/test/CodeGenCXX/naked.cpp @@ -0,0 +1,13 @@ +// RUN: %clang_cc1 -emit-llvm %s -o - | FileCheck %s +// RUN: %clang_cc1 -triple x86_64-windows -emit-llvm %s -o - | FileCheck %s + +class TestNaked { +public: + void NakedFunction(); +}; + +__attribute__((naked)) void TestNaked::NakedFunction() { + // CHECK-LABEL: define void @ + // CHECK: call void asm sideeffect + asm(""); +} |