Created
July 4, 2012 14:37
-
-
Save whiter4bbit/3047691 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
whiter4bbit@mac-mini-pavel ~/dev/objc_fun/llvm-bug $ cat foo.h | |
#ifndef FOO_H | |
#define FOO_H | |
typedef struct foo_int *foo_t; | |
//foo_t init_foo(); | |
int run_foo(foo_t foo); | |
#endif //FOO_H | |
whiter4bbit@mac-mini-pavel ~/dev/objc_fun/llvm-bug $ cat foo.c | |
#include "foo.h" | |
#include <stdlib.h> | |
struct foo_int { | |
int bar; | |
}; | |
foo_t init_foo() { | |
return malloc(sizeof(struct foo_int)); | |
} | |
int run_foo(foo_t foo) { | |
return ((struct foo_int*)foo)->bar + 20; | |
} | |
whiter4bbit@mac-mini-pavel ~/dev/objc_fun/llvm-bug $ cat main.c | |
#include <stdio.h> | |
#include "foo.h" | |
int main(void) | |
{ | |
foo_t foo = init_foo(); | |
int res = run_foo(foo); | |
printf("%d\n", res); | |
return 0; | |
} | |
whiter4bbit@mac-mini-pavel ~/dev/objc_fun/llvm-bug $ llvm-gcc -c foo.c -Wall | |
whiter4bbit@mac-mini-pavel ~/dev/objc_fun/llvm-bug $ llvm-gcc -c main.c -Wall | |
main.c: In function ‘main’: | |
main.c:6: warning: implicit declaration of function ‘init_foo’ | |
main.c:6: warning: initialization makes pointer from integer without a cast | |
whiter4bbit@mac-mini-pavel ~/dev/objc_fun/llvm-bug $ llvm-gcc foo.o main.o | |
whiter4bbit@mac-mini-pavel ~/dev/objc_fun/llvm-bug $ ./a.out | |
zsh: segmentation fault ./a.out | |
whiter4bbit@mac-mini-pavel ~/dev/objc_fun/llvm-bug $ llvm-gcc --version | |
i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.9.00) | |
Copyright (C) 2007 Free Software Foundation, Inc. | |
This is free software; see the source for copying conditions. There is NO | |
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment