1994-02-24 02:02:37 +01:00
|
|
|
/* Variables and structures for declaration processing.
|
2017-01-01 13:07:43 +01:00
|
|
|
Copyright (C) 1993-2017 Free Software Foundation, Inc.
|
1994-02-24 02:02:37 +01:00
|
|
|
|
2002-12-30 17:25:45 +01:00
|
|
|
This file is part of GCC.
|
1994-02-24 02:02:37 +01:00
|
|
|
|
2002-12-30 17:25:45 +01:00
|
|
|
GCC is free software; you can redistribute it and/or modify
|
1994-02-24 02:02:37 +01:00
|
|
|
it under the terms of the GNU General Public License as published by
|
typeck.c: Change copyright header to refer to version 3 of the GNU General Public...
* typeck.c: Change copyright header to refer to version 3 of the GNU General
Public License and to point readers at the COPYING3 file and the FSF's license
web page.
* optimize.c, lang-specs.h, init.c, class.c, repo.c, decl.c, config-lang.in,
cp-tree.def, call.c, decl.h, ptree.c, Make-lang.in, method.c, rtti.c,
cp-objcp-common.c, g++spec.c, cp-objcp-common.h, except.c, error.c,
operators.def, cvt.c, tree.c, mangle.c, cp-tree.h, dump.c, search.c,
friend.c, expr.c, cp-gimplify.c, cxx-pretty-print.c, cp-lang.c, typeck2.c,
pt.c, cxx-pretty-print.h, semantics.c, name-lookup.c, lex.c, decl2.c,
name-lookup.h, parser.c: Likewise.
From-SVN: r127154
2007-08-02 12:36:13 +02:00
|
|
|
the Free Software Foundation; either version 3, or (at your option)
|
1994-02-24 02:02:37 +01:00
|
|
|
any later version.
|
|
|
|
|
2002-12-30 17:25:45 +01:00
|
|
|
GCC is distributed in the hope that it will be useful,
|
1994-02-24 02:02:37 +01:00
|
|
|
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
|
typeck.c: Change copyright header to refer to version 3 of the GNU General Public...
* typeck.c: Change copyright header to refer to version 3 of the GNU General
Public License and to point readers at the COPYING3 file and the FSF's license
web page.
* optimize.c, lang-specs.h, init.c, class.c, repo.c, decl.c, config-lang.in,
cp-tree.def, call.c, decl.h, ptree.c, Make-lang.in, method.c, rtti.c,
cp-objcp-common.c, g++spec.c, cp-objcp-common.h, except.c, error.c,
operators.def, cvt.c, tree.c, mangle.c, cp-tree.h, dump.c, search.c,
friend.c, expr.c, cp-gimplify.c, cxx-pretty-print.c, cp-lang.c, typeck2.c,
pt.c, cxx-pretty-print.h, semantics.c, name-lookup.c, lex.c, decl2.c,
name-lookup.h, parser.c: Likewise.
From-SVN: r127154
2007-08-02 12:36:13 +02:00
|
|
|
along with GCC; see the file COPYING3. If not see
|
|
|
|
<http://www.gnu.org/licenses/>. */
|
1994-02-24 02:02:37 +01:00
|
|
|
|
|
|
|
/* In grokdeclarator, distinguish syntactic contexts of declarators. */
|
|
|
|
enum decl_context
|
|
|
|
{ NORMAL, /* Ordinary declaration */
|
|
|
|
FUNCDEF, /* Function definition */
|
|
|
|
PARM, /* Declaration of parm before function body */
|
2009-11-16 09:31:26 +01:00
|
|
|
TPARM, /* Declaration of template parm */
|
1994-11-29 01:59:16 +01:00
|
|
|
CATCHPARM, /* Declaration of catch parm */
|
1994-02-24 02:02:37 +01:00
|
|
|
FIELD, /* Declaration inside struct or union */
|
|
|
|
BITFIELD, /* Likewise but with specified width */
|
|
|
|
TYPENAME, /* Typename (inside cast or sizeof) */
|
2009-03-31 20:31:17 +02:00
|
|
|
TEMPLATE_TYPE_ARG, /* Almost the same as TYPENAME */
|
1994-02-24 02:02:37 +01:00
|
|
|
MEMFUNCDEF /* Member function definition */
|
|
|
|
};
|
|
|
|
|
1995-10-12 03:33:51 +01:00
|
|
|
/* We need this in here to get the decl_context definition. */
|
2005-06-14 22:01:59 +02:00
|
|
|
extern tree grokdeclarator (const cp_declarator *,
|
2012-10-08 16:45:12 +02:00
|
|
|
cp_decl_specifier_seq *,
|
2004-06-24 08:48:44 +02:00
|
|
|
enum decl_context, int, tree*);
|
2017-04-15 05:28:31 +02:00
|
|
|
extern void name_unnamed_type (tree, tree);
|
2008-09-08 22:52:44 +02:00
|
|
|
|
|
|
|
/* States indicating how grokdeclarator() should handle declspecs marked
|
|
|
|
with __attribute__((deprecated)). An object declared as
|
|
|
|
__attribute__((deprecated)) suppresses warnings of uses of other
|
|
|
|
deprecated items. */
|
|
|
|
|
|
|
|
enum deprecated_states {
|
|
|
|
DEPRECATED_NORMAL,
|
|
|
|
DEPRECATED_SUPPRESS
|
|
|
|
};
|
|
|
|
|
|
|
|
extern enum deprecated_states deprecated_state;
|
|
|
|
|