Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Assertion failed: (CurFn->isDeclaration() && "Function already has body?"), function StartFunction, file CodeGenFunction.cpp, line 500. #18405

Closed
llvmbot opened this issue Nov 22, 2013 · 2 comments
Labels
bugzilla Issues migrated from bugzilla clang:codegen

Comments

@llvmbot
Copy link
Member

llvmbot commented Nov 22, 2013

Bugzilla Link 18031
Resolution FIXED
Resolved on Nov 23, 2013 12:45
Version trunk
OS All
Reporter LLVM Bugzilla Contributor
CC @akyrtzi

Extended Description

Reduced test case:

typedef struct mystruct { } mystruct_t;
class MyClass {
static const MyClass
create(mystruct_t q);
};
const MyClass* MyClass::create(mystruct_t q) { return 0; }
extern "C" {
const MyClass* _ZN7MyClass6createEP8mystruct(mystruct_t q) { return 0; }
}

Original arguments used to reproduce (on Mac OS X 10.9) with trunk clang r194422:

./clang-r194422/bin/clang -cc1 -triple x86_64-apple-macosx10.9.0 -emit-obj -disable-free -main-file-name x.cpp -mrelocation-model pic -pic-level 2 -mdisable-fp-elim -masm-verbose -munwind-tables -target-cpu core2 -target-linker-version 142 -gdwarf-2 -stdlib=libc++ -Os -Wno-trigraphs -Wno-missing-field-initializers -Wno-missing-prototypes -Wno-return-type -Wno-implicit-atomic-properties -Wno-receiver-is-weak -Wno-arc-repeated-use-of-weak -Wno-non-virtual-dtor -Wno-overloaded-virtual -Wno-exit-time-destructors -Wno-missing-braces -Wparentheses -Wswitch -Wno-unused-function -Wno-unused-label -Wno-unused-parameter -Wno-unused-variable -Wunused-value -Wno-empty-body -Wno-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wno-constant-conversion -Wno-int-conversion -Wno-bool-conversion -Wno-enum-conversion -Wno-shorten-64-to-32 -Wno-newline-eof -Wno-selector -Wno-strict-selector-match -Wno-undeclared-selector -Wno-deprecated-implementations -Wno-c++11-extensions -Wprotocol -Wdeprecated-declarations -Winvalid-offsetof -Wno-sign-conversion -Wmost -Wpointer-arith -Wcast-align -Wno-error=deprecated-declarations -fdeprecated-macro -ferror-limit 19 -fmacro-backtrace-limit 0 -fmessage-length 0 -fvisibility-inlines-hidden -stack-protector 1 -mstackrealign -fblocks -fno-rtti -fno-threadsafe-statics -fobjc-runtime=macosx-10.9.0 -fencode-extended-block-signature -fobjc-gc -fobjc-exceptions -fexceptions -fpascal-strings -fno-common -fdiagnostics-show-option -fdiagnostics-show-note-include-stack -fasm-blocks -vectorize-loops -vectorize-slp -x c++ x.cpp

@akyrtzi
Copy link
Contributor

akyrtzi commented Nov 22, 2013

Also filed as rdar://15522601.

@akyrtzi
Copy link
Contributor

akyrtzi commented Nov 23, 2013

With r195556 clang emits an error.

@llvmbot llvmbot transferred this issue from llvm/llvm-bugzilla-archive Dec 9, 2021
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bugzilla Issues migrated from bugzilla clang:codegen
Projects
None yet
Development

No branches or pull requests

2 participants