OSDN Git Service

libcpp
[pf3gnuchains/gcc-fork.git] / libcpp / ChangeLog
1 2007-11-30  Tom Tromey  <tromey@redhat.com>
2
3         PR preprocessor/32868:
4         * macro.c (_cpp_create_definition): Special case
5         __STDC_FORMAT_MACROS.
6
7 2007-11-16  Michael Matz  <matz@suse.de>
8
9         * files.c (search_path_head): Fix check for absolute paths.
10
11 2007-11-11  Tom Tromey  <tromey@redhat.com>
12
13         PR c++/17557:
14         * include/cpplib.h (cpp_included_before): Declare.
15         * files.c (struct file_hash_entry) <location>: New field.
16         (_cpp_find_file): Initialize new field.
17         (make_cpp_dir): Likewise.
18         (cpp_included_before): New function.
19
20 2007-11-01  Tom Tromey  <tromey@redhat.com>
21
22         PR preprocessor/30805:
23         * macro.c (paste_tokens): Handle padding token.
24         (paste_tokens): Don't abort unless padding has PASTE_LEFT flag.
25
26 2007-10-31  Tom Tromey  <tromey@redhat.com>
27
28         PR preprocessor/30786:
29         * macro.c (builtin_macro): Return result of _cpp_do__Pragma.
30         * directives.c (_cpp_do__Pragma): Return error status.
31         * internal.h (_cpp_do__Pragma): Update.
32         * directives.c (get__Pragma_string): Back up if EOF seen.
33
34 2007-09-06  Tom Tromey  <tromey@redhat.com>
35
36         * internal.h (struct cpp_reader) <invocation_location>: New
37         field.
38         (struct cpp_reader) <set_invocation_location>: Likewise.
39         * init.c (cpp_set_line_map): New function.
40         * line-map.c (linemap_add): Use linemap's allocator.
41         * include/line-map.h (GTY): Define.
42         (line_map_realloc): New typedef.
43         (struct line_map): Mark with GTY.
44         (struct line_maps): Likewise.
45         (struct line_maps) <maps>: Likewise.
46         (struct line_maps) <reallocator>: New field.
47         * include/symtab.h (GTY): Conditionally define.
48         * include/cpplib.h (cpp_set_line_map): Declare.
49         (cpp_get_token_with_location): Declare.
50         * macro.c (cpp_get_token): Set invocation_location on the reader.
51         (cpp_get_token_with_location): New function.
52
53 2007-08-30  Chao-ying Fu  <fu@mips.com>
54
55         * expr.c (interpret_float_suffix): Support hr, r, lr, llr, uhr, ur,
56         ulr, ullr, hk, k, lk, llk, uhk, uk, ulk, ullk.
57         (cpp_classify_number): Support decimal fixed-point constants without
58         exponents.
59         Warn about fixed-point constants when -pedantic.
60         * include/cpplib.h (CPP_N_SMALL, CPP_N_MEDIUM, CPP_N_LARGE): Change
61         comments to support fixed-point values.
62         (CPP_N_FRACT, CPP_N_ACCUM): Define.
63
64 2007-08-18  Tom Tromey  <tromey@redhat.com>
65
66         PR preprocessor/32974:
67         * directives.c (parse_include): Don't check for EOL when
68         processing #pragma dependency.
69
70 2007-07-30  Ollie Wild  <aaw@google.com>
71
72         * directives-only.c: New file.
73         * internal.h (struct _cpp_dir_only_callbacks): New.
74         (_cpp_preprocess_dir_only): New function.
75         * directives.c (_cpp_handle_directive): Check directives_only before
76         disabling execution of indented directives.
77         * files.c (_cpp_stack_file): Add directives_only check.
78         * include/cpplib.h (struct cpp_options): Add directives_only.
79         (cpp_init_special_builtins): New function.
80         * init.c (cpp_init_special_builtins): New function.
81         (cpp_init_builtins): Move builtin_array initialization to
82         cpp_init_special_builtins.
83         (post_options): Check directives_only before setting
84         pfile->state.prevent_expansion = 1.
85         * macro.c (_cpp_builtin_macro_text): Print an error if __COUNTER__
86         is expanded inside a directive while -fdirectives-only is enabled.
87         * Makefile.in (libcpp_a_OBJS): Add directives-only.o.
88         (libcpp_a_SOURCES): Add directives-only.c.
89
90 2007-07-04  Uros Bizjak  <ubizjak@gmail.com>
91
92         * traditional.c (_cpp_scan_out_logical_line): Initialize
93         fmacro.args, fmacro.node, fmacro.offset, fmacro.line and
94         fmacro.args to prevent 'may be used uninitialized' warning.
95
96 2007-07-03  Uros Bizjak  <ubizjak@gmail.com>
97
98         * include/cpplib.h (CPP_N_WIDTH_MD, CPP_N_MD_W, CPP_N_MD_Q):
99         Add new constants.
100         * expr.c (interpret_float_suffix): Process 'w', 'W', 'q' and 'Q'
101         suffixes.  Return CPP_N_MD_W for 'w' or 'W' suffixes and CPP_N_MD_Q
102         for 'q' or 'Q' suffixes.
103
104 2007-06-17  Danny Smith  <dannysmith@users.sourceforge.net
105
106         * files.c (open_file): Correct typo.
107
108 2007-06-16  Vladimir Prus  <vladimir@codesourcery.com>
109
110         * files.c (open_file): Prevent the call
111         for stat from overwriting errno.
112
113 2007-06-09  Vladimir Prus  <vladimir@codesourcery.com>
114
115         * files.c (open_file): Account for the
116         fact that on windows, opening a directory gives
117         EACCES.
118
119 2007-06-05  Joerg Wunsch  <j.gnu@uriah.heep.sax.de>
120
121         PR preprocessor/23479
122         * expr.c (cpp_classify_number): Implement 0b-prefixed binary
123         integer constants.
124         (append_digit): Likewise.
125         * include/cpplib.h: Add CPP_N_BINARY, to be used for 0b-prefixed
126         binary integer constants.
127
128 2007-05-31  Dave Korn  <dave.korn@artimi.com>
129
130         PR preprocessor/14331
131         * lex.c (_cpp_get_fresh_line):  Don't warn if no newline at EOF.
132
133 2007-05-24  Ollie Wild  <aaw@google.com>
134
135         * macro.c (_cpp_builtin_macro_text): Handle BT_COUNTER.
136         * pch.c (cpp_write_pch_deps): Save __COUNTER__ state.
137         (cpp_write_pch_state): Save __COUNTER__ state.
138         (cpp_valid_state): Check valid __COUNTER__ state.
139         (cpp_read_state): Read new __COUNTER__ state.
140         * include/cpplib.h (enum builtin_type): Add BT_COUNTER enumerator.
141         * init.c (builtin_array): Add __COUNTER__/BT_COUNTER.
142         * internal.h (struct cpp_reader): Add counter member.
143
144 2007-05-23  Simon Martin  <simartin@users.sourceforge.net>
145
146         PR preprocessor/20077
147         * macro.c (create_iso_definition): Fixed the method to determine
148         whether the token-pasting operator appears at the beginning or the end
149         of a macro.
150
151 2007-05-21  Ian Lance Taylor  <iant@google.com>
152
153         * internal.h (struct cpp_reader): Add new fields:
154         nonexistent_file_hash and nonexistent_file_ob.
155         * files.c: Include "obstack.h".
156         (find_file_in_dir): Before trying to open the file, look up the
157         path name in the hash table of nonexistent files.  After failing
158         to open the file, add the path name to the hash table.
159         (_cpp_find_file): Cache the results of looking up the file name
160         starting with the quote and bracket chain heads, if we can.
161         (nonexistent_file_hash_eq): New static function.
162         (_cpp_init_files): Initialize pfile->nonexistent_file_hash and
163         pfile->nonexistent_file_ob.
164         (_cpp_cleanup_files): Free pfile->nonexistent_file_hash and
165         pfile->nonexistent_file_ob.
166
167 2007-05-14  Janis Johnson  <janis187@us.ibm.com>
168
169         * expr.c (cpp_classify_number): Warn about dfp constant for -pedantic.
170
171         PR c/31924
172         * expr.c (interpret_float_suffix): Check for invalid suffix.
173
174 2007-05-02  Eric Christopher  <echristo@apple.com>
175
176         * expr.c (num_div_op): Don't overflow if the result is
177         zero.
178
179 2007-05-02  Tom Tromey  <tromey@redhat.com>
180
181         PR preprocessor/28709:
182         * macro.c (paste_tokens): Remove PASTE_LEFT from the old lhs.
183
184 2007-03-30  Michael Meissner  <michael.meissner@amd.com>
185
186         * directives.c (lex_macro_node_from_str): Fix alloca call to be
187         type correct.
188
189 2007-03-30  Richard Henderson  <rth@redhat.com>
190
191         * directives.c (lex_macro_node_from_str): New.
192         (cpp_push_definition, cpp_pop_definition): New.
193         * include/cpplib.h (cpp_push_definition, cpp_pop_definition): Declare.
194
195 2007-03-01  Brooks Moses  <brooks.moses@codesourcery.com>
196
197         * Makefile.in: Add dummy install-pdf target.
198
199 2007-01-30  Tom Tromey  <tromey@redhat.com>
200
201         PR preprocessor/30468:
202         * mkdeps.c (apply_vpath): Strip successive '/'s if we stripped
203         './'.
204
205 2007-01-30  Tom Tromey  <tromey@redhat.com>
206
207         PR preprocessor/29966:
208         * macro.c (lex_expansion_token): Save and restore cpp_reader's
209         cur_token.
210         (_cpp_create_definition): Don't restore cur_token here.
211         * lex.c (_cpp_lex_token): Added assertion.
212
213 2007-01-27  Tom Tromey  <tromey@redhat.com>
214
215         * configure: Rebuilt.
216
217 2007-01-12  Tom Tromey  <tromey@redhat.com>
218
219         PR preprocessor/28227:
220         * directives.c (lex_macro_node): Added 'is_def_or_undef'
221         argument.
222         (do_define): Update.
223         (do_undef): Update.
224         (do_ifdef): Update.
225         (do_ifndef): Update.
226
227 2007-01-11  Paolo Bonzini  <bonzini@gnu.org>
228
229         * configure: Regenerate.
230
231 2007-01-11  Paolo Bonzini  <bonzini@gnu.org>
232
233         * configure: Regenerate.
234
235 2007-01-04  Tom Tromey  <tromey@redhat.com>
236
237         PR preprocessor/28165:
238         * internal.h (cpp_in_primary_file): New function.
239         * directives.c (do_include_next): Use cpp_in_primary_file.
240         (do_pragma_once): Likewise.
241         (do_pragma_system_header): Likewise.
242
243 2006-12-29  Ian Lance Taylor  <iant@google.com>
244
245         * lex.c (_cpp_clean_line): Add uses of __builtin_expect.  Don't
246         look backward at the end of the line unless we saw a backslash.
247
248 2006-12-29  Jakub Jelinek  <jakub@redhat.com>
249
250         PR preprocessor/29612
251         * directives.c (do_linemarker): Set pfile->buffer->sysp always, not
252         only when new_sysp is non-zero.
253
254 2006-12-28  Tom Tromey  <tromey@redhat.com>
255
256         PR preprocessor/30001:
257         * charset.c (_cpp_convert_input): Check that to.len is greater
258         than zero.
259
260 2006-11-20  Trevor Smigiel <Trevor_Smigiel@playstation.sony.com>
261
262         * configure.ac (need_64bit_hwint): Need 64bit hwint for SPU.
263         * configure: Rebuilt.
264
265 2006-11-01      Douglas Gregor <doug.gregor@gmail.com>
266
267         * include/cpplib.h (enum c_lang): Add CLK_GNUCXX0X and CLK_CXX0X
268         for experimental C++0x mode.
269         * init.c (lang_defaults): Add defaults for C++0x modes. C++0x has
270         adopted the preprocessor changes introduced in C99.
271
272 2006-10-29  Joseph Myers  <joseph@codesourcery.com>
273
274         * configure.ac (need_64bit_hwint): Set for i[34567]86-*-linux*
275         depending on --enable-targets=all.
276         * configure: Regenerate.
277
278 2006-10-12  Jakub Jelinek  <jakub@redhat.com>
279
280         PR preprocessor/28709
281         * macro.c (paste_tokens): Do error reporting here, use BUF with the
282         spelled LHS token as opposed to spelling it again.
283         (paste_all_tokens): Don't report errors here, just break on failure.
284
285 2006-10-10  Brooks Moses  <bmoses@stanford.edu>
286
287         * Makefile.in: Added empty "pdf" target.
288
289 2006-09-22  Geoffrey Keating  <geoffk@apple.com>
290
291         * configure.ac: Make need_64_bit_hwint case for x86-darwin
292         match exactly the glob in gcc/config.gcc.
293         * configure: Regenerate.
294
295 2006-09-13  Joseph S. Myers  <joseph@codesourcery.com>
296
297         PR c/28768
298         PR preprocessor/14634
299         * lex.c (lex_string): Pedwarn for unterminated literals.
300
301 2006-09-08  Eric Christopher  <echristo@apple.com>
302
303         * configure.ac: Add 64-bit HWI support for i?86-darwin.
304
305 2006-08-14  Steve Ellcey  <sje@cup.hp.com>
306
307         PR c++/28288
308         PR c++/14556
309         * include/cpplib.h: Remove <?, >?, <?=, and >?= tokens.
310         (CPP_LAST_EQ): Change.
311         (CPP_LAST_PUNCTUATOR): Change.
312         * expr.c (cpp_operator): Remove MIN and MAX.
313         (reduce): Remove CPP_MIN and CPP_MAX.
314         (num_binary_op): Ditto.
315         * lex.c (_cpp_lex_direct): Ditto.
316         (cpp_avoid_paste): Remove ? as legal symbol after > or <.
317
318 2006-06-09  Jakub Jelinek  <jakub@redhat.com>
319
320         PR preprocessor/27746
321         * directives.c (do_pragma): Handle pragma with valid namespace
322         and invalid name coming from macro expansion.
323         * directives.c (destringize_and_run): Initialize next field in
324         context.
325
326         PR c/27747
327         PR c++/27748
328         * directives.c (destringize_and_run): Set NO_EXPAND on the
329         tokens.
330
331         * macro.c (_cpp_backup_tokens): Fix comment typo.
332
333 2006-05-31  Daniel Jacobowitz  <dan@codesourcery.com>
334
335         * Makefile.in (CATALOGS): Add po/ prefix.
336         * configure: Regenerated.
337
338 2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
339
340         * Makefile.in: Add install-html target. Add install-html to .PHONY
341
342 2006-02-17  Grigory Zagorodnev <grigory_zagorodnev@linux.intel.com>
343
344         * macro.c (_cpp_builtin_macro_text): Handle BT_TIMESTAMP.
345         * files.c (_cpp_get_file_stat): New function.
346         * include/cpplib.h (builtin_type): Add BT_TIMESTAMP.
347         * init.c (builtin_array): Add support for __TIMESTAMP__/BT_TIMESTAMP.
348         * internal.h (_cpp_get_file_stat): Prototype.
349         (struct cpp_buffer): Add timestamp.
350
351 2006-01-23  Jakub Jelinek  <jakub@redhat.com>
352
353         PR preprocessor/25717
354         * init.c (cpp_init_builtins): If __STDC__ will not change value
355         between system headers and other sources, define it as a normal
356         macro rather than a builtin.
357         * macro.c (_cpp_builtin_macro_text) <case BT_STDC>: Only check
358         cpp_in_system_header condition.
359
360 2006-01-05  Paolo Bonzini  <bonzini@gnu.org>
361
362         * Makefile.in: Use -MMD instead of -MD.
363
364 2006-01-04  Dmitry Kurochkin <dmitry.kurochkin@gmail.com>
365             Richard Henderson  <rth@redhat.com>
366
367         Merge from gomp branch:
368         * directives.c (struct pragma_entry): Add is_deferred.  Add ident
369         entry to value union.
370         (end_directive): Don't eat the line if in_deferred_pragma.
371         (run_directive): Remove pragma hacks.
372         (insert_pragma_entry): Remove.
373         (new_pragma_entry): New.
374         (register_pragma_1): Split out of register_pragma.  Only handle
375         the lookup tree and return the new entry.
376         (cpp_register_pragma): Fill in the pragma entry here.
377         (cpp_register_deferred_pragma): New.
378         (register_pragma_internal): New.
379         (_cpp_init_internal_pragmas): Use register_pragma_internal.
380         (do_pragma): Allow pragma expansion after namespace.  For deferred
381         pragmas, don't slurp the line into a string.
382         (destringize_and_run): Save tokens for deferred pragmas.
383         (cpp_handle_deferred_pragma): Remove.
384         * macro.c (builtin_macro): Remove pragma token hack.
385         (_cpp_push_token_context): Rename from push_token_context and export.
386         * internal.h (struct lexer_state): Add pragma_allow_expansion.
387         (_cpp_push_token_context): Declare.
388         * lex.c (_cpp_lex_token): Allow _cpp_handle_directive to return
389         a token.  Update the line number correctly if so.
390         (_cpp_lex_direct): Emit CPP_PRAGMA_EOL tokens.
391         (cpp_token_val_index): Return CPP_TOKEN_FLD_PRAGMA for pragmas.
392         * include/cpplib.h (PRAGMA_EOL): New.
393         (CPP_TOKEN_FLD_PRAGMA): New.
394         (struct cpp_token): Add val.pragma.
395         (struct cpp_options): Remove defer_pragmas.
396         (cpp_handle_deferred_pragma): Remove.
397         (cpp_register_deferred_pragma): Declare.
398
399 2006-01-01  Jakub Jelinek  <jakub@redhat.com>
400
401         PR c++/25294
402         * directives.c (do_pragma): If pragma line ends with multi-line
403         block comment, end the saved deferred pragma string before that
404         comment.  Handle embedded '\0' chars on the pragma line.
405
406 2005-12-22  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
407
408         PR c++/23333
409         * include/cpplib.h: Add PURE_ZERO to flags for the cpp_token structure.
410
411 2005-12-07  Jon Grimm  <jgrimm2@us.ibm.com>
412             Ben Elliston  <bje@au.ibm.com>
413
414         * include/cpplib.h (CPP_N_DFLOAT): New.
415         * expr.c (interpret_float_suffix): Identify df, dd, and dl
416         suffixes as decimal floating point constants.
417         (cpp_classify_number): Disallow hexadecimal DFP constants.
418
419 2005-11-14  Gerald Pfeifer  <gerald@pfeifer.com>
420             Ian Lance Taylor  <ian@airs.com>
421
422         * include/cpplib.h (struct cpp_callbacks): Annotate error with
423         ATTRIBUTE_FPTR_PRINTF(3,0) instead of ATTRIBUTE_PRINTF(3,0).
424
425 2005-11-09  Per Bothner  <per@bothner.com>
426             Uros Bizjak  <uros@kss-loka.si>
427
428         PR c/24101
429         * init.c (read_original_filename): Temporarily set
430         state.in_directive before calling _cpp_lex_direct for
431         CPP_HASH tokens.
432
433 2005-11-03  James E Wilson  <wilson@specifix.com>
434
435         PR preprocessor/24202
436         * files.c (_cpp_pop_file_buffer): Set buffer_valid to false.
437
438 2005-11-04  Joseph S. Myers  <joseph@codesourcery.com>
439
440         * include/cpplib.h (struct cpp_callbacks): Make error take
441         va_list* parameter.
442         * errors.c (cpp_error): Update call to callback.
443
444 2005-11-03  Andrew Pinski  <pinskia@physics.uc.edu>
445
446         PR preprocessor/22042
447         * macro.c (_cpp_builtin_macro_text): Lower the needed max
448         buffer size.
449         (cpp_quote_string): Don't octalify non printable
450         charactors.
451
452 2005-11-03  Joseph S. Myers  <joseph@codesourcery.com>
453
454         PR c++/17964
455         * include/cpplib.h (struct cpp_options): Add client_diagnostic.
456         (struct cpp_callbacks): Add error.
457         * errors.c (cpp_error): If client_diagnostic, use error callback.
458         * charset.c (convert_escape): Don't use %03o in diagnostic.
459
460 2005-10-21  James E Wilson  <wilson@specifix.com>
461
462         PR preprocessor/15220
463         * files.c (_cpp_find_file): New parameter angle_brackets.  Fix all
464         callers.  Pass to open_file_failed.
465         (open_file_failed): New parameter angle_brackets.  Fix all callers.
466         Use in print_dep assignment.
467         * init.c (cpp_read_main_file): Pass additional arg to _cpp_find_file.
468         * internal.h (_cpp_find_file): Add new parm to declaration.
469
470 2005-10-08  Kazu Hirata  <kazu@codesourcery.com>
471
472         * configure.ac: Require 64-bit int for arm*-*-*eabi*.
473         * configure: Regenerate.
474
475 2005-10-04  Ian Lance Taylor  <ian@airs.com>
476
477         PR preprocessor/13726
478         * directives.c (check_eol_return_comments): New static function.
479         (parse_include): Add buf parameter.  Change all callers.
480         (do_include_common): If not discard comments, turn on
481         save_comments.  Pass collected comments to include callback.
482         * include/cpplib.h (struct cpp_callbacks): Add new parameter to
483         include callback: cpp_token list.
484
485 2005-09-20  Joseph S. Myers  <joseph@codesourcery.com>
486
487         * include/cpplib.h (struct cpp_options): Add extended_identifiers.
488         * init.c (struct lang_flags, lang_defaults): Add
489         extended_identifiers.
490         (cpp_set_lang): Use it.
491         * lex.c (forms_identifier_p): Check extended_identifiers.
492
493 2005-08-30  Jakub Jelinek  <jakub@redhat.com>
494
495         PR preprocessor/20348
496         PR preprocessor/20356
497         * files.c (_cpp_find_file, search_cache): Revert 2004-06-26 and
498         2004-06-05 changes.
499
500 2005-07-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
501
502         * configure.ac (ACX_PROG_CC_WARNING_OPTS): add
503         -Wmissing-format-attribute.
504
505         * configure: Regenerate.
506
507 2005-06-29  Kelley Cook  <kcook@gcc.gnu.org>
508
509         * all files: Update FSF address in copyright headers.
510         * makeucnid.c (write_copyright): Update outputted FSF address.
511
512 2005-06-13  Zack Weinberg  <zack@codesourcery.com>
513
514         * configure.ac: Invoke ZW_CREATE_DEPDIR and
515         ZW_PROG_COMPILER_DEPENDENCIES.
516         * aclocal.m4, configure: Regenerate.
517         * Makefile.in (DEPMODE, DEPDIR, depcomp, COMPILE.base, COMPILE):
518         New variables.
519         (distclean): Clean up $(DEPDIR) and its contents.
520         (.c.o): Use $(COMPILE).
521         Include $(DEPDIR)/*.Po for most object->header dependencies.
522
523 2005-05-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
524
525         * configure.ac: Check declarations for asprintf and vasprintf.
526         * config.in: Regenerate.
527         * configure: Likewise.
528
529         * charset.c (conversion_loop): Use XRESIZEVEC.
530         (convert_no_conversion): Likewise.
531         (convert_using_iconv): Likewise.
532         (init_iconv_desc): Cast return value of alloca.
533         (cpp_host_to_exec_charset): Use XNEWVEC.
534         (emit_numeric_escape): Use XRESIZEVEC.
535         (cpp_interpret_string): Use XNEWVEC.
536         (cpp_interpret_string): Use XRESIZEVEC.
537         (_cpp_interpret_identifier): Cast return value of alloca.
538         (_cpp_convert_input): Use XNEWVEC and XRESIZEVEC.
539         * directives.c (glue_header_name): Use XNEWVEC and XRESIZEVEC.
540         (parse_include): Use XNEWVEC.
541         (insert_pragma_entry): Rename local variable "new" to
542         "new_entry".
543         (save_registered_pragmas): Cast return value of xmemdup.
544         (destringize_and_run): Same for alloca.
545         (parse_assertion): Likewise.
546         (do_assert): Cast allocated storage to proper type.
547         (cpp_define): Likewise.
548         (_cpp_define_builtin): Likewise.
549         (cpp_undef): Likewise.
550         (handle_assertion): Likewise.
551         (cpp_push_buffer): Rename local variable "new" to "new_buffer".
552         * expr.c (CPP_UPLUS): Cast value to type cpp_ttype.
553         (CPP_UMINUS): Likewise.
554         (struct cpp_operator): Rename from struct operator.
555         (_cpp_expand_op_stack): Use XRESIZEVEC.
556         * files.c (pch_open_file): Use XNEWVEC.
557         (pch_open_file): Use XRESIZEVEC.
558         (read_file_guts): Use XNEWVEC and XRESIZEVEC.
559         (dir_name_of_file): Use XNEWVEC.
560         (make_cpp_file): Use XCNEW.
561         (make_cpp_dir): Likewise.
562         (allocate_file_hash_entries): USE XNEWVEC.
563         (cpp_included): Cast return value of htab_find_with_hash.
564         (append_file_to_dir): Use XNEWVEC.
565         (read_filename_string): Likewise. Use XRESIZEVEC too.
566         (read_name_map): Cast return value of alloca.  Use XRESIZEVEC.
567         (remap_filename): Use XNEWVEC.
568         (struct pchf_entry): Move definition out of struct pchf_data.
569         (_cpp_save_file_entries): Use XCNEWVAR.
570         (_cpp_read_file_entries): Use XNEWVAR.
571         * identifiers.c (alloc_node): Use XOBNEW.
572         * init.c (cpp_create_reader): Use XCNEW.
573         (cpp_init_builtins): Cast of b->value to enum builtin_type.
574         (read_original_directory): Cast return value of alloca.
575         * lex.c (add_line_note): Use XRESIZEVEC.
576         (warn_about_normalization): Use XNEWVEC.
577         (_cpp_lex_direct): Cast node->directive_index to (enum cpp_ttype).
578         (new_buff): Use XNEWVEC.
579         * line-map.c (linemap_add): Use XRESIZEVEC.
580         * macro.c (builtin_macro): Cast return value of alloca.
581         (paste_tokens): Likewise.
582         (expand_arg): Use XNEWVEC and XRESIZEVEC.
583         (_cpp_save_parameter): Use XRESIZEVEC.
584         (create_iso_definition): Cast allocated storage to proper type.
585         (_cpp_create_definition): Likewise.
586         (cpp_macro_definition): Use XRESIZEVEC.
587         * makedepend.c (add_clm): Use XNEW.
588         (add_dir): Likewise.
589         * mkdeps.c (munge): Use XNEWVEC.
590         (deps_init): Use XCNEW.
591         (deps_add_target): Use XRESIZEVEC.
592         (deps_add_default_target): Cast return value of alloca.
593         (deps_add_dep): Use XRESIZEVEC.
594         (deps_add_vpath): Likewise.  Use XNEWVEC too.
595         (deps_restore): Likewise.
596         * pch.c (save_idents): Use XNEW and XNEWVEC.
597         (cpp_save_state): Use XNEW.
598         (count_defs): Cast return value of htab_find.
599         (write_defs): Likewise.
600         (cpp_write_pch_deps): Use XNEWVEC.
601         (collect_ht_nodes): Use XRESIZEVEC.
602         (cpp_valid_state): Use XNEWVEC.
603         (save_macros): Use XRESIZEVEC.  Cast return value of xmemdup.
604         * symtab.c (ht_create): Use XCNEW.
605         (ht_lookup_with_hash): Cast return value of obstack_copy0.
606         (ht_expand): Use XCNEWVEC.
607         * system.h (HAVE_DESIGNATED_INITIALIZERS): False if __cplusplus.
608         (bool): Do not define if __cplusplus.
609
610 2005-05-12  Zack Weinberg  <zack@codesourcery.com>
611
612         * directives.c (#sccs table entry): Mark IN_I, consistent with #ident.
613         (do_sccs): Delete function definition, #define to do_ident.
614         (do_ident): Don't hardwire directive name.
615
616 2005-05-12  Ryota Kunisawa  <kunisawa@access.co.jp>
617
618         PR bootstrap/21230
619         * configure: Regenerate.
620
621 2005-04-27  Andris Pavenis  <pavenis@latnet.lv>
622
623         * files.c: Include io.h for DJGPP to get prototype of setmode.
624
625 2005-04-19  Per Bothner  <per@bothner.com>
626
627         PR preprocessor/20907
628         * line-map.c (linemap_line_start): Fix bug when we need to increse
629         column_bits but can re-use the current line_map.
630
631 2005-04-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
632
633         * system.h (fopen, fdopen, freopen): Define these to the unlocked
634         libiberty functions.
635
636 2005-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
637
638         * configure.ac (libcpp_UNLOCKED_FUNCS): New.
639         (AC_CHECK_FUNCS, AC_CHECK_DECLS): Check for libcpp_UNLOCKED_FUNCS.
640         * system.h (putchar, getc, getchar, clearerr, feof, fileno,
641         fflush, fgetc, fgets, ferror, fread): Redefine to the associated
642         _unlocked function.
643         (fwrite_unlocked): Fix prototype.
644
645         * configure, config.in: Regenerate.
646
647 2005-04-05  Jakub Jelinek  <jakub@redhat.com>
648
649         PR preprocessor/19475
650         * macro.c (create_iso_definition): For < ISO C99, don't
651         pedwarn if there is no whitespace between macro name and its
652         replacement, but the replacement starts with a basic character
653         set character.
654
655 2005-03-28  Andreas Jaeger  <aj@suse.de>
656
657         * lex.c (warn_about_normalization): Cast field width to int to
658         avoid warning.
659
660 2005-03-19  Joseph S. Myers  <joseph@codesourcery.com>
661
662         * configure.ac: Consistently use solaris2.1[0-9]* instead of
663         solaris2.1[0-9].
664         * configure: Regenerate.
665
666 2005-03-15  Geoffrey Keating  <geoffk@apple.com>
667
668         * charset.c (_cpp_valid_ucn): In identifiers, reject a partial
669         UCN rather than printing an error.
670
671 2005-03-14  Geoffrey Keating  <geoffk@apple.com>
672
673         * lex.c (forms_identifier_p): Disable UCNs in C89 mode.
674
675 2005-03-14  Geoffrey Keating  <geoffk@apple.com>
676
677         * init.c (cpp_create_reader): Default warn_normalize to normalized_C.
678         * charset.c: Update for new format of ucnid.h.
679         (ucn_valid_in_identifier): Update for new format of ucnid.h.
680         Add NST parameter, and update it; update callers.
681         (cpp_valid_ucn): Add NST parameter, update callers.  Replace abort
682         with cpp_error.
683         (convert_ucn): Pass normalize_state to cpp_valid_ucn.
684         * internal.h (struct normalize_state): New.
685         (INITIAL_NORMALIZE_STATE): New.
686         (NORMALIZE_STATE_RESULT): New.
687         (NORMALIZE_STATE_UPDATE_IDNUM): New.
688         (_cpp_valid_ucn): New.
689         * lex.c (warn_about_normalization): New.
690         (forms_identifier_p): Add normalize_state parameter, update callers.
691         (lex_identifier): Add normalize_state parameter, update callers.  Keep
692         the state current.
693         (lex_number): Likewise.
694         (_cpp_lex_direct): Pass normalize_state to subroutines.  Check
695         it with warn_about_normalization.
696         * makeucnid.c: New.
697         * ucnid.h: Replace.
698         * ucnid.pl: Remove.
699         * ucnid.tab: Make appropriate for input to makeucnid.c.  Remove
700         comments about obsolete version of C++.
701         * include/cpplib.h (enum cpp_normalize_level): New.
702         (struct cpp_options): Add warn_normalize field.
703
704 2005-03-11  Geoffrey Keating  <geoffk@apple.com>
705
706         * directives.c (glue_header_name): Update call to cpp_spell_token.
707         * internal.h (_cpp_interpret_identifier): New.
708         * charset.c (_cpp_interpret_identifier): New.
709         (_cpp_valid_ucn): Allow UCN version of '$'.
710         * lex.c (lex_identifier): Add extra parameter to indicate if initial
711         character was '$' or '\'.  Support identifiers with UCNs.
712         (forms_identifier_p): Allow UCNs.
713         (_cpp_lex_direct): Pass extra parameter to lex_identifier.
714         (utf8_to_ucn): New.
715         (cpp_spell_token): Add FORSTRING parameter.  Use it.
716         (cpp_token_as_text): Update call to cpp_spell_token.
717         (cpp_output_token): Write UCNs back out.
718         (stringify_arg): Update call to cpp_spell_token.
719         (paste_tokens): Likewise.
720         (cpp_macro_definition): Likewise.
721         * macro.c (stringify_arg): Likewise.
722         (paste_tokens): Likewise.
723         (cpp_macro_definition): Likewise.
724         * include/cpplib.h: Add parameter to cpp_spell_token.
725
726 2005-03-04  Jakub Jelinek  <jakub@redhat.com>
727
728         PR bootstrap/20282
729         PR bootstrap/20305
730         * macro.c (replace_args, cpp_get_token): Copy whole
731         cpp_token_u instead of just cpp_string field from it.
732
733 2005-02-28  Devang Patel  <dpatel@apple.com>
734
735         * directives.c (do_line): Save sysp early before line table is
736         realloc'ed.
737
738 2005-02-20  Zack Weinberg  <zack@codesourcery.com>
739
740         PR 18785
741         * charset.c (LAST_POSSIBLY_BASIC_SOURCE_CHAR): New helper macro.
742         (cpp_host_to_exec_charset): New function.
743         * include/cpplib.h: Declare cpp_host_to_exec_charset.
744
745 2005-02-19  Devang Patel  <dpatel@apple.com>
746
747         * charset.c (_cpp_convert_input): Check '\r' before inserting
748         '\n' at the end.
749
750 2005-02-15  Eric Christopher  <echristo@redhat.com>
751
752         PR preprocessor/19077
753         * macro.c (cpp_macro_definition): Move handling of whitespace
754         to PREV_WHITE conditional. Remove overloading of len
755         variable.
756
757 2005-02-14  Kazu Hirata  <kazu@cs.umass.edu>
758
759         * directives.c, files.c, init.c, internal.h, macro.c, pch.c,
760         traditional.c: Update copyright.
761
762 2005-02-14  Paolo Bonzini  <bonzini@gnu.org>
763
764         PR bootstrap/19818
765         * configure.ac: Check for declaration of basename and getopt.
766         * config.in: Regenerate.
767         * configure: Regenerate.
768         * internal.h (ustrcspn): New.
769         * macro.c (create_iso_definition): Fix allocation of memory.
770         (padding_token): Add cast to remove const-ness.
771         * pch.c (cpp_read_state): Use ustrcspn.
772
773 2005-02-08  Mike Stump  <mrs@apple.com>
774
775         * files.c (pchf_adder): Remove.
776         (struct pchf_adder_info): Likewise.
777         (_cpp_save_file_entries): Write out all files so that #import works.
778
779 2005-01-23  Joseph S. Myers  <joseph@codesourcery.com>
780
781         * configure: Regenerate.
782
783 2005-01-11  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
784
785         * include/cpplib.h (c_lang): Fix comment to say cpp_create_reader.
786
787         * include/cpplib.h: Also update copyright years.
788
789 2005-01-03  Geoffrey Keating  <geoffk@apple.com>
790
791         * files.c (_cpp_find_file): Add files found by search_path_exhausted
792         to the list of all files.
793
794 2005-01-01  Gabriel Dos Reis  <gdr@integrable-solutions.net>
795
796         * internal.h: Update references to Cpp lib filenames.
797         * directives.c: Likewise.
798         * init.c: Likewise.
799         * macro.c: Likewise.
800         * traditional.c: Likewise.
801
802 2004-12-15  Eric Botcazou  <ebotcazou@libertysurf.fr>
803
804         PR preprocessor/15167
805         * files.c (destroy_cpp_file): New function.
806         (should_stack_file): Make a new file if the
807         compared file is still stacked.
808
809 2004-11-28  Nathanael Nerode  <neroden@gcc.gnu.org>
810
811         PR preprocessor/17610
812         * directives.c (do_include_common): Error out if an empty filename
813         is given for #include (or #include_next or #import).
814
815 2004-11-27  Roger Sayle  <roger@eyesopen.com>
816             Zack Weinberg  <zack@codesourcery.com>
817
818         * internal.h: Replace all uses of uchar with unsigned char.
819         * include/cpp-id-data.h: Likewise.  Guard typedef of uchar
820         with !IN_GCC, so uchar is only defined whilst building libcpp.
821
822 2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
823
824         * aclocal.m4: Regenerate.
825
826 2004-11-24  Roger Sayle  <roger@eyesopen.com>
827
828         PR preprocessor/15824
829         * configure.ac: Correct HAVE_UCHAR test to #include <sys/types.h>
830         directly, instead of the non-existant "system.h" and "ansidecl.h".
831         * configure: Regenerate.
832
833 2004-11-23  Daniel Jacobowitz  <dan@codesourcery.com>
834             Joseph Myers  <joseph@codesourcery.com>
835
836         * internal.h (struct lexer_state): Add in_deferred_pragma.
837         * directives.c (struct pragma_entry): Add allow_expansion.
838         (insert_pragma_entry): Take allow_expansion flag.
839         (register_pragma): Likewise.
840         (cpp_register_pragma): Likewise.
841         (_cpp_init_internal_pragmas): Update calls to cpp_register_pragma.
842         (do_pragma): Honor allow_expansion.
843         (cpp_handle_deferred_pragma): Set in_deferred_pragma.
844         * include/cpplib.h (cpp_register_pragma): Update prototype.
845
846 2004-11-18  Daniel Jacobowitz  <dan@codesourcery.com>
847             Mark Mitchell  <mark@codesourcery.com>
848
849         * configure.ac (i[34567]86-*-solaris2.1[0-9]*): Set
850         need_64bit_hwint=yes.
851         * configure: Regenerate.
852
853 2004-11-09  Joseph S. Myers  <joseph@codesourcery.com>
854
855         * Makefile.in ($(PACKAGE).pot): New rule.  Depend on
856         po/$(PACKAGE).pot.
857         (po/$(PACKAGE).pot): Use ":" instead of "," in --keyword
858         arguments.  Add keywords _, N_, SYNTAX_ERROR and SYNTAX_ERROR2.
859         Remove local srcdir path from generated file.
860
861 2004-11-04  Zack Weinberg  <zack@codesourcery.com>
862             Gerald Pfeifer  <gerald@pfeifer.com>
863
864         * internal.h (HAVE_ICONV): Undefine if we do not have HAVE_ICONV_H
865         as well.
866
867 2004-10-27  Zack Weinberg  <zack@codesourcery.com>
868
869         PR 18075
870         * directives.c (do_pragma): Do not defer pragmas which are unknown.
871         (cpp_handle_deferred_pragma): Add cast to silence warning.
872
873 2004-10-14  Joseph S. Myers  <jsm@polyomino.org.uk>
874
875         * errors.c (_cpp_begin_message): Print "error: " for errors.
876
877 2004-10-10  Andreas Jaeger  <aj@suse.de>
878
879         * makedepend.c: Include mkdeps.h for prototype of deps_add_vpath.
880         * Makefile.in (makedepend.o): Add dependency on mkdeps.h.
881
882 2004-10-08  Andrew Pinski  <pinskia@physics.uc.edu>
883
884         * pch.c (cpp_write_pch_state): Remove variable z as it is not
885         used.
886         (cpp_read_state): Remove unused variables, m, d and mac_count.
887
888 2004-09-29  Per Bothner  <per@bothner.com>
889
890         * directives.c (cpp_handle_deferred_pragma):  Save, clear and restore
891         cb.line_change.  Otherwise do_pragma will call the line_change
892         call-back with a meaningless line number.
893
894 2004-09-24  Zack Weinberg  <zack@codesourcery.com>
895
896         * configure.ac: Move AC_PROG_MAKE_SET, AC_PROG_INSTALL to
897         programs cluster. Use ACX_PROG_CC_WARNING_OPTS,
898         ACX_PROG_CC_WARNING_ALMOST_PEDANTIC, ACX_PROG_CC_WARNINGS_ARE_ERRORS.
899         * aclocal.m4, configure: Regenerate.
900         * init.c: Include localedir.h.
901         * Makefile.in (WARN_CFLAGS, ALL_CFLAGS): New variables.
902         (DEFS): Delete.
903         (.c.o): Use $(ALL_CFLAGS).
904         (localedir.h, localedir.hs): New rules.
905         (clean): Use rm -rf to remove directories.
906         (distclean): Also delete localedir.h and localedir.hs.
907         (init.o): Update dependencies.
908
909 2004-09-22  Kelley Cook  <kcook@gcc.gnu.org>
910
911         * Makefile.in (aclocal.m4): Update dependencies.
912         * configure.ac (AC_CONFIG_MACRO_DIR): New.
913         * aclocal.m4, configure: Regenerate.
914
915 2004-09-17  Zack Weinberg  <zack@codesourcery.com>
916
917         * charset.c (_cpp_destroy_iconv, emit_numeric_escape)
918         (_cpp_convert_input, _cpp_default_encoding): Add comments.
919         Some other comments in this file also tweaked.
920
921         * directives.c (do_pragma): Save current buffer position
922         before lexing the pragma keywords; don't call
923         _cpp_backup_tokens in the defer_pragmas case.
924
925 2004-09-15  Per Bothner  <per@bothner.com>
926
927         * include/line-map.h (line_map_start):  Add parameter names so
928         preceding comment makes sense.
929         (linemap_add):  Remove from comment mention of non-existing parameter.
930
931 2004-09-09  Matt Austern  <austern@apple.com>
932             Zack Weinberg  <zack@codesourcery.com>
933
934         * include/cpplib.h (TTYPE_TABLE): Remove CPP_ and SPELL_
935         prefixes throughout.  Add entry for PRAGMA.  Remove
936         unnecessary "= 0" from EQ.
937         (enum cpp_ttype): Adjust OP and TK definitions to restore
938         prefixes, via token-paste.
939         (CPP_LAST_EQ, CPP_FIRST_DIGRAPH, CPP_LAST_PUNCTUATOR, CPP_LAST_CPP_OP):
940         Change from #defines to additional cpp_ttype enumerators.
941         (struct cpp_options): Add defer_pragmas.
942         (cpp_handle_deferred_pragma): Prototype new interface.
943
944         * internal.h (struct cpp_reader): Add directive_result.
945         * directives.c (struct pragma_entry): Add is_internal field;
946         give boolean fields type bool.
947         (start_directive): Initialize pfile->directive_result.type.
948         (_cpp_do__Pragma): Likewise.
949         (run_directive): Do not crash if pfile->buffer->prev is NULL.
950         (insert_pragma_entry): Add 'internal' argument; set new->is_internal
951         from it.
952         (register_pragma): New static function, bulk of former
953         cpp_register_pragma here; add 'internal' argument, pass along
954         to insert_pragma_entry.
955         (cpp_register_pragma): Now a wrapper around register_pragma which
956         always passes false for 'internal' argument.
957         (_cpp_init_internal_pragmas): Call register_pragma directly, passing
958         true for 'internal'.
959         (do_pragma): If CPP_OPTION (pfile, defer_pragmas) and this isn't
960         an internal pragma, save text till the end of the line as a CPP_PRAGMA
961         token instead of executing the pragma.
962         (cpp_handle_deferred_pragma): New interface.
963         * lex.c (token_spellings): Adjust OP and TK definitions to
964         match changes to cpplib.h.
965         (_cpp_lex_token): Check for a directive-result token and
966         return it if present.
967         (cpp_token_val_index): Handle CPP_PRAGMA.
968         * macro.c (cpp_builtin_macro_text): Correct comment.
969         (builtin_macro): Handle directive-result tokens from _cpp_do__Pragma.
970
971 2004-09-06  Serge Belyshev  <belyshev@lubercy.com>
972
973         PR preprocessor/14699
974         * symtab.c (ht_dump_statistics): Change type of sum_of_squares
975         from size_t to double.
976
977 2004-08-28  Andreas Schwab  <schwab@suse.de>
978             Andreas Jaeger <aj@suse.de>
979
980         * configure.ac: Set PACKAGE correctly.
981         * configure: Regenerated.
982
983 2004-08-25  Paolo Bonzini  <bonzini@gnu.org>
984
985         * Makefile.in: Add back top_builddir.
986
987 2004-08-25  Paolo Bonzini  <bonzini@gnu.org>
988
989         * configure.ac: Replace Automake macro invocations
990         with manual Autoconf checks and substitutions.
991         * configure: Regenerate.
992         * aclocal.m4: Regenerate.
993         * config.in: Regenerate.
994         * Makefile.am: Removed.
995         * Makefile.in: Heavy simplification and reorganization.
996
997 2004-08-09  Mark Mitchell  <mark@codesourcery.com>
998
999         * configure.ac (arm*-*-eabi*): New target.
1000         (arm*-*-symbianelf*): Likewise.
1001         * configure: Regenerated.
1002
1003 2004-07-24  Bernardo Innocenti  <bernie@develer.com>
1004
1005         * internal.h (xnew, xcnew, xnewvec, xcnewvec, xobnew): Remove.
1006         * directives.c: Use XNEW-family macros from libiberty.
1007         * lex.c: Likewise.
1008         * macro.c: Likewise.
1009         * cpplib.h (cpp_deps_style): Export enum with name.
1010
1011 2004-07-23  Matthias Klose  <doko@debian.org>
1012
1013         * init.c (init_library): Use PACKAGE for the text domain.
1014
1015 2004-07-16  Andris Pavenis  <pavenis@latnet.lv>
1016
1017         PR preprocessor/16366
1018         * internal.h (struct cpp_reader): New field dir_hash.
1019         * files.c (make_cpp_dir): Use dir_hash, not file_hash.
1020         (_cpp_init_files, _cpp_cleanup_files): Update for new field.
1021
1022 2004-07-04  Neil Booth  <neil@duron.akihabara.co.uk>
1023
1024         PR preprocessor/16192
1025         PR preprocessor/15913
1026         PR preprocessor/15572
1027         * expr.c (_cpp_parse_expr): Handle remaining cases where an
1028         expression is missing.
1029         * init.c (post_options): Traditional cpp doesn't do // comments.
1030
1031 2004-06-30  Per Bothner  <per@bothner.com>
1032
1033         * include/line-map.h (fileline):  Remove old typedef.
1034         * internal.h (struct cpp_reader):  Use source_location typedef instead.
1035
1036 2004-06-26  Zack Weinberg  <zack@codesourcery.com>
1037
1038         Partially revert patch of 2004-06-05.
1039         * files.c (search_cache): Remove pfile argument.  Don't check
1040         for file that would be found by "" or <> search here...
1041         (_cpp_find_file): ...do it here, before calling find_file_in_dir.
1042         Do not apply directory-of-current-file correction to files
1043         found by this check.  Rearrange code slightly.
1044
1045 2004-06-21  Geoffrey Keating  <geoffk@apple.com>
1046
1047         * files.c (should_stack_file): Correct swapped parameters to call
1048         to cb.read_pch.
1049         * pch.c (cpp_valid_state): Handle -fpreprocessed.
1050
1051 2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
1052
1053         * Makefile.in: Regenerate with automake 1.8.5.
1054         * aclocal.m4: Likewise.
1055         * configure: Regenerate.
1056
1057 2004-06-11  Zack Weinberg  <zack@codesourcery.com>
1058
1059         * configure.ac: Don't invoke ACX_HEADER_STDBOOL.
1060         * configure, config.in: Regenerate.
1061         * system.h: Unconditionally define bool as unsigned char,
1062         BOOL_BITFIELD as unsigned int.
1063         * .cvsignore: New file.
1064
1065 2004-06-09  Geoffrey Keating  <geoffk@apple.com>
1066
1067         * traditional.c (push_replacement_text): Set macro->traditional.
1068         (save_replacement_text): Likewise.
1069         * pch.c (cpp_write_pch_state): Don't write list of defined macros.
1070         (struct save_macro_item): Delete.
1071         (struct save_macro_data): Use a character array not the previous
1072         structured format.
1073         (save_macros): Save macro as text not as internal structures.
1074         (cpp_prepare_state): Update for changes to save_macro_data.
1075         (cpp_read_state): Don't read macros defined in PCH.  Restore
1076         -D macros as text.
1077         * macro.c (create_iso_definition): Honour alloc_subobject.
1078         Clear traditional flag.
1079         (_cpp_create_definition): Honour alloc_subobject.
1080         * lex.c (cpp_token_val_index): New.
1081         * internal.h: Include cpp-id-data.h.
1082         (uchar): Move definition to cpp-id-data.h.
1083         (U): Likewise.
1084         (cpp_macro): Likewise.
1085         * directives.c (struct answer): Move to cpp-id-data.h.
1086         (do_assert): Honour alloc_subobject.
1087
1088         * include/symtab.h (struct ht): Add field 'alloc_subobject'.
1089         * include/cpplib.h (struct cpp_string): Add GTY marker.
1090         (enum cpp_token_fld_kind): New.
1091         (struct cpp_token): Add GTY markers.
1092         (cpp_token_val_index): Prototype.
1093         (CPP_HASHNODE_VALUE_IDX): New.
1094         (struct cpp_hashnode): Don't skip fields of 'value' when marking.
1095         * include/cpp-id-data.h: New file.
1096
1097 2004-06-09  Paolo Bonzini  <bonzini@gnu.org>
1098
1099         * Makefile.am (all-local): New.
1100         * Makefile.in: Regenerate.
1101
1102 2004-06-06  Roger Sayle  <roger@eyesopen.com>
1103
1104         * Makefile.am (LIBICONV): Declare.
1105         (makedepend_LDADD): Use LIBICONV.
1106         * Makefile.in: Regenerate.
1107
1108 2004-06-05  Andrew Pinski  <pinskia@physics.uc.edu>
1109
1110         * Makefile.am (LIBINTL): Declare
1111         (makedepend_LDADD): Use LIBINTL.
1112         * Makefile.in: Regenerate.
1113
1114 2004-06-05  Zack Weinberg  <zack@codesourcery.com>
1115
1116         * Makefile.am: Add makedepend.
1117         * Makefile.in, aclocal.m4: Regenerate.
1118         * charset.c: Insert a space to avoid a warning.
1119         * directives.c: Include mkdeps.h.
1120         (_cpp_handle_directive): Reenable macro expander if appropriate.
1121         (undefine_macros): Inline body of _cpp_free_definition for speed.
1122         Do not call undef callback or _cpp_warn_if_unused_macro.
1123         (cpp_get_deps): New interface.
1124         * files.c (search_cache): Add pfile argument.  Check for file
1125         that would be found by "" or <> search here...
1126         (_cpp_find_file): ...not here.  Correct recorded start_dir of
1127         files found by directory-of-current-file search that would be
1128         found by "" or <> search.
1129         * init.c (cpp_add_dependency_target): Delete.
1130         * internal.h (struct lexer_state): Add discarding_output flag.
1131         * lex.c (lex_identifier): Compute hash function while scanning.
1132         * macro.c (cpp_scan_nooutput): Disable macro expansion outside
1133         directives.
1134         * makedepend.c: New file.
1135         * mkdeps.c (struct deps): Add vpath vector.
1136         (apply_vpath, deps_add_vpath): New function.
1137         (deps_free): Free vpath vector.
1138         (deps_add_dep, deps_add_target): Use apply_vpath.
1139         * symtab.c (calc_hash): Use HT_HASHSTEP and HT_FINISH.
1140         (ht_lookup_with_hash): New function.
1141         * cpplib.h, mkdeps.h: Update prototypes.
1142         * symtab.h: Update prototypes.
1143         (HT_HASHSTEP, HT_FINISH): New macros.
1144
1145 2004-05-29  Geoffrey Keating  <geoffk@apple.com>
1146
1147         * symtab.c (ht_create): Set entries_owned.
1148         (ht_destroy): Honour entries_owned.
1149         (ht_expand): Likewise.
1150         (ht_load): New.
1151         * include/symtab.h (struct ht): New field 'entries_owned'
1152         (ht_load): New prototype.
1153
1154 2004-05-26  Paolo Bonzini  <bonzini@gnu.org>
1155
1156         PR bootstrap/15651
1157         * configure.ac: Fix m4 quoting when picking
1158         the size of HOST_WIDE_INT.
1159         * configure: Regenerate.
1160
1161 2004-05-25  Paolo Bonzini  <bonzini@gnu.org>
1162
1163         * Makefile.am: the correct directory for
1164         gettext include files is given by @INCINTL@.
1165         * Makefile.in: Regenerate.
1166
1167 2004-05-24  Paolo Bonzini  <bonzini@gnu.org>
1168
1169         * system.h [!ENABLE_NLS]: dgettext takes two
1170         parameters.
1171
1172 2004-05-23  Paolo Bonzini  <bonzini@gnu.org>
1173
1174         Moved libcpp from the gcc subdirectory to the toplevel.
1175         * Makefile.am: New file.
1176         * Makefile.in: Regenerate.
1177         * configure.ac: New file.
1178         * configure: Regenerate.
1179         * config.in: Regenerate.
1180         * charset.c: Moved from gcc/cppcharset.c.  Add note about
1181         brokenness of input charset detection.  Adjust for change
1182         in name of cppucnid.h.
1183         * errors.c: Moved from gcc/cpperror.c.  Do not include intl.h.
1184         * expr.c: Moved from gcc/cppexp.c.
1185         * files.c: Moved from gcc/cppfiles.c.  Do not include intl.h.
1186         Remove #define of O_BINARY, it is in system.h.
1187         * identifiers.c: Moved from gcc/cpphash.c.
1188         * internal.h: Moved from gcc/cpphash.h.  Change header
1189         guard name.  All other files adjusted to match name change.
1190         * init.c: Moved from gcc/cppinit.c.
1191         (init_library) [ENABLE_NLS]: Call bindtextdomain.
1192         * lex.c: Moved from gcc/cpplex.c.
1193         * directives.c: Moved from gcc/cpplib.c.
1194         * macro.c: Moved from gcc/cppmacro.c.
1195         * pch.c: Moved from gcc/cpppch.c.  Do not include intl.h.
1196         * traditional.c: Moved from gcc/cpptrad.c.
1197         * ucnid.h: Moved from gcc/cppucnid.h.  Change header
1198         guard name.
1199         * ucnid.pl: Moved from gcc/cppucnid.pl.
1200         * ucnid.tab: Moved from gcc/cppucnid.tab.  Change header
1201         guard name.
1202         * symtab.c: Moved from gcc/hashtable.c.
1203         * line-map.c: Moved from gcc.  Do not include intl.h.
1204         * mkdeps.c: Moved from gcc.
1205         * system.h: New file.
1206         * include/cpplib.h: Moved from gcc.  Change header guard name.
1207         * include/line-map.h: Moved from gcc.  Change header guard name.
1208         * include/mkdeps.h: Moved from gcc.  Change header guard name.
1209         * include/symtab.h: Moved from gcc/hashtable.h.  Change header
1210         guard name.