mescc: Handle (Skip) global static.

* module/language/c99/compiler.mes (decl->info): Handle (Skip) global
  static.
* scaffold/tests/48-global-static.c: Test it.
This commit is contained in:
Jan Nieuwenhuizen 2018-05-04 20:40:04 +02:00
parent e53f55f002
commit 5fba6d1a70
No known key found for this signature in database
GPG Key ID: F3C1A0D9C1D65273
2 changed files with 38 additions and 0 deletions

View File

@ -2147,6 +2147,9 @@
((decl->info info)
`(decl (decl-spec-list (type-spec ,type)) (init-declr-list ,(car inits))))))))
((decl (decl-spec-list (stor-spec (static)) (type-spec ,type)) ,init)
((decl->info info) `(decl (decl-spec-list (type-spec ,type)) ,init)))
((decl (decl-spec-list (stor-spec (typedef)) ,type) ,name)
(format (current-error-port) "SKIP: typedef=~s\n" o)
info)

View File

@ -0,0 +1,35 @@
/* -*-comment-start: "//";comment-end:""-*-
* Mes --- Maxwell Equations of Software
* Copyright © 2018 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
*
* This file is part of Mes.
*
* Mes is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or (at
* your option) any later version.
*
* Mes is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Mes. If not, see <http://www.gnu.org/licenses/>.
*/
static int sint;
static int sint2, sint3;
static int
test ()
{
return 0;
}
static int i = 2;
int
main ()
{
return test ();
}