mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-28 05:06:07 +00:00

A significant number of our tests in C accidentally use functions without prototypes. This patch converts the function signatures to have a prototype for the situations where the test is not specific to K&R C declarations. e.g., void func(); becomes void func(void); This is the first batch of tests being updated (there are a significant number of other tests left to be updated).
31 lines
868 B
C
31 lines
868 B
C
// RUN: %clang_cc1 -verify %s
|
|
|
|
void f(void);
|
|
void f(void) __asm__("fish");
|
|
void g(void);
|
|
|
|
void f(void) {
|
|
g();
|
|
}
|
|
void g(void) __asm__("gold"); // expected-error{{cannot apply asm label to function after its first use}}
|
|
|
|
void h(void) __asm__("hose"); // expected-note{{previous declaration is here}}
|
|
void h(void) __asm__("hair"); // expected-error{{conflicting asm label}}
|
|
|
|
int x;
|
|
int x __asm__("xenon");
|
|
int y;
|
|
|
|
int test(void) { return y; }
|
|
|
|
int y __asm__("yacht"); // expected-error{{cannot apply asm label to variable after its first use}}
|
|
|
|
int z __asm__("zebra"); // expected-note{{previous declaration is here}}
|
|
int z __asm__("zooms"); // expected-error{{conflicting asm label}}
|
|
|
|
|
|
// No diagnostics on the following.
|
|
void __real_readlink(void) __asm("readlink");
|
|
void readlink(void) __asm("__protected_readlink");
|
|
void readlink(void) { __real_readlink(); }
|