diff options
| author | Xavier ASUS <xavi92psx@gmail.com> | 2019-10-18 00:31:54 +0200 |
|---|---|---|
| committer | Xavier ASUS <xavi92psx@gmail.com> | 2019-10-18 00:31:54 +0200 |
| commit | 268a53de823a6750d6256ee1fb1e7707b4b45740 (patch) | |
| tree | 42c1799a9a82b2f7d9790ee9fe181d72a7274751 /support/valdiag/tests/restrict.c | |
| download | sdcc-gas-268a53de823a6750d6256ee1fb1e7707b4b45740.tar.gz | |
sdcc-3.9.0 fork implementing GNU assembler syntax
This fork aims to provide better support for stm8-binutils
Diffstat (limited to 'support/valdiag/tests/restrict.c')
| -rw-r--r-- | support/valdiag/tests/restrict.c | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/support/valdiag/tests/restrict.c b/support/valdiag/tests/restrict.c new file mode 100644 index 0000000..3dbcee3 --- /dev/null +++ b/support/valdiag/tests/restrict.c @@ -0,0 +1,63 @@ + +/* The restrict keyword can only qualify pointers to objects */ + +#ifdef TEST1_C99 +restrict a; /* ERROR */ +#endif + +#ifdef TEST2_C99 +restrict int a; /* ERROR */ +#endif + +#ifdef TEST3_C99 +restrict int a[10]; /* ERROR */ +#endif + +#ifdef TEST4_C99 +restrict int * a; /* ERROR */ +#endif + +#ifdef TEST5_C99 +restrict struct + { + int a; + int b; + } x; /* ERROR */ +#endif + +#ifdef TEST6_C99 +restrict int func(void) { /* ERROR */ + return 0; +} +#endif + +#ifdef TEST7_C99 +void func(restrict int x) { /* ERROR */ + x; /* IGNORE */ +} +#endif + +#ifdef TEST8_C99 +void func(void (*restrict p)(void)) { /* ERROR */ + p(); /* IGNORE */ +} +#endif + + +#ifdef TEST_GOOD1_C99 +int * restrict a; +#endif + +#ifdef TEST_GOOD2_C99 +int * func(int * restrict x) +{ + return x; +} +#endif + +#ifdef TEST_GOOD3_C99 +void func(int * restrict x) +{ + x; /* IGNORE */ +} +#endif |
