51st Cygnus<->FSF merge

From-SVN: r8676
This commit is contained in:
Mike Stump 1994-12-20 22:14:37 +00:00
parent bd8b57b05a
commit 5edb8b93cb
4 changed files with 32 additions and 1 deletions

View File

@ -1,3 +1,16 @@
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>
* decl2.c (check_classfn): Use decls_match to check if this has

View File

@ -56,6 +56,9 @@ GXX_CROSS_NAME = `t='$(program_transform_cross_name)'; echo g++ | sed $$t`
# to do the right thing within all.cross.
C++ c++: cc1plus
# Tell GNU make to ignore these if they exist.
.PHONY: C++ c++
# Create the compiler driver for g++.
g++: $(srcdir)/cp/g++.c $(CONFIG_H) $(LIBDEPS)
$(CC) $(ALL_CFLAGS) $(INCLUDES) $(LDFLAGS) -o g++ $(srcdir)/cp/g++.c $(LIBS)

View File

@ -1147,10 +1147,22 @@ check_classfn (ctype, cname, function)
{
if (DECL_ASSEMBLER_NAME (function) == DECL_ASSEMBLER_NAME (fndecl))
return;
#if 0
/* This should work, but causes libg++ to fail
make check-tFix. */
/* We have to do more extensive argument checking here, as
the name may have been changed by asm("new_name"). */
if (decls_match (function, fndecl))
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);
}
break; /* loser */

View File

@ -1749,7 +1749,10 @@ make_thunk (function, delta)
if (TREE_CODE (func_decl) != FUNCTION_DECL)
abort ();
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 = IDENTIFIER_GLOBAL_VALUE (thunk_id);
if (thunk && TREE_CODE (thunk) != THUNK_DECL)