diff options
Diffstat (limited to 'gcc/cp/decl.c')
-rw-r--r-- | gcc/cp/decl.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index f761d0d..d70d583 100644 --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -68,7 +68,7 @@ static int unary_op_p (enum tree_code); static void push_local_name (tree); static tree grok_reference_init (tree, tree, tree, int); static tree grokvardecl (tree, tree, tree, const cp_decl_specifier_seq *, - int, int, int, int, tree); + int, int, int, bool, int, tree); static int check_static_variable_definition (tree, tree); static void record_unknown_type (tree, const char *); static tree builtin_function_1 (tree, tree, bool); @@ -8512,8 +8512,9 @@ grokvardecl (tree type, tree orig_declarator, const cp_decl_specifier_seq *declspecs, int initialized, - int flags, + int type_quals, int inlinep, + bool conceptp, int template_count, tree scope) { @@ -8522,8 +8523,8 @@ grokvardecl (tree type, gcc_assert (!name || identifier_p (name)); - bool constp = flags&1; - bool conceptp = flags&2; + bool constp = (type_quals & TYPE_QUAL_CONST) != 0; + bool volatilep = (type_quals & TYPE_QUAL_VOLATILE) != 0; /* Compute the scope in which to place the variable, but remember whether or not that scope was explicitly specified by the user. */ @@ -8580,6 +8581,7 @@ grokvardecl (tree type, TREE_PUBLIC (decl) = (declspecs->storage_class != sc_static && (DECL_THIS_EXTERN (decl) || ! constp + || volatilep || inlinep)); TREE_STATIC (decl) = ! DECL_EXTERNAL (decl); } @@ -11626,8 +11628,9 @@ grokdeclarator (const cp_declarator *declarator, decl = grokvardecl (type, dname, unqualified_id, declspecs, initialized, - ((type_quals & TYPE_QUAL_CONST) != 0) | (2 * concept_p), + type_quals, inlinep, + concept_p, template_count, ctype ? ctype : in_namespace); if (decl == NULL_TREE) |