diff options
| author | Christopher Li <sparse@chrisli.org> | 2009-07-10 11:19:22 -0700 |
|---|---|---|
| committer | Christopher Li <sparse@chrisli.org> | 2009-07-19 02:17:32 +0000 |
| commit | 8cf99394ee4c08a3ede8ef52cd0b3ce73afcf076 (patch) | |
| tree | 9b280f75bda93d150735509c86f98a68439b9837 /validation | |
| parent | 37f041aba632b7ffc46eb779df07804d9d7d547a (diff) | |
| download | sparse-dev-8cf99394ee4c08a3ede8ef52cd0b3ce73afcf076.tar.gz | |
move extern inline function to file scope
In gcc extern inline function has special meaning. The inline
function will never emit stand alone copy of the function. It also
allow multiple implementations cross different file. That effectively
makes the extern inline has file scope.
Signed-off-by: Christopher Li <sparse@chrisli.org>
Diffstat (limited to 'validation')
| -rw-r--r-- | validation/extern-inline.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/validation/extern-inline.c b/validation/extern-inline.c new file mode 100644 index 00000000..4f12ac06 --- /dev/null +++ b/validation/extern-inline.c @@ -0,0 +1,23 @@ +extern __inline__ int f(int); + +extern __inline__ int +f(int x) +{ + return x; +} + +extern int g(int); + +extern __inline__ int +g(int x) +{ + return x; +} + + +/* + * check-name: extern inline function + * check-command: sparse $file $file + * check-description: Extern inline function never emits stand alone copy + * of the function. It allows multiple such definitions in different file. + */ |
