OSDN Git Service

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