From 16ef95d7d7df64e28f6ba4ad24457b946563bc2e Mon Sep 17 00:00:00 2001 From: xleroy Date: Wed, 13 Aug 2014 15:58:10 +0000 Subject: Spurious error on a local static function declaration ("static int f(void);" inside a function). git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@2563 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e --- cparser/Elab.ml | 1 + 1 file changed, 1 insertion(+) (limited to 'cparser') diff --git a/cparser/Elab.ml b/cparser/Elab.ml index 24a3709..f6ee199 100644 --- a/cparser/Elab.ml +++ b/cparser/Elab.ml @@ -1779,6 +1779,7 @@ let enter_decdefs local loc env sto dl = let env2 = Env.add_ident env1 id sto' ty' in (* check for incomplete type *) if local && sto' <> Storage_extern + && not (is_function_type env ty') && wrap incomplete_type loc env ty' then error loc "'%s' has incomplete type" s; if local && sto' <> Storage_extern && sto' <> Storage_static then -- cgit v1.2.3