r127977 - in /trunk/gcc/ada: par-ch4.adb sem_ev...
charlet@gcc.gnu.org
charlet@gcc.gnu.org
Fri Aug 31 10:23:00 GMT 2007
Author: charlet
Date: Fri Aug 31 10:23:37 2007
New Revision: 127977
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=127977
Log:
2007-08-31 Bob Duff <duff@adacore.com>
* par-ch4.adb (P_Simple_Expression): Fold long sequences of
concatenations of string literals into a single literal, in order to
avoid very deep recursion in the front end, which was causing stack
overflow.
* sem_eval.adb (Eval_Concatenation): If the left operand is the empty
string, and the right operand is a string literal (the case of "" &
"..."), optimize by avoiding copying the right operand -- just use the
value of the right operand directly.
* stringt.adb (Store_String_Chars): Optimize by growing the
String_Chars table all at once, rather than appending characters one by
one.
(Write_String_Table_Entry): If the string to be printed is very long,
just print the first few characters, followed by the length. Otherwise,
doing "pn(n)" in the debugger can take an extremely long time.
* sem_prag.adb (Process_Interface_Name): Replace loop doing
Store_String_Char with Store_String_Chars.
Modified:
trunk/gcc/ada/par-ch4.adb
trunk/gcc/ada/sem_eval.adb
trunk/gcc/ada/sem_prag.adb
trunk/gcc/ada/stringt.adb
More information about the Gcc-cvs
mailing list