Added regression tests of diagnostics for conflicts between extern/public and static declarations.

This commit is contained in:
Greg King 2015-08-13 03:39:35 -04:00
parent 6032849e60
commit 1baecf4a15
4 changed files with 80 additions and 0 deletions

20
test/err/static-2.c Normal file
View File

@ -0,0 +1,20 @@
/*
!!DESCRIPTION!! global non-static and static conflicts
!!ORIGIN!! cc65 regression tests
!!LICENCE!! Public Domain
!!AUTHOR!! Greg King
*/
/*
see: https://github.com/cc65/cc65/issues/191
*/
#pragma warn(error, on)
int n;
static int n; /* should give an error */
int main(void)
{
return n;
}

20
test/err/static-3.c Normal file
View File

@ -0,0 +1,20 @@
/*
!!DESCRIPTION!! global non-static and static conflicts
!!ORIGIN!! cc65 regression tests
!!LICENCE!! Public Domain
!!AUTHOR!! Greg King
*/
/*
see: https://github.com/cc65/cc65/issues/191
*/
#pragma warn(error, on)
extern int n;
static int n; /* should give an error */
int main(void)
{
return n;
}

20
test/err/static-4.c Normal file
View File

@ -0,0 +1,20 @@
/*
!!DESCRIPTION!! global non-static and static conflicts
!!ORIGIN!! cc65 regression tests
!!LICENCE!! Public Domain
!!AUTHOR!! Greg King
*/
/*
see: https://github.com/cc65/cc65/issues/191
*/
#pragma warn(error, on)
static int n;
int n; /* should give an error */
int main(void)
{
return n;
}

20
test/val/static-1.c Normal file
View File

@ -0,0 +1,20 @@
/*
!!DESCRIPTION!! global non-static and static conflicts
!!ORIGIN!! cc65 regression tests
!!LICENCE!! Public Domain
!!AUTHOR!! Greg King
*/
/*
see: https://github.com/cc65/cc65/issues/191
*/
#pragma warn(error, on)
static int n = 0;
extern int n; /* should not give an error */
int main(void)
{
return n;
}