diff options
Diffstat (limited to 'gcc/cp/tree.c')
-rw-r--r-- | gcc/cp/tree.c | 27 |
1 files changed, 8 insertions, 19 deletions
diff --git a/gcc/cp/tree.c b/gcc/cp/tree.c index d7e9c7b8048..04702ee1c00 100644 --- a/gcc/cp/tree.c +++ b/gcc/cp/tree.c @@ -346,10 +346,16 @@ builtin_valid_in_constant_expr_p (const_tree decl) return false; switch (DECL_FUNCTION_CODE (decl)) { - case BUILT_IN_CONSTANT_P: - case BUILT_IN_ATOMIC_ALWAYS_LOCK_FREE: + /* These always have constant results like the corresponding + macros/symbol. */ + case BUILT_IN_FILE: + case BUILT_IN_FUNCTION: + case BUILT_IN_LINE: + /* These have constant results even if their operands are non-constant. */ + case BUILT_IN_CONSTANT_P: + case BUILT_IN_ATOMIC_ALWAYS_LOCK_FREE: return true; default: return false; @@ -2121,23 +2127,6 @@ ovl_scope (tree ovl) ovl = OVL_CHAIN (ovl); return CP_DECL_CONTEXT (OVL_CURRENT (ovl)); } - -/* Return TRUE if FN is a non-static member function, FALSE otherwise. - This function looks into BASELINK and OVERLOAD nodes. */ - -bool -non_static_member_function_p (tree fn) -{ - if (fn == NULL_TREE) - return false; - - if (is_overloaded_fn (fn)) - fn = get_first_fn (fn); - - return (DECL_P (fn) - && DECL_NONSTATIC_MEMBER_FUNCTION_P (fn)); -} - #define PRINT_RING_SIZE 4 |