Commit 5edb8b93 by Mike Stump

51st Cygnus<->FSF merge

From-SVN: r8676
parent bd8b57b0
Mon Dec 19 22:40:53 1994 Mike Stump <mrs@cygnus.com>
* decl2.c (check_classfn): Don't use decls_match yet, as it modifies
static functions to early.
Thu Dec 19 22:37:48 1994 Mike Stump <mrs@cygnus.com>
* method.c (make_thunk): Handle encoding of positive thunk offsets.
Sat Dec 17 13:29:50 1994 Doug Evans <dje@canuck.cygnus.com>
* Make-lang.in (.PHONY): Tell GNU make C++ and c++ are phony targets.
Thu Dec 15 16:32:12 1994 Mike Stump <mrs@cygnus.com> Thu Dec 15 16:32:12 1994 Mike Stump <mrs@cygnus.com>
* decl2.c (check_classfn): Use decls_match to check if this has * decl2.c (check_classfn): Use decls_match to check if this has
......
...@@ -56,6 +56,9 @@ GXX_CROSS_NAME = `t='$(program_transform_cross_name)'; echo g++ | sed $$t` ...@@ -56,6 +56,9 @@ GXX_CROSS_NAME = `t='$(program_transform_cross_name)'; echo g++ | sed $$t`
# to do the right thing within all.cross. # to do the right thing within all.cross.
C++ c++: cc1plus C++ c++: cc1plus
# Tell GNU make to ignore these if they exist.
.PHONY: C++ c++
# Create the compiler driver for g++. # Create the compiler driver for g++.
g++: $(srcdir)/cp/g++.c $(CONFIG_H) $(LIBDEPS) g++: $(srcdir)/cp/g++.c $(CONFIG_H) $(LIBDEPS)
$(CC) $(ALL_CFLAGS) $(INCLUDES) $(LDFLAGS) -o g++ $(srcdir)/cp/g++.c $(LIBS) $(CC) $(ALL_CFLAGS) $(INCLUDES) $(LDFLAGS) -o g++ $(srcdir)/cp/g++.c $(LIBS)
......
...@@ -1147,10 +1147,22 @@ check_classfn (ctype, cname, function) ...@@ -1147,10 +1147,22 @@ check_classfn (ctype, cname, function)
{ {
if (DECL_ASSEMBLER_NAME (function) == DECL_ASSEMBLER_NAME (fndecl)) if (DECL_ASSEMBLER_NAME (function) == DECL_ASSEMBLER_NAME (fndecl))
return; return;
#if 0
/* This should work, but causes libg++ to fail
make check-tFix. */
/* We have to do more extensive argument checking here, as /* We have to do more extensive argument checking here, as
the name may have been changed by asm("new_name"). */ the name may have been changed by asm("new_name"). */
if (decls_match (function, fndecl)) if (decls_match (function, fndecl))
return; return;
#else
if (DECL_NAME (function) == DECL_NAME (fndecl)
&& comptypes (TREE_TYPE (TREE_TYPE (function)),
TREE_TYPE (TREE_TYPE (fndecl)), 1)
&& compparms (TYPE_ARG_TYPES (TREE_TYPE (function)),
TYPE_ARG_TYPES (TREE_TYPE (fndecl)),
3))
return;
#endif
fndecl = DECL_CHAIN (fndecl); fndecl = DECL_CHAIN (fndecl);
} }
break; /* loser */ break; /* loser */
......
...@@ -1749,7 +1749,10 @@ make_thunk (function, delta) ...@@ -1749,7 +1749,10 @@ make_thunk (function, delta)
if (TREE_CODE (func_decl) != FUNCTION_DECL) if (TREE_CODE (func_decl) != FUNCTION_DECL)
abort (); abort ();
func_name = IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (func_decl)); func_name = IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (func_decl));
sprintf (buffer, "__thunk_%d_%s", -delta, func_name); if (delta<=0)
sprintf (buffer, "__thunk_%d_%s", -delta, func_name);
else
sprintf (buffer, "__thunk_n%d_%s", delta, func_name);
thunk_id = get_identifier (buffer); thunk_id = get_identifier (buffer);
thunk = IDENTIFIER_GLOBAL_VALUE (thunk_id); thunk = IDENTIFIER_GLOBAL_VALUE (thunk_id);
if (thunk && TREE_CODE (thunk) != THUNK_DECL) if (thunk && TREE_CODE (thunk) != THUNK_DECL)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment