Skip to content

llvmgcc asserts when compiling functions renamed with asm's #440

Closed
@lattner

Description

@lattner
Bugzilla Link 68
Resolution FIXED
Resolved on Feb 22, 2010 12:44
Version 1.0
OS Linux

Extended Description

llvmgcc asserts on this testcase:

struct foo { int X; };
struct bar { int Y; };

extern int Func(struct foo*) asm("Func64");
extern int Func64(struct bar*);

extern inline int Func(struct foo *F) {
return 1;
}

extern inline int Func64(struct bar* B) {
return 0;
}

$ llvmgcc -S test.c
cc1: ../../gcc-3.4/gcc/llvm-representation.c:776: llvm_function_print: Assertion
`isPrototype &&"Cannot forward away from a function implementation!"' failed.
test.c:16: internal compiler error: Aborted
Please submit a full bug report,
with preprocessed source if appropriate.
See URL:http://llvm.cs.uiuc.edu for instructions.

It's hard to believe that this is valid code, but gcc accepts it...

-Chris

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions