re PR debug/25468 (-g makes g++ loop forever)

2006-07-23  Steven Bosscher  <steven@gcc.gnu.org>

	PR debug/25468
	* config/elfos.h (ASM_OUTPUT_ASCII): Remove 'register' marks.
	Cache the last found '\0' marker to avoid quadratic behavior.

From-SVN: r115685
This commit is contained in:
Steven Bosscher 2006-07-23 17:56:34 +00:00
parent 2e9e6f6874
commit d88259d140
4 changed files with 21 additions and 8 deletions
gcc
ChangeLog
config
fortran
testsuite/gfortran.fortran-torture/execute

@ -1,3 +1,9 @@
2006-07-23 Steven Bosscher <steven@gcc.gnu.org>
PR debug/25468
* config/elfos.h (ASM_OUTPUT_ASCII): Remove 'register' marks.
Cache the last found '\0' marker to avoid quadratic behavior.
2006-07-23 Jan Hubicka <jh@suse.cz>
* i386.md (subsi_3_zext): Fix output template.

@ -429,14 +429,15 @@ Boston, MA 02110-1301, USA. */
#define ASM_OUTPUT_ASCII(FILE, STR, LENGTH) \
do \
{ \
register const unsigned char *_ascii_bytes = \
const unsigned char *_ascii_bytes = \
(const unsigned char *) (STR); \
register const unsigned char *limit = _ascii_bytes + (LENGTH); \
register unsigned bytes_in_chunk = 0; \
const unsigned char *limit = _ascii_bytes + (LENGTH); \
const unsigned char *last_null = NULL; \
unsigned bytes_in_chunk = 0; \
\
for (; _ascii_bytes < limit; _ascii_bytes++) \
{ \
register const unsigned char *p; \
const unsigned char *p; \
\
if (bytes_in_chunk >= 60) \
{ \
@ -444,8 +445,14 @@ Boston, MA 02110-1301, USA. */
bytes_in_chunk = 0; \
} \
\
for (p = _ascii_bytes; p < limit && *p != '\0'; p++) \
continue; \
if (_ascii_bytes > last_null) \
{ \
for (p = _ascii_bytes; p < limit && *p != '\0'; p++) \
continue; \
last_null = p; \
} \
else \
p = last_null; \
\
if (p < limit && (p - _ascii_bytes) <= (long)STRING_LIMIT) \
{ \

@ -1,6 +1,6 @@
2006-07-22 Steven Bosscher <steven@gcc.gnu.org>
PR fortran/28439
PR fortran/28439
* trans-stmt.c (gfc_trans_arithmetic_if): Evaluate the condition once.
2006-07-16 Jakub Jelinek <jakub@redhat.com>

@ -1,5 +1,5 @@
! PR13930
! We were trying to assugn a default initializer to dummy variables.
! We were trying to assign a default initializer to dummy variables.
program der_init_4
type t
integer :: i = 42