aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>2000-06-27 20:44:36 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>2000-06-27 20:44:36 +0000
commitadae082f2a7afabdde0038349f53731537070f8d (patch)
tree42c01ed3aa5e1bd7044154008d332cbcd94f684a
parent49199692ee34568dfc52aa22b5a472148bdc0880 (diff)
downloadgcc-adae082f2a7afabdde0038349f53731537070f8d.zip
gcc-adae082f2a7afabdde0038349f53731537070f8d.tar.gz
gcc-adae082f2a7afabdde0038349f53731537070f8d.tar.bz2
* decl.c (grokfndecl): Set DECL_CONTEXT for static functions too.
From-SVN: r34742
-rw-r--r--gcc/cp/ChangeLog4
-rw-r--r--gcc/cp/decl.c2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/ns19.C7
3 files changed, 12 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index e9f7b5f..e87c8ba 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,7 @@
+2000-06-27 Mark Mitchell <mark@codesourcery.com>
+
+ * decl.c (grokfndecl): Set DECL_CONTEXT for static functions too.
+
2000-06-26 Nathan Sidwell <nathan@codesourcery.com>
* search.c (hides): Remove.
diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c
index 6d82e5b..f5e28f7 100644
--- a/gcc/cp/decl.c
+++ b/gcc/cp/decl.c
@@ -8862,7 +8862,7 @@ grokfndecl (ctype, type, declarator, orig_declarator, virtualp, flags, quals,
/* If this decl has namespace scope, set that up. */
if (in_namespace)
set_decl_namespace (decl, in_namespace, friendp);
- else if (publicp && ! ctype)
+ else if (!ctype)
DECL_CONTEXT (decl) = FROB_CONTEXT (current_namespace);
/* `main' and builtins have implicit 'C' linkage. */
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/ns19.C b/gcc/testsuite/g++.old-deja/g++.ns/ns19.C
new file mode 100644
index 0000000..d08ec87
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.ns/ns19.C
@@ -0,0 +1,7 @@
+// Build don't link:
+// Origin: Chip Salzenberg <chip@valinux.com>
+
+namespace N {
+enum { E = 0 };
+static int f() { return E; }
+}