This is the mail archive of the gdb-cvs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

src/gdb ChangeLog ada-lang.c


CVSROOT:	/cvs/src
Module name:	src
Changes by:	brobecke@sourceware.org	2010-11-23 01:03:54

Modified files:
	gdb            : ChangeLog ada-lang.c 

Log message:
	infinite recursion with ada_check_typedef
	
	When trying to resolve an incomplete type, if there is no complete
	version of that type available, GDB can go in an infinite loop.
	
	This is because ada_check_typedef makes a recursive call to itself,
	in an attempt to make sure that the returned type is never a typedef.
	However, when no complete type is found, the current logic causes us
	to keep going indefinitely through the same path...
	
	This patch fixes the problem by performing the recursive call to
	ada_check_typedef only when a TYPE_CODE_TYPDEF layer needs to be
	stripped.
	
	gdb/ChangeLog:
	
	* ada-lang.c (ada_check_typedef): Call ada_check_typedef only
	if type1 is a typedef.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/ChangeLog.diff?cvsroot=src&r1=1.12331&r2=1.12332
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/ada-lang.c.diff?cvsroot=src&r1=1.275&r2=1.276


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]