sem_res.adb (Comes_From_Predefined_Lib_Unit): New.
authorHristian Kirtchev <kirtchev@adacore.com>
Thu, 16 Aug 2007 12:21:07 +0000 (14:21 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Thu, 16 Aug 2007 12:21:07 +0000 (14:21 +0200)
commitdae2b8eaa891aa280bb99103045bde802af66086
tree0989d9ca5b50bc66dbae68eaaf4a0c7ab927a05e
parentace980d5d8b6443b4e0d8d5b9cdcd34083c5e09b
sem_res.adb (Comes_From_Predefined_Lib_Unit): New.

2007-08-16  Hristian Kirtchev  <kirtchev@adacore.com>
    Bob Duff  <duff@adacore.com>
    Nicolas Setton  <setton@adacore.com>

* sem_res.adb (Comes_From_Predefined_Lib_Unit): New.
(Resolve): Alphabetize local variables. Add new variable From_Lib. When
the statement which is being resolved comes from a predefined library
unit, all non-predefined library interpretations are skipped.
(Resolve_Op_Concat): If string concatenation was folded in the parser,
but the "&" is user defined, give an error, because the folding would
be wrong.

* sinfo.ads, sinfo.adb (Is_Folded_In_Parser): New flag to indicate that
the parser has folded a long sequence of concatenations of string
literals.

* trans.c (Handled_Sequence_Of_Statements_to_gnu): Mark "JMPBUF_SAVE"
and "JMP_BUF" variables as artificial.
(N_String_Literal): Do not use alloca for very long string literals. Use
xmalloc/free instead. Otherwise the stack might overflow.

* utils.c (init_gigi_decls): Mark "JMPBUF_T" type as created by the
compiler.

From-SVN: r127550
gcc/ada/sem_res.adb
gcc/ada/sinfo.adb
gcc/ada/sinfo.ads
gcc/ada/trans.c
gcc/ada/utils.c