]> git.ipfire.org Git - thirdparty/gcc.git/blame - libcpp/ChangeLog
LIBTOOLFLAGS, and *_LINK fixes for Automake 1.11
[thirdparty/gcc.git] / libcpp / ChangeLog
CommitLineData
709a22df
TT
12009-08-17 Tom Tromey <tromey@redhat.com>
2
3 PR preprocessor/41067:
4 * charset.c (convert_escape): Add missing ":" to error text.
5
0c539b47
DR
62009-07-27 Douglas B Rupp <rupp@gnat.com>
7
8 * include/cpplib.h (INO_T_CPP): New macro.
9 (struct cpp_dir): Use it.
10
2b69c841
JQ
112009-07-20 Jerry Quinn <jlquinn@optonline.net>
12
13 PR regression/40800
14 * configure.ac: Use = instead of == for testing
15 ENABLE_BUILD_WITH_CXX.
16 * configure: Rebuild.
17
f1bf410c
JQ
182009-07-17 Jerry Quinn <jlquinn@optonline.net>
19
20 * directives.c (do_linemarker, do_line): Use CPP_STRING for
21 ignored enum value.
22 * files.c (find_file_in_dir): Add cast from void* to char*.
23 * symtab.c (ht_lookup_with_hash): Add cast from void* to char*.
24 * Makefile.in: (WARN_CFLAGS): Use general and C-specific
25 warnings.
26 (CXX, CXXFLAGS, WARN_CXXFLAGS, ALL_CXXFLAGS,
27 ENABLE_BUILD_WITH_CXX, CCDEPMODE, CXXDEPMODE, COMPILER,
28 COMPILER_FLAGS): New.
29 (DEPMODE): Set from CCDEPMODE or CXXDEPMODE.
30 (COMPILE.base): Use COMPILER instead of CC. Use COMPILER_FLAGS
31 instead of ALL_CFLAGS.
32 * configure.ac: Invoke AC_PROG_CXX. Separate C-specific warnings
33 from other warnings. Add -Wc++-compat to C-specific warnings.
34 Check for --enable-build-with-cxx. Set and substitute
35 ENABLE_BUILD_WITH_CXX. Invoke ZW_PROG_COMPILER_DEPENDENCIES
36 according to ENABLE_BUILD_WITH_CXX. Invoke AC_LANG before
37 AC_CHECK_HEADERS.
38 * configure: Rebuild.
39 * include/cpp-id-data.h: Remove extern "C".
40 * include/line-map.h: Likewise.
41 * include/mkdeps.h: Likewise.
42 * include/symtab.h: Likewise.
43 * internal.h: Likewise.
44
a28fbdba
MLI
452009-06-23 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
46
47 * directives.c (parse_include): Add location argument. Update all
48 calls.
49 (parse_answer): Likewise.
50 (do_include_common): Error with exact location.
51 (parse_assertion): Likewise.
52
b506a5a2
MLI
532009-06-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
54
55 * expr.c (num_div_op): Take explicit location.
56
7d8847a4
ILT
572009-06-17 Ian Lance Taylor <iant@google.com>
58
59 * include/cpplib.h (progname): Don't declare.
60
3d8b2a98
ILT
612009-06-12 Ian Lance Taylor <iant@google.com>
62
63 * include/cpplib.h (struct cpp_options): Add
64 warn_cxx_operator_names field.
65 (NODE_WARN_OPERATOR): Define.
66 (struct cpp_hashnode): Increase flags field to 10 bits, decrease
67 type to 6 bits.
68 * init.c (mark_named_operators): Add flags parameter.
69 (cpp_post_options): Pick flags value to pass to
70 mark_named_operators.
71 * lex.c (lex_identifier): If NODE_WARN_OPERATOR is set, warn that
72 identifier is an operator name in C++.
73
e74fe492
AH
742009-06-01 Aldy Hernandez <aldyh@redhat.com>
75
76 * include/line-map.h (LAST_SOURCE_COLUMN): New.
77
4851089f
ILT
782009-06-01 Ian Lance Taylor <iant@google.com>
79
80 * include/cpp-id-data.h: Add extern "C".
81 * include/line-map.h: Likewise.
82 * include/mkdeps.h: Likewise.
83 * include/symtab.h: Likewise.
84 * internal.h: Likewise.
85
7e5487a2
ILT
862009-05-15 Ian Lance Taylor <iant@google.com>
87
88 * include/cpplib.h (enum cpp_builtin_type): Rename from enum
89 builtin_type. Change all uses.
90
00b0c19b
MLI
912009-05-14 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
92
93 PR cpp/36674
94 * directives (do_linemarker): Compensate for the increment in
95 location that occurs when we reach the end of line.
96 * files (_cpp_stack_include): Mention _cpp_find_file in the
97 comment.
98
9a0c6187
JM
992009-05-10 Joseph Myers <joseph@codesourcery.com>
100
101 * include/cpplib.h (enum cpp_token_fld_kind): Add
102 CPP_TOKEN_FLD_TOKEN_NO.
103 (struct cpp_macro_arg, struct cpp_identifier): Define.
104 (union cpp_token_u): Use struct cpp_identifier for identifiers.
105 Use struct cpp_macro_arg for macro arguments. Add token_no for
106 CPP_PASTE token numbers.
107 * directives.c (_cpp_handle_directive, lex_macro_node, do_pragma,
108 do_pragma_poison, parse_assertion): Use val.node.node in place of
109 val.node.
110 * expr.c (parse_defined, eval_token): Use val.node.node in place
111 of val.node.
112 * lex.c (cpp_ideq, _cpp_lex_direct, cpp_token_len,
113 cpp_spell_token, cpp_output_token, _cpp_equiv_tokens,
114 cpp_token_val_index): Use val.macro_arg.arg_no or val.token_no in
115 place of val.arg_no. Use val.node.node in place of val.node.
116 * macro.c (replace_args, cpp_get_token, parse_params,
117 lex_expansion_token, create_iso_definition, cpp_macro_definition):
118 Use val.macro_arg.arg_no or val.token_no in place of val.arg_no.
119 Use val.node.node in place of val.node.
120
9e322bc1
JM
1212009-05-03 Joseph Myers <joseph@codesourcery.com>
122
123 * charset.c (one_utf8_to_cppchar): Correct mask used for 5-byte
124 UTF-8 sequences.
125
f88d0772
JM
1262009-04-25 Joseph Myers <joseph@codesourcery.com>
127
128 PR preprocessor/39559
129 * expr.c (cpp_interpret_integer): Use a pedwarn for decimal
130 constants larger than intmax_t in C99 mode.
131
d1b38208
TG
1322009-04-21 Taras Glek <tglek@mozilla.com>
133
134 * include/cpp-id-data.h: Update GTY annotations to new syntax.
135 * include/cpplib.h: Likewise.
136 * include/line-map.h: Likewise.
137 * include/symtab.h: Likewise.
138
cfc93532
MLI
1392009-04-22 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
140
141 PR c++/14875
142 * lex.c (cpp_type2name): Take a flags parameter. Call
143 cpp_named_operator2name for named operators and cpp_digraph2name
144 for digraphs.
145 (cpp_digraph2name): New.
146 (cpp_spell_token): Use it.
147 (cpp_output_token): Likewise.
148 * include/cpplib.h (cpp_type2name): Update declaration.
149 * init.c (cpp_named_operator2name): New.
150 * internal.h (cpp_named_operator2name): Declare.
151
9c650d90
MLI
1522009-04-21 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
153
154 PR c++/13358
155 * init.c (cpp_create_reader): Wlong_long is disabled by default.
156 * expr.c (cpp_classify_number): Give different messages for C and
157 C++ front-ends.
158
aa508502
JM
1592009-04-19 Joseph Myers <joseph@codesourcery.com>
160
161 PR preprocessor/20078
162 * include/cpp-id-data.h (struct cpp_macro): Add extra_tokens
163 field.
164 * include/cpplib.h (SP_DIGRAPH, SP_PREV_WHITE): Define.
165 (struct cpp_token): Change flags to unsigned short.
166 * lex.c (_cpp_lex_direct): Initialize arg_no for CPP_PASTE tokens.
167 (_cpp_equiv_tokens): Check arg_no for CPP_PASTE tokens.
168 (cpp_token_val_index): Return CPP_TOKEN_FLD_ARG_NO for CPP_PASTE
169 tokens.
170 * macro.c (macro_real_token_count): New.
171 (enter_macro_context, replace_args): Use macro_real_token_count.
172 (create_iso_definition): Record whitespace surrounding and digraph
173 spelling of # and ## tokens using SP_PREV_WHITE and SP_DIGRAPH.
174 Set extra_tokens and save CPP_PASTE tokens with arg_no set for
175 multiple consecutive ## tokens.
176 (_cpp_create_definition): Initialize extra_tokens.
177 (cpp_macro_definition): Use macro_real_token_count.
178
61cc8223
JM
1792009-04-18 Joseph Myers <joseph@codesourcery.com>
180
181 * directives.c (parse_include): Pass true to check_eol.
182
c7f9c0b9
JM
1832009-04-18 Joseph Myers <joseph@codesourcery.com>
184
185 PR preprocessor/39646
186 * include/line-map.h (enum lc_reason): Add LC_RENAME_VERBATIM.
187 * line-map.c (linemap_add): Handle LC_RENAME_VERBATIM.
188 * directives.c (do_line, do_linemarker): Use LC_RENAME_VERBATIM in
189 place of LC_RENAME.
190
a5cb563b
JM
1912009-04-18 Joseph Myers <joseph@codesourcery.com>
192
193 PR preprocessor/39647
194 * directives.c (check_eol): Add parameter expand.
195 (do_undef, parse_include, do_line, do_linemarker, do_ident,
196 do_pragma_once, do_pragma_system_header, do_ifdef, do_ifndef,
197 do_else, do_endif, do_assert, do_unassert): All callers changed.
198 Pass true from do_line, false elsewhere.
199
18f41a1b
JM
2002009-04-12 Joseph Myers <joseph@codesourcery.com>
201
202 PR preprocessor/31869
203 * macro.c (stringify_arg): Handle NULL source token in padding
204 token where previous padding token did not have source token with
205 preceding whitespace.
206
748086b7
JJ
2072009-04-09 Jakub Jelinek <jakub@redhat.com>
208
209 * Makefile.in: Change copyright header to refer to version
210 3 of the GNU General Public License and to point readers at the
211 COPYING3 file and the FSF's license web page.
212 * charset.c: Likewise.
213 * directives-only.c: Likewise.
214 * directives.c: Likewise.
215 * errors.c: Likewise.
216 * expr.c: Likewise.
217 * files.c: Likewise.
218 * identifiers.c: Likewise.
219 * include/cpp-id-data.h: Likewise.
220 * include/cpplib.h: Likewise.
221 * include/line-map.h: Likewise.
222 * include/mkdeps.h: Likewise.
223 * include/symtab.h: Likewise.
224 * init.c: Likewise.
225 * internal.h: Likewise.
226 * lex.c: Likewise.
227 * line-map.c: Likewise.
228 * macro.c: Likewise.
229 * makeucnid.c: Likewise.
230 * mkdeps.c: Likewise.
231 * pch.c: Likewise.
232 * symtab.c: Likewise.
233 * system.h: Likewise.
234 * traditional.c: Likewise.
235 * ucnid.tab: Likewise.
236 * ucnid.h: Regenerate.
237
eec49116
JJ
2382009-04-01 Janis Johnson <janis187@us.ibm.com>
239
839a3b8a
JJ
240 PR c/39027
241 * include/cpplib.h (CPP_N_DEFAULT): Define.
242 * expr.c (interpret_float_suffix): Recognize d or D for double,
243 return new value for default.
244 (cpp_classify_number): Issue pedwarn for use of d or D in suffix.
245
eec49116
JJ
246 PR c/33466
247 * expr.c (interpret_float_suffix): Reject invalid suffix that uses
248 letters from decimal float and fixed-point suffixes.
249
47580d22
JM
2502009-03-31 Joseph Myers <joseph@codesourcery.com>
251
252 PR preprocessor/15638
253 * files.c (_cpp_find_file): Call open_file_failed after diagnosing
254 invalid PCH.
255 (open_file_failed): Make error for missing file fatal.
256 * include/cpplib.h (CPP_DL_FATAL): Define.
257
5a2df0fa
SV
2582009-03-30 Sergiy Vyshnevetskiy <serg@vostok.net>
259
260 PR preprocessor/31932:
261 * internal.h: Don't mention HAVE_ICONV_H.
262 * configure, config.in: Rebuild.
263 * configure.ac: Don't check for iconv.h.
264
c1a8a3c6
TT
2652009-03-30 Tom Tromey <tromey@redhat.com>
266
267 PR preprocessor/39512:
268 * line-map.c (linemap_init): Initialize 'reallocator' field.
269
a37a7b8a
JJ
2702009-03-30 Jakub Jelinek <jakub@redhat.com>
271
272 PR target/39558
273 * macro.c (cpp_get_token): If macro_to_expand returns NULL
274 and used some tokens, add CPP_PADDING before next token.
275
148e4216
JM
2762009-03-29 Joseph Myers <joseph@codesourcery.com>
277
278 PR preprocessor/34695
279 * makedepend.c: Remove.
280 * Makefile.in (makedepend_OBJS, makedepend$(EXEEXT)): Remove.
281 (all, clean, TAGS_SOURCES, include): Remove makedepend handling.
282 * directives.c (cpp_errors): Remove.
283 * errors.c (print_location, _cpp_begin_message, v_message):
284 Remove.
285 (cpp_error, cpp_error_with_line): Always use error callback.
286 (cpp_error, cpp_error_with_line, cpp_errno): Return bool.
287 * include/cpplib.h (cpp_options): Remove pedantic_errors,
288 inhibit_warnings, warn_system_headers, inhibit_errors,
289 warnings_are_errors, client_diagnostic.
290 (cpp_callbacks): Add extra arguments to error callback; make it
291 return bool.
292 (cpp_finish): Return void.
293 (cpp_destroy): Remove inaccurate comment about return value.
294 (cpp_errors, CPP_DL_EXTRACT, CPP_DL_WARNING_P): Remove.
295 (CPP_DL_NOTE): Define.
296 * include/line-map.h (linemap_print_containing_files): Remove.
297 * init.c (cpp_finish): Do not check for or return number of
298 errors.
299 * internal.h (cpp_reader): Remove errors field.
300 * line-map.c (linemap_print_containing_files): Remove.
301 * macro.c (_cpp_create_definition): Use CPP_DL_NOTE for message
302 about previous definition. Only emit it if previous diagnostic
303 was emitted.
304
f1450211
JM
3052009-03-28 Joseph Myers <joseph@codesourcery.com>
306
307 * Makefile.in (po/$(PACKAGE).pot): Use $(mkinstalldirs) not
308 mkinstalldirs.
309
8f5929e1
JJ
3102009-03-18 Jakub Jelinek <jakub@redhat.com>
311
312 * include/cpplib.h (struct cpp_dir): Reorder fields for 64-bit hosts.
313
4bb09c26
JM
3142009-02-21 Joseph Myers <joseph@codesourcery.com>
315
316 * lex.c (lex_string): Return a CPP_LESS token for missing '>' in a
317 header name.
318 (_cpp_lex_direct): Handle this.
319
68c9ab45
RG
3202009-02-15 Richard Guenther <rguenther@suse.de>
321
322 Revert last change.
323
601b3e1a
RG
3242009-02-13 Richard Guenther <rguenther@suse.de>
325
326 * configure.ac: Enable LFS.
327 * configure: Re-generate.
328 * config.in: Likewise.
329
fc0cd180
BE
3302009-01-05 Ben Elliston <bje@au.ibm.com>
331
332 * Makefile.in (.po.gmo): Use mkinstalldirs, not test -d || mkdir.
333 (.po.pox): Likewise.
334 (po/$(PACKAGE).pot): Likewise.
335
db89a3be
AO
3362008-12-10 Alexandre Oliva <aoliva@redhat.com>
337
338 PR target/37033
339 * pch.c (cpp_valid_state): Improve message for poisoned symbols.
340 Allow for differences in __GCC_HAVE_DWARF2_CFI_ASM.
341
cc955282
JM
3422008-11-29 Joseph Myers <joseph@codesourcery.com>
343
344 * lex.c (cpp_token_len): Use 6 as default length.
345
47960aaf
MLI
3462008-10-31 Manuel López-Ibáñez <manu@gcc.gnu.org>
347
348 * expr.c (struct op): Add location.
349 (_cpp_parse_expr): Propagate locations throught the stack
350 of expressions.
351 (reduce): Likewise.
352 (check_promotion): Use explicit location in errors.
353
631d0d36
MG
3542008-10-05 Matthew Gingell <gingell@adacore.com>
355 Arnaud Charlet <charlet@adacore.com>
356
357 * include/cpplib.h (cpp_comments, cpp_comment_table): New structs.
358 (cpp_get_comments): New function.
359 * internal.h (struct cpp_reader): Add comments field.
360 * init.c (cpp_destroy): Free comments.
361 * lex.c (store_comment, cpp_get_comments): New functions.
362 (comments): New struct.
363 (save_comment): Store comments in comments struct.
364
c047ce93
SB
3652008-09-18 Simon Baldwin <simonb@google.com>
366
367 * include/cpplib.h (struct cpp_options): Add new boolean flag
368 warn_builtin_macro_redefined.
369 * init.c (cpp_create_reader): Initialize warn_builtin_macro_redefined.
370 * (struct builtin_operator): Split out from previous struct builtin,
371 enhance extra const correctness.
372 * (struct builtin_macro): Split out from previous struct builtin, add
373 new always_warn_if_redefined flag, enhance const correctness.
374 * (mark_named_operators): Use struct builtin_operator.
375 * (cpp_init_special_builtins): Use struct builtin_macro, add NODE_WARN
376 to builtins selectively.
377 * macro.c (warn_of_redefinition): Return false if a builtin macro
378 is not flagged with NODE_WARN.
379
affa55c6
JJ
3802008-07-31 Jakub Jelinek <jakub@redhat.com>
381
382 PR preprocessor/36649
383 * files.c (struct report_missing_guard_data): New type.
384 (report_missing_guard): Put paths into an array instead of printing
385 them right away. Return 1 rather than 0.
386 (report_missing_guard_cmp): New function.
387 (_cpp_report_missing_guards): Sort and print paths gathered by
388 report_missing_guard callback.
389
3b8f20a1
MLI
3902008-07-22 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
391
392 PR 28079
393 * directives.c (strtolinenum): Handle overflow.
394 (do_line): Give a warning if line number overflowed.
395 (do_linemarker): Update call to strtolinenum.
396
1bb64668
MLI
3972008-07-21 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
398
399 * include/line-map.h (linenum_type): New typedef.
400 (struct line_map): Use it.
401 (SOURCE_LINE): Second arguments is a LOCATION not a LINE.
402 (SOURCE_COLUMN): Likewise.
403 * macro.c (_cpp_builtin_macro_text): Use linenum_type. Don't store
404 source_location values in a variable of type linenum_type.
405 * directives.c (struct if_stack): Use linenum_type.
406 (strtoul_for_line): Rename as strtolinenum.
407 (do_line): Use linenum_type.
408 (do_linemarker): Use linenum_type and strtolinenum.
409 (_cpp_do_file_change): Use linenum_t.
410 * line-map.c (linemap_add): Likewise.
411 (linemap_line_start): Likewise.
412 * traditional.c (struct fun_macro): 'line' is a source_location.
413 * errors.c (print_location): Use linenum_type.
414 * directives-only.c (_cpp_preprocess_dir_only): Likewise.
415 * internal.h (CPP_INCREMENT_LINE): Likewise.
416 * lex.c (_cpp_skip_block_comment): Use source_location.
417
5950c3c9
BE
4182008-07-14 Ben Elliston <bje@au.ibm.com>
419
420 * include/cpplib.h (NODE_CONDITIONAL): New.
421 (struct cpp_callbacks): New macro_to_expand field.
422 (struct cpp_hashnode): Adjust size of flags and type fields.
423 (cpp_peek_token): Prototype.
424 * lex.c (cpp_peek_token): New function.
425 (_cpp_temp_token): Protect pre-existing lookaheads.
426 * macro.c (cpp_get_token): Expand any conditional macros.
427 (_cpp_backup_tokens_direct): New.
428 (_cpp_backup_tokens): Call _cpp_backup_tokens_direct.
429 (warn_of_redefinition): Silently allow redefined conditional
430 macros.
431 (_cpp_create_definition): Remove the conditional flag when a user
432 defines one of the conditional macros.
433 * internal.h (_cpp_backup_tokens_direct): New prototype.
434
e85edc9e
AH
4352008-06-13 Andrew Haley <aph@redhat.com>
436
437 PR preprocessor/33305
438 * macro.c (replace_args): Print a warning for empty macro
439 arguments in C89 and C++.
440
18c04407
RW
4412008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
442
443 * Makefile.in ($(srcdir)/aclocal.m4): Update dependencies.
444 * configure: Regenerate.
445
2d09b640
RW
4462008-06-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
447
448 * Makefile.in (datarootdir): New variable.
449
0b7c73cc
L
4502008-06-12 H.J. Lu <hongjiu.lu@intel.com>
451
452 PR preprocessor/36479
453 * charset.c (cpp_interpret_string_notranslate): Also set
454 narrow_cset_desc.width.
455
cd985f66
JM
4562008-06-07 Joseph Myers <joseph@codesourcery.com>
457
458 * configure.ac (parisc*64*-*-*): Remove.
459 * configure: Regenerate.
460
d750887f
TT
4612008-05-30 Tom Tromey <tromey@redhat.com>
462
463 PR preprocessor/36320:
464 * internal.h (_cpp_parse_expr): Update.
465 * expr.c (_cpp_parse_expr): Add 'is_if' argument. Update error
466 messages.
467 * directives.c (do_if): Update.
468 (do_elif): Require expression if processing group.
469
c100de59
DS
4702008-05-30 Danny Smith <dannysmith@users.sourceforge.net>
471
472 * include/cpplib.h (struct cpp_dir): Add new field, canonical_name.
473
5d6342eb
TT
4742008-05-21 Tom Tromey <tromey@redhat.com>
475
476 PR preprocessor/27777:
477 * lex.c (cpp_output_line_to_string): New function.
478 * internal.h (_cpp_begin_message): Don't declare.
479 * errors.c (_cpp_begin_message): Now static.
480 * include/cpplib.h (cpp_output_line_to_string): Declare.
481 * directives.c (do_diagnostic): Rewrote. Use
482 cpp_output_line_to_string. Don't use _cpp_begin_message.
483
dae4174e
TT
4842008-05-21 Tom Tromey <tromey@redhat.com>
485
486 * include/symtab.h (HT_ALLOCED): Remove.
487 (ht_purge): Declare.
488 * symtab.c (DELETED): New define.
489 (ht_lookup): Update comment.
490 (ht_lookup_with_hash): Handle deleted entries. Remove HT_ALLOCED
491 code. Use subobject allocator for strings, if it exists.
492 (ht_expand): Handle deleted entries.
493 (ht_forall): Likewise.
494 (ht_purge): New function.
495 (ht_dump_statistics): Print deletion statistics.
496
899015a0
TT
4972008-05-13 Tom Tromey <tromey@redhat.com>
498
499 PR preprocessor/22168:
500 * include/cpplib.h (struct cpp_options) <objc>: Update
501 documentation.
502 * expr.c (eval_token): Warn for use of assertions.
503 * directives.c (directive_diagnostics): Warn about extensions.
504 (DEPRECATED): New define.
505 (DIRECTIVE_TABLE): Use it.
506
71c10038
TT
5072008-05-06 Tom Tromey <tromey@redhat.com>
508
509 PR preprocessor/35313, PR preprocessor/36088:
510 * expr.c (optab) <QUERY, COMMA>: Set precedence to 4.
511 (reduce) <case CPP_QUERY>: Special case CPP_COMMA and CPP_COLON.
512
2bd0fe3d
DM
5132008-05-04 David S. Miller <davem@davemloft.net>
514
515 * configure.ac (sparc*-*-*): Always set need_64bit_hwint to yes.
516 * configure: Regenerate.
517
28f68625
DF
5182008-04-22 Daniel Franke <franke.daniel@gmail.com>
519
520 * include/cpplib.h (cpp_define_formatted): New.
521 * directives.c (cpp_define_formatted): New.
522
688e7a53
TT
5232008-04-21 Tom Tromey <tromey@redhat.com>
524
525 PR libcpp/33415:
526 * charset.c (_cpp_convert_input): Add buffer_start argument.
527 Ignore UTF-8 BOM if seen.
528 * internal.h (_cpp_convert_input): Add argument.
529 * files.c (struct _cpp_file) <buffer_start>: New field.
530 (destroy_cpp_file): Free buffer_start, not buffer.
531 (_cpp_pop_file_buffer): Likewise.
532 (read_file_guts): Update.
533
b6baa67d
KVH
5342008-04-18 Kris Van Hees <kris.van.hees@oracle.com>
535
536 * include/cpp-id-data.h (UC): Was U, conflicts with U"..." literal.
537 * include/cpplib.h (CHAR16, CHAR32, STRING16, STRING32): New tokens.
538 (struct cpp_options): Added uliterals.
539 (cpp_interpret_string): Update prototype.
540 (cpp_interpret_string_notranslate): Idem.
541 * charset.c (init_iconv_desc): New width member in cset_converter.
542 (cpp_init_iconv): Add support for char{16,32}_cset_desc.
543 (convert_ucn): Idem.
544 (emit_numeric_escape): Idem.
545 (convert_hex): Idem.
546 (convert_oct): Idem.
547 (convert_escape): Idem.
548 (converter_for_type): New function.
549 (cpp_interpret_string): Use converter_for_type, support u and U prefix.
550 (cpp_interpret_string_notranslate): Match changed prototype.
551 (wide_str_to_charconst): Use converter_for_type.
552 (cpp_interpret_charconst): Add support for CPP_CHAR{16,32}.
553 * directives.c (linemarker_dir): Macro U changed to UC.
554 (parse_include): Idem.
555 (register_pragma_1): Idem.
556 (restore_registered_pragmas): Idem.
557 (get__Pragma_string): Support CPP_STRING{16,32}.
558 * expr.c (eval_token): Support CPP_CHAR{16,32}.
559 * init.c (struct lang_flags): Added uliterals.
560 (lang_defaults): Idem.
561 * internal.h (struct cset_converter) <width>: New field.
562 (struct cpp_reader) <char16_cset_desc>: Idem.
563 (struct cpp_reader) <char32_cset_desc>: Idem.
564 * lex.c (digraph_spellings): Macro U changed to UC.
565 (OP, TK): Idem.
566 (lex_string): Add support for u'...', U'...', u"..." and U"...".
567 (_cpp_lex_direct): Idem.
568 * macro.c (_cpp_builtin_macro_text): Macro U changed to UC.
569 (stringify_arg): Support CPP_CHAR{16,32} and CPP_STRING{16,32}.
570
deb984e6
PB
5712008-04-18 Paolo Bonzini <bonzini@gnu.org>
572
573 PR bootstrap/35457
574 * aclocal.m4: Regenerate.
575 * configure: Regenerate.
576
bf048bea
TT
5772008-04-17 Tom Tromey <tromey@redhat.com>
578
579 PR libcpp/34866:
580 * errors.c (cpp_error): Don't reference a token before the start
581 of the current run.
582
7f27b0f8
TT
5832008-04-16 Tom Tromey <tromey@redhat.com>
584
585 * Makefile.in (TAGS_SOURCES): New variable.
586 (TAGS): New target.
587
a1fcb9a1
KK
5882008-04-11 Kaz Kojima <kkojima@gcc.gnu.org>
589
590 * configure.ac: (need_64bit_hwint): Need 64bit hwint for sh-*-*
591 and shbe-*-*.
592 * configure: Rebuilt.
593
93d45d9e
JM
5942008-04-02 Joseph Myers <joseph@codesourcery.com>
595
596 * include/cpplib.h (struct cpp_callbacks): Add used_define,
597 used_undef and before_define.
598 (NODE_USED): Define.
599 * directives.c (do_define, do_undef, undefine_macros, do_ifdef,
600 do_ifndef, cpp_pop_definition): Handle new flag and use new
601 callbacks.
602 * expr.c (parse_defined): Handle new flag and use new callbacks.
603 * macro.c (enter_macro_context, _cpp_free_definition): Handle new
604 flag and use new callbacks.
605
d4c32e1d
JJ
6062008-04-01 Jakub Jelinek <jakub@redhat.com>
607
608 PR pch/13675
609 * files.c (struct _cpp_file): Remove pch field.
610 (pch_open_file): Don't set file->pch, just file->pchname.
611 (should_stack_file): After pfile->cb.read_pch call
612 free pchname and clear pchname, don't close file->fd.
613 Test file->pchname instead of file->pch. Don't close fd after cb.
614 (_cpp_stack_include): Test file->pchname instead of file->pch.
615
161031e3
TT
6162008-03-28 Tom Tromey <tromey@redhat.com>
617
618 * Makefile.in (POSTCOMPILE): New variable.
619 (.c.o): Use it.
620
14ccf800
TT
6212008-03-13 Tom Tromey <tromey@redhat.com>
622
623 PR libcpp/35322:
624 * directives.c (destringize_and_run): Set pfile->directive.
625
830465c6
MM
6262008-03-06 Markus Milleder <markus.milleder@generali.at>
627
628 PR preprocessor/35458
629 * mkdeps.c (munge): Quote '#' with a '\'.
630
d482a073
RW
6312008-02-27 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
632
633 PR preprocessor/35379
634 * mkdeps.c (deps_write): Ensure the first target always appears
635 in the first column, without leading backslash newline. Avoid
636 some more extra whitespace.
637
185a6cc1
TS
6382008-02-25 Thiemo Seufer <ths@mips.com>
639
d482a073 640 * Makefile.in ($(srcdir)/config.in): Depend on configure.ac.
185a6cc1 641
2bf41bf0
TT
6422008-02-19 Tom Tromey <tromey@redhat.com>
643
644 * traditional.c (lex_identifier): Use CPP_HASHNODE.
645 * lex.c (lex_identifier): Use CPP_HASHNODE.
646 * include/line-map.h (LINEMAP_POSITION_FOR_COLUMN): Wrap in
647 do-while.
648 * identifiers.c (alloc_node): Change return type.
649 (_cpp_init_hashtable): Don't cast 'alloc_node'.
650 (proxy_assertion_broken): New declaration.
651 (cpp_forall_identifiers): Move comment.
652 * line-map.c (linemap_add): Comment fix.
653 (linemap_line_start): Indentation fix.
654
765d600a
JJ
6552008-01-25 Jakub Jelinek <jakub@redhat.com>
656
657 PR preprocessor/34692
658 * macro.c (collect_args): Add pragma_buff argument. Push
659 CPP_PRAGMA ... CPP_PRAGMA_EOL tokens to *pragma_buff, rather
660 than into arguments. Reset prevent_expansion and parsing_args
661 state at CPP_PRAGMA_EOL/CPP_EOF.
662 (funlike_invocation_p): Add pragma_buff argument, pass it through
663 to collect_args.
664 (enter_macro_context): Add result argument. Adjust
665 funlike_invocation_p caller. Emit all deferred pragma tokens
666 gathered during collect_args before the expansion, add a padding
667 token. Return 2 instead of 1 if any pragma tokens were prepended.
668 (cpp_get_token): If enter_macro_context returns 2, don't return
669 a padding token, instead cycle to grab CPP_PRAGMA token.
670 * directives.c (_cpp_handle_directive): If was_parsing_args
671 in deferred pragma, leave parsing_args and prevent_expansion as is.
672
ec46053b
TT
6732008-01-22 Tom Tromey <tromey@redhat.com>
674
765d600a 675 PR c++/34859
ec46053b
TT
676 * macro.c (_cpp_create_definition): Handle __STDC_LIMIT_MACROS and
677 __STDC_CONSTANT_MACROS.
678
681c6ab0
FF
6792008-01-07 Fred Fish <fnf@specifix.com>
680
765d600a 681 PR preprocessor/30363
681c6ab0
FF
682 * traditional.c (replace_args_and_push): Add local variable
683 cxtquote, calculate the replacement text size assuming a
684 worst case of every input character quoted with backslash,
685 and properly handle output quoting of quote characters in
686 actual arguments used in function-like macros.
687
33ae4837
TT
6882008-01-03 Tom Tromey <tromey@redhat.com>
689
765d600a 690 PR preprocessor/34602
33ae4837
TT
691 * directives.c (do_line): Don't try to spell EOF token.
692 (do_linemarker): Add comment.
693
675575f5
DD
6942007-12-11 DJ Delorie <dj@redhat.com>
695
696 * charset.c (convert_using_iconv): Close out any shift states,
697 returning to the initial state.
698
97f6bd40
TT
6992007-12-06 Tom Tromey <tromey@redhat.com>
700
765d600a 701 PR c/29172
97f6bd40
TT
702 * internal.h (struct cpp_reader) <file_hash_entries>: Changed
703 type.
704 <file_hash_entries_allocated, file_hash_entries_used>: Removed.
705 * files.c (FILE_HASH_POOL_SIZE): New macro.
706 (struct file_hash_entry_pool): New.
707 (destroy_all_cpp_files): New function.
708 (allocate_file_hash_entries): Allocate a file_hash_entry_pool.
709 (new_file_hash_entry): Update.
710 (free_file_hash_entries): New function.
711 (_cpp_cleanup_files): Call free_file_hash_entries and
712 destroy_all_cpp_files.
713 (cpp_clear_file_cache): New function.
714 * include/cpplib.h (cpp_clear_file_cache): Declare.
715
d56a25e1
TT
7162007-12-03 Tom Tromey <tromey@redhat.com>
717
765d600a 718 PR preprocessor/34288
d56a25e1
TT
719 * configure.ac, config.in: Rebuilt.
720 * configure.ac: Check for ssize_t.
721
607f74e9
TT
7222007-11-30 Tom Tromey <tromey@redhat.com>
723
765d600a 724 PR preprocessor/32868
607f74e9
TT
725 * macro.c (_cpp_create_definition): Special case
726 __STDC_FORMAT_MACROS.
727
b0f4807f
MM
7282007-11-16 Michael Matz <matz@suse.de>
729
730 * files.c (search_path_head): Fix check for absolute paths.
731
f1e20710
TT
7322007-11-11 Tom Tromey <tromey@redhat.com>
733
765d600a 734 PR c++/17557
f1e20710
TT
735 * include/cpplib.h (cpp_included_before): Declare.
736 * files.c (struct file_hash_entry) <location>: New field.
737 (_cpp_find_file): Initialize new field.
738 (make_cpp_dir): Likewise.
739 (cpp_included_before): New function.
740
f373b44d
TT
7412007-11-01 Tom Tromey <tromey@redhat.com>
742
765d600a 743 PR preprocessor/30805
f373b44d
TT
744 * macro.c (paste_tokens): Handle padding token.
745 (paste_tokens): Don't abort unless padding has PASTE_LEFT flag.
746
5b9a40df
TT
7472007-10-31 Tom Tromey <tromey@redhat.com>
748
765d600a 749 PR preprocessor/30786
5b9a40df
TT
750 * macro.c (builtin_macro): Return result of _cpp_do__Pragma.
751 * directives.c (_cpp_do__Pragma): Return error status.
752 * internal.h (_cpp_do__Pragma): Update.
753 * directives.c (get__Pragma_string): Back up if EOF seen.
754
5ffeb913
TT
7552007-09-06 Tom Tromey <tromey@redhat.com>
756
757 * internal.h (struct cpp_reader) <invocation_location>: New
758 field.
759 (struct cpp_reader) <set_invocation_location>: Likewise.
760 * init.c (cpp_set_line_map): New function.
761 * line-map.c (linemap_add): Use linemap's allocator.
762 * include/line-map.h (GTY): Define.
763 (line_map_realloc): New typedef.
764 (struct line_map): Mark with GTY.
765 (struct line_maps): Likewise.
766 (struct line_maps) <maps>: Likewise.
767 (struct line_maps) <reallocator>: New field.
768 * include/symtab.h (GTY): Conditionally define.
769 * include/cpplib.h (cpp_set_line_map): Declare.
770 (cpp_get_token_with_location): Declare.
771 * macro.c (cpp_get_token): Set invocation_location on the reader.
772 (cpp_get_token_with_location): New function.
773
ac6b1c67
CF
7742007-08-30 Chao-ying Fu <fu@mips.com>
775
776 * expr.c (interpret_float_suffix): Support hr, r, lr, llr, uhr, ur,
777 ulr, ullr, hk, k, lk, llk, uhk, uk, ulk, ullk.
778 (cpp_classify_number): Support decimal fixed-point constants without
779 exponents.
780 Warn about fixed-point constants when -pedantic.
781 * include/cpplib.h (CPP_N_SMALL, CPP_N_MEDIUM, CPP_N_LARGE): Change
782 comments to support fixed-point values.
783 (CPP_N_FRACT, CPP_N_ACCUM): Define.
784
cda5e672
TT
7852007-08-18 Tom Tromey <tromey@redhat.com>
786
765d600a 787 PR preprocessor/32974
cda5e672
TT
788 * directives.c (parse_include): Don't check for EOL when
789 processing #pragma dependency.
790
ccfc4c91
OW
7912007-07-30 Ollie Wild <aaw@google.com>
792
793 * directives-only.c: New file.
794 * internal.h (struct _cpp_dir_only_callbacks): New.
795 (_cpp_preprocess_dir_only): New function.
796 * directives.c (_cpp_handle_directive): Check directives_only before
797 disabling execution of indented directives.
798 * files.c (_cpp_stack_file): Add directives_only check.
799 * include/cpplib.h (struct cpp_options): Add directives_only.
800 (cpp_init_special_builtins): New function.
801 * init.c (cpp_init_special_builtins): New function.
802 (cpp_init_builtins): Move builtin_array initialization to
803 cpp_init_special_builtins.
804 (post_options): Check directives_only before setting
805 pfile->state.prevent_expansion = 1.
806 * macro.c (_cpp_builtin_macro_text): Print an error if __COUNTER__
807 is expanded inside a directive while -fdirectives-only is enabled.
808 * Makefile.in (libcpp_a_OBJS): Add directives-only.o.
809 (libcpp_a_SOURCES): Add directives-only.c.
810
a206413a
UB
8112007-07-04 Uros Bizjak <ubizjak@gmail.com>
812
813 * traditional.c (_cpp_scan_out_logical_line): Initialize
814 fmacro.args, fmacro.node, fmacro.offset, fmacro.line and
815 fmacro.args to prevent 'may be used uninitialized' warning.
816
c77cd3d1
UB
8172007-07-03 Uros Bizjak <ubizjak@gmail.com>
818
819 * include/cpplib.h (CPP_N_WIDTH_MD, CPP_N_MD_W, CPP_N_MD_Q):
820 Add new constants.
821 * expr.c (interpret_float_suffix): Process 'w', 'W', 'q' and 'Q'
822 suffixes. Return CPP_N_MD_W for 'w' or 'W' suffixes and CPP_N_MD_Q
823 for 'q' or 'Q' suffixes.
824
66938a1d
DS
8252007-06-17 Danny Smith <dannysmith@users.sourceforge.net
826
e1311401 827 * files.c (open_file): Correct typo.
66938a1d 828
71995ede
VP
8292007-06-16 Vladimir Prus <vladimir@codesourcery.com>
830
e1311401 831 * files.c (open_file): Prevent the call
71995ede
VP
832 for stat from overwriting errno.
833
84152c25
VP
8342007-06-09 Vladimir Prus <vladimir@codesourcery.com>
835
e1311401 836 * files.c (open_file): Account for the
84152c25
VP
837 fact that on windows, opening a directory gives
838 EACCES.
839
f7fd775f
JW
8402007-06-05 Joerg Wunsch <j.gnu@uriah.heep.sax.de>
841
842 PR preprocessor/23479
843 * expr.c (cpp_classify_number): Implement 0b-prefixed binary
844 integer constants.
845 (append_digit): Likewise.
846 * include/cpplib.h: Add CPP_N_BINARY, to be used for 0b-prefixed
847 binary integer constants.
848
ed0e74e0
DK
8492007-05-31 Dave Korn <dave.korn@artimi.com>
850
851 PR preprocessor/14331
852 * lex.c (_cpp_get_fresh_line): Don't warn if no newline at EOF.
853
a702045a
OW
8542007-05-24 Ollie Wild <aaw@google.com>
855
856 * macro.c (_cpp_builtin_macro_text): Handle BT_COUNTER.
857 * pch.c (cpp_write_pch_deps): Save __COUNTER__ state.
858 (cpp_write_pch_state): Save __COUNTER__ state.
859 (cpp_valid_state): Check valid __COUNTER__ state.
860 (cpp_read_state): Read new __COUNTER__ state.
861 * include/cpplib.h (enum builtin_type): Add BT_COUNTER enumerator.
862 * init.c (builtin_array): Add __COUNTER__/BT_COUNTER.
863 * internal.h (struct cpp_reader): Add counter member.
864
126e073b
SM
8652007-05-23 Simon Martin <simartin@users.sourceforge.net>
866
867 PR preprocessor/20077
868 * macro.c (create_iso_definition): Fixed the method to determine
869 whether the token-pasting operator appears at the beginning or the end
870 of a macro.
871
0b4cafec
ILT
8722007-05-21 Ian Lance Taylor <iant@google.com>
873
874 * internal.h (struct cpp_reader): Add new fields:
875 nonexistent_file_hash and nonexistent_file_ob.
876 * files.c: Include "obstack.h".
877 (find_file_in_dir): Before trying to open the file, look up the
878 path name in the hash table of nonexistent files. After failing
879 to open the file, add the path name to the hash table.
880 (_cpp_find_file): Cache the results of looking up the file name
881 starting with the quote and bracket chain heads, if we can.
882 (nonexistent_file_hash_eq): New static function.
883 (_cpp_init_files): Initialize pfile->nonexistent_file_hash and
884 pfile->nonexistent_file_ob.
885 (_cpp_cleanup_files): Free pfile->nonexistent_file_hash and
886 pfile->nonexistent_file_ob.
887
30e04921
JJ
8882007-05-14 Janis Johnson <janis187@us.ibm.com>
889
5a6bb57e
JJ
890 * expr.c (cpp_classify_number): Warn about dfp constant for -pedantic.
891
30e04921
JJ
892 PR c/31924
893 * expr.c (interpret_float_suffix): Check for invalid suffix.
894
22a8a52d
EC
8952007-05-02 Eric Christopher <echristo@apple.com>
896
897 * expr.c (num_div_op): Don't overflow if the result is
898 zero.
899
fca35e1b
TT
9002007-05-02 Tom Tromey <tromey@redhat.com>
901
765d600a 902 PR preprocessor/28709
fca35e1b
TT
903 * macro.c (paste_tokens): Remove PASTE_LEFT from the old lhs.
904
4cd97075
MM
9052007-03-30 Michael Meissner <michael.meissner@amd.com>
906
907 * directives.c (lex_macro_node_from_str): Fix alloca call to be
908 type correct.
909
121de39f
RH
9102007-03-30 Richard Henderson <rth@redhat.com>
911
912 * directives.c (lex_macro_node_from_str): New.
913 (cpp_push_definition, cpp_pop_definition): New.
914 * include/cpplib.h (cpp_push_definition, cpp_pop_definition): Declare.
915
4fcb360b
BM
9162007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
917
918 * Makefile.in: Add dummy install-pdf target.
919
67e64439
TT
9202007-01-30 Tom Tromey <tromey@redhat.com>
921
765d600a 922 PR preprocessor/30468
67e64439
TT
923 * mkdeps.c (apply_vpath): Strip successive '/'s if we stripped
924 './'.
925
ee380365
TT
9262007-01-30 Tom Tromey <tromey@redhat.com>
927
765d600a 928 PR preprocessor/29966
ee380365
TT
929 * macro.c (lex_expansion_token): Save and restore cpp_reader's
930 cur_token.
931 (_cpp_create_definition): Don't restore cur_token here.
932 * lex.c (_cpp_lex_token): Added assertion.
933
024abeb3
TT
9342007-01-27 Tom Tromey <tromey@redhat.com>
935
936 * configure: Rebuilt.
937
ee1c2a10
TT
9382007-01-12 Tom Tromey <tromey@redhat.com>
939
765d600a 940 PR preprocessor/28227
ee1c2a10
TT
941 * directives.c (lex_macro_node): Added 'is_def_or_undef'
942 argument.
943 (do_define): Update.
944 (do_undef): Update.
945 (do_ifdef): Update.
946 (do_ifndef): Update.
947
67214c16
PB
9482007-01-11 Paolo Bonzini <bonzini@gnu.org>
949
950 * configure: Regenerate.
951
1aa6ca40
PB
9522007-01-11 Paolo Bonzini <bonzini@gnu.org>
953
954 * configure: Regenerate.
955
705e2d28
TT
9562007-01-04 Tom Tromey <tromey@redhat.com>
957
765d600a 958 PR preprocessor/28165
705e2d28
TT
959 * internal.h (cpp_in_primary_file): New function.
960 * directives.c (do_include_next): Use cpp_in_primary_file.
961 (do_pragma_once): Likewise.
962 (do_pragma_system_header): Likewise.
963
7af45bd4
ILT
9642006-12-29 Ian Lance Taylor <iant@google.com>
965
966 * lex.c (_cpp_clean_line): Add uses of __builtin_expect. Don't
967 look backward at the end of the line unless we saw a backslash.
968
9d30f270
JJ
9692006-12-29 Jakub Jelinek <jakub@redhat.com>
970
971 PR preprocessor/29612
972 * directives.c (do_linemarker): Set pfile->buffer->sysp always, not
973 only when new_sysp is non-zero.
974
30b0edc0
TT
9752006-12-28 Tom Tromey <tromey@redhat.com>
976
765d600a 977 PR preprocessor/30001
30b0edc0
TT
978 * charset.c (_cpp_convert_input): Check that to.len is greater
979 than zero.
980
85d9c13c
TS
9812006-11-20 Trevor Smigiel <Trevor_Smigiel@playstation.sony.com>
982
983 * configure.ac (need_64bit_hwint): Need 64bit hwint for SPU.
83cc06b2 984 * configure: Rebuilt.
85d9c13c 985
dfafdaa6
DG
9862006-11-01 Douglas Gregor <doug.gregor@gmail.com>
987
988 * include/cpplib.h (enum c_lang): Add CLK_GNUCXX0X and CLK_CXX0X
989 for experimental C++0x mode.
990 * init.c (lang_defaults): Add defaults for C++0x modes. C++0x has
991 adopted the preprocessor changes introduced in C99.
992
0f45f0f5
JM
9932006-10-29 Joseph Myers <joseph@codesourcery.com>
994
995 * configure.ac (need_64bit_hwint): Set for i[34567]86-*-linux*
996 depending on --enable-targets=all.
997 * configure: Regenerate.
998
de000d22
JJ
9992006-10-12 Jakub Jelinek <jakub@redhat.com>
1000
1001 PR preprocessor/28709
1002 * macro.c (paste_tokens): Do error reporting here, use BUF with the
1003 spelled LHS token as opposed to spelling it again.
1004 (paste_all_tokens): Don't report errors here, just break on failure.
1005
b5422ad7
BM
10062006-10-10 Brooks Moses <bmoses@stanford.edu>
1007
1008 * Makefile.in: Added empty "pdf" target.
1009
aaf50ff2
GK
10102006-09-22 Geoffrey Keating <geoffk@apple.com>
1011
1012 * configure.ac: Make need_64_bit_hwint case for x86-darwin
1013 match exactly the glob in gcc/config.gcc.
1014 * configure: Regenerate.
1015
c663e301
JM
10162006-09-13 Joseph S. Myers <joseph@codesourcery.com>
1017
1018 PR c/28768
1019 PR preprocessor/14634
1020 * lex.c (lex_string): Pedwarn for unterminated literals.
1021
f7288899
EC
10222006-09-08 Eric Christopher <echristo@apple.com>
1023
1024 * configure.ac: Add 64-bit HWI support for i?86-darwin.
1025
b52dbbf8
SE
10262006-08-14 Steve Ellcey <sje@cup.hp.com>
1027
1028 PR c++/28288
1029 PR c++/14556
1030 * include/cpplib.h: Remove <?, >?, <?=, and >?= tokens.
1031 (CPP_LAST_EQ): Change.
1032 (CPP_LAST_PUNCTUATOR): Change.
1033 * expr.c (cpp_operator): Remove MIN and MAX.
1034 (reduce): Remove CPP_MIN and CPP_MAX.
1035 (num_binary_op): Ditto.
1036 * lex.c (_cpp_lex_direct): Ditto.
1037 (cpp_avoid_paste): Remove ? as legal symbol after > or <.
1038
1c90c6f9
JJ
10392006-06-09 Jakub Jelinek <jakub@redhat.com>
1040
1041 PR preprocessor/27746
1042 * directives.c (do_pragma): Handle pragma with valid namespace
1043 and invalid name coming from macro expansion.
1044 * directives.c (destringize_and_run): Initialize next field in
1045 context.
1046
1047 PR c/27747
1048 PR c++/27748
1049 * directives.c (destringize_and_run): Set NO_EXPAND on the
1050 tokens.
1051
1052 * macro.c (_cpp_backup_tokens): Fix comment typo.
1053
5c3c3683
DJ
10542006-05-31 Daniel Jacobowitz <dan@codesourcery.com>
1055
1056 * Makefile.in (CATALOGS): Add po/ prefix.
1057 * configure: Regenerated.
1058
b2bd74bc
CD
10592006-05-23 Carlos O'Donell <carlos@codesourcery.com>
1060
1061 * Makefile.in: Add install-html target. Add install-html to .PHONY
1062
be8ac3e2
GZ
10632006-02-17 Grigory Zagorodnev <grigory_zagorodnev@linux.intel.com>
1064
1065 * macro.c (_cpp_builtin_macro_text): Handle BT_TIMESTAMP.
1066 * files.c (_cpp_get_file_stat): New function.
1067 * include/cpplib.h (builtin_type): Add BT_TIMESTAMP.
1068 * init.c (builtin_array): Add support for __TIMESTAMP__/BT_TIMESTAMP.
1069 * internal.h (_cpp_get_file_stat): Prototype.
1070 (struct cpp_buffer): Add timestamp.
1071
83900997
JJ
10722006-01-23 Jakub Jelinek <jakub@redhat.com>
1073
1074 PR preprocessor/25717
1075 * init.c (cpp_init_builtins): If __STDC__ will not change value
1076 between system headers and other sources, define it as a normal
1077 macro rather than a builtin.
1078 * macro.c (_cpp_builtin_macro_text) <case BT_STDC>: Only check
1079 cpp_in_system_header condition.
1080
10812006-01-05 Paolo Bonzini <bonzini@gnu.org>
9220c30c
PB
1082
1083 * Makefile.in: Use -MMD instead of -MD.
1084
bc4071dd
RH
10852006-01-04 Dmitry Kurochkin <dmitry.kurochkin@gmail.com>
1086 Richard Henderson <rth@redhat.com>
1087
1088 Merge from gomp branch:
1089 * directives.c (struct pragma_entry): Add is_deferred. Add ident
1090 entry to value union.
1091 (end_directive): Don't eat the line if in_deferred_pragma.
1092 (run_directive): Remove pragma hacks.
1093 (insert_pragma_entry): Remove.
1094 (new_pragma_entry): New.
1095 (register_pragma_1): Split out of register_pragma. Only handle
1096 the lookup tree and return the new entry.
1097 (cpp_register_pragma): Fill in the pragma entry here.
1098 (cpp_register_deferred_pragma): New.
1099 (register_pragma_internal): New.
1100 (_cpp_init_internal_pragmas): Use register_pragma_internal.
1101 (do_pragma): Allow pragma expansion after namespace. For deferred
1102 pragmas, don't slurp the line into a string.
1103 (destringize_and_run): Save tokens for deferred pragmas.
1104 (cpp_handle_deferred_pragma): Remove.
1105 * macro.c (builtin_macro): Remove pragma token hack.
1106 (_cpp_push_token_context): Rename from push_token_context and export.
1107 * internal.h (struct lexer_state): Add pragma_allow_expansion.
1108 (_cpp_push_token_context): Declare.
1109 * lex.c (_cpp_lex_token): Allow _cpp_handle_directive to return
1110 a token. Update the line number correctly if so.
1111 (_cpp_lex_direct): Emit CPP_PRAGMA_EOL tokens.
1112 (cpp_token_val_index): Return CPP_TOKEN_FLD_PRAGMA for pragmas.
1113 * include/cpplib.h (PRAGMA_EOL): New.
1114 (CPP_TOKEN_FLD_PRAGMA): New.
1115 (struct cpp_token): Add val.pragma.
1116 (struct cpp_options): Remove defer_pragmas.
1117 (cpp_handle_deferred_pragma): Remove.
1118 (cpp_register_deferred_pragma): Declare.
1119
d09e893f
JJ
11202006-01-01 Jakub Jelinek <jakub@redhat.com>
1121
1122 PR c++/25294
1123 * directives.c (do_pragma): If pragma line ends with multi-line
1124 block comment, end the saved deferred pragma string before that
1125 comment. Handle embedded '\0' chars on the pragma line.
1126
ab84748a
VR
11272005-12-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
1128
1129 PR c++/23333
1130 * include/cpplib.h: Add PURE_ZERO to flags for the cpp_token structure.
1131
ad6ed77e
JG
11322005-12-07 Jon Grimm <jgrimm2@us.ibm.com>
1133 Ben Elliston <bje@au.ibm.com>
1134
1135 * include/cpplib.h (CPP_N_DFLOAT): New.
1136 * expr.c (interpret_float_suffix): Identify df, dd, and dl
1137 suffixes as decimal floating point constants.
1138 (cpp_classify_number): Disallow hexadecimal DFP constants.
1139
ba096620 11402005-11-14 Gerald Pfeifer <gerald@pfeifer.com>
bc4071dd 1141 Ian Lance Taylor <ian@airs.com>
ba096620
GP
1142
1143 * include/cpplib.h (struct cpp_callbacks): Annotate error with
1144 ATTRIBUTE_FPTR_PRINTF(3,0) instead of ATTRIBUTE_PRINTF(3,0).
1145
456b8ce5
UB
11462005-11-09 Per Bothner <per@bothner.com>
1147 Uros Bizjak <uros@kss-loka.si>
f7288899 1148
456b8ce5
UB
1149 PR c/24101
1150 * init.c (read_original_filename): Temporarily set
1151 state.in_directive before calling _cpp_lex_direct for
1152 CPP_HASH tokens.
1153
5571f74f
JW
11542005-11-03 James E Wilson <wilson@specifix.com>
1155
1156 PR preprocessor/24202
1157 * files.c (_cpp_pop_file_buffer): Set buffer_valid to false.
1158
a63607ed
JM
11592005-11-04 Joseph S. Myers <joseph@codesourcery.com>
1160
1161 * include/cpplib.h (struct cpp_callbacks): Make error take
1162 va_list* parameter.
1163 * errors.c (cpp_error): Update call to callback.
1164
651ed942
AP
11652005-11-03 Andrew Pinski <pinskia@physics.uc.edu>
1166
1167 PR preprocessor/22042
1168 * macro.c (_cpp_builtin_macro_text): Lower the needed max
1169 buffer size.
1170 (cpp_quote_string): Don't octalify non printable
1171 charactors.
1172
178b58b5
JM
11732005-11-03 Joseph S. Myers <joseph@codesourcery.com>
1174
1175 PR c++/17964
1176 * include/cpplib.h (struct cpp_options): Add client_diagnostic.
1177 (struct cpp_callbacks): Add error.
1178 * errors.c (cpp_error): If client_diagnostic, use error callback.
1179 * charset.c (convert_escape): Don't use %03o in diagnostic.
1180
3ee5ed11 11812005-10-21 James E Wilson <wilson@specifix.com>
6568f34b
JW
1182
1183 PR preprocessor/15220
1184 * files.c (_cpp_find_file): New parameter angle_brackets. Fix all
1185 callers. Pass to open_file_failed.
1186 (open_file_failed): New parameter angle_brackets. Fix all callers.
1187 Use in print_dep assignment.
1188 * init.c (cpp_read_main_file): Pass additional arg to _cpp_find_file.
1189 * internal.h (_cpp_find_file): Add new parm to declaration.
f7288899 1190
077fc835
KH
11912005-10-08 Kazu Hirata <kazu@codesourcery.com>
1192
1193 * configure.ac: Require 64-bit int for arm*-*-*eabi*.
1194 * configure: Regenerate.
1195
cbc43ae0
ILT
11962005-10-04 Ian Lance Taylor <ian@airs.com>
1197
1198 PR preprocessor/13726
1199 * directives.c (check_eol_return_comments): New static function.
1200 (parse_include): Add buf parameter. Change all callers.
1201 (do_include_common): If not discard comments, turn on
1202 save_comments. Pass collected comments to include callback.
1203 * include/cpplib.h (struct cpp_callbacks): Add new parameter to
1204 include callback: cpp_token list.
1205
af15a2fe
JM
12062005-09-20 Joseph S. Myers <joseph@codesourcery.com>
1207
1208 * include/cpplib.h (struct cpp_options): Add extended_identifiers.
1209 * init.c (struct lang_flags, lang_defaults): Add
1210 extended_identifiers.
1211 (cpp_set_lang): Use it.
1212 * lex.c (forms_identifier_p): Check extended_identifiers.
1213
f5eab47e
JJ
12142005-08-30 Jakub Jelinek <jakub@redhat.com>
1215
1216 PR preprocessor/20348
1217 PR preprocessor/20356
1218 * files.c (_cpp_find_file, search_cache): Revert 2004-06-26 and
1219 2004-06-05 changes.
1220
467129e6
KG
12212005-07-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1222
1223 * configure.ac (ACX_PROG_CC_WARNING_OPTS): add
1224 -Wmissing-format-attribute.
1225
1226 * configure: Regenerate.
1227
200031d1
KC
12282005-06-29 Kelley Cook <kcook@gcc.gnu.org>
1229
1230 * all files: Update FSF address in copyright headers.
1231 * makeucnid.c (write_copyright): Update outputted FSF address.
1232
f610dd5f
ZW
12332005-06-13 Zack Weinberg <zack@codesourcery.com>
1234
1235 * configure.ac: Invoke ZW_CREATE_DEPDIR and
1236 ZW_PROG_COMPILER_DEPENDENCIES.
1237 * aclocal.m4, configure: Regenerate.
1238 * Makefile.in (DEPMODE, DEPDIR, depcomp, COMPILE.base, COMPILE):
1239 New variables.
1240 (distclean): Clean up $(DEPDIR) and its contents.
1241 (.c.o): Use $(COMPILE).
1242 Include $(DEPDIR)/*.Po for most object->header dependencies.
1243
c3f829c1
GDR
12442005-05-28 Gabriel Dos Reis <gdr@integrable-solutions.net>
1245
1246 * configure.ac: Check declarations for asprintf and vasprintf.
1247 * config.in: Regenerate.
1248 * configure: Likewise.
1249
1250 * charset.c (conversion_loop): Use XRESIZEVEC.
1251 (convert_no_conversion): Likewise.
1252 (convert_using_iconv): Likewise.
1253 (init_iconv_desc): Cast return value of alloca.
1254 (cpp_host_to_exec_charset): Use XNEWVEC.
1255 (emit_numeric_escape): Use XRESIZEVEC.
1256 (cpp_interpret_string): Use XNEWVEC.
1257 (cpp_interpret_string): Use XRESIZEVEC.
1258 (_cpp_interpret_identifier): Cast return value of alloca.
1259 (_cpp_convert_input): Use XNEWVEC and XRESIZEVEC.
1260 * directives.c (glue_header_name): Use XNEWVEC and XRESIZEVEC.
1261 (parse_include): Use XNEWVEC.
1262 (insert_pragma_entry): Rename local variable "new" to
f610dd5f 1263 "new_entry".
c3f829c1
GDR
1264 (save_registered_pragmas): Cast return value of xmemdup.
1265 (destringize_and_run): Same for alloca.
1266 (parse_assertion): Likewise.
1267 (do_assert): Cast allocated storage to proper type.
1268 (cpp_define): Likewise.
1269 (_cpp_define_builtin): Likewise.
1270 (cpp_undef): Likewise.
1271 (handle_assertion): Likewise.
1272 (cpp_push_buffer): Rename local variable "new" to "new_buffer".
1273 * expr.c (CPP_UPLUS): Cast value to type cpp_ttype.
1274 (CPP_UMINUS): Likewise.
1275 (struct cpp_operator): Rename from struct operator.
1276 (_cpp_expand_op_stack): Use XRESIZEVEC.
1277 * files.c (pch_open_file): Use XNEWVEC.
1278 (pch_open_file): Use XRESIZEVEC.
1279 (read_file_guts): Use XNEWVEC and XRESIZEVEC.
1280 (dir_name_of_file): Use XNEWVEC.
1281 (make_cpp_file): Use XCNEW.
1282 (make_cpp_dir): Likewise.
1283 (allocate_file_hash_entries): USE XNEWVEC.
1284 (cpp_included): Cast return value of htab_find_with_hash.
1285 (append_file_to_dir): Use XNEWVEC.
1286 (read_filename_string): Likewise. Use XRESIZEVEC too.
1287 (read_name_map): Cast return value of alloca. Use XRESIZEVEC.
1288 (remap_filename): Use XNEWVEC.
1289 (struct pchf_entry): Move definition out of struct pchf_data.
1290 (_cpp_save_file_entries): Use XCNEWVAR.
1291 (_cpp_read_file_entries): Use XNEWVAR.
1292 * identifiers.c (alloc_node): Use XOBNEW.
1293 * init.c (cpp_create_reader): Use XCNEW.
1294 (cpp_init_builtins): Cast of b->value to enum builtin_type.
1295 (read_original_directory): Cast return value of alloca.
1296 * lex.c (add_line_note): Use XRESIZEVEC.
1297 (warn_about_normalization): Use XNEWVEC.
1298 (_cpp_lex_direct): Cast node->directive_index to (enum cpp_ttype).
1299 (new_buff): Use XNEWVEC.
1300 * line-map.c (linemap_add): Use XRESIZEVEC.
1301 * macro.c (builtin_macro): Cast return value of alloca.
1302 (paste_tokens): Likewise.
1303 (expand_arg): Use XNEWVEC and XRESIZEVEC.
1304 (_cpp_save_parameter): Use XRESIZEVEC.
1305 (create_iso_definition): Cast allocated storage to proper type.
1306 (_cpp_create_definition): Likewise.
1307 (cpp_macro_definition): Use XRESIZEVEC.
1308 * makedepend.c (add_clm): Use XNEW.
1309 (add_dir): Likewise.
1310 * mkdeps.c (munge): Use XNEWVEC.
1311 (deps_init): Use XCNEW.
1312 (deps_add_target): Use XRESIZEVEC.
1313 (deps_add_default_target): Cast return value of alloca.
1314 (deps_add_dep): Use XRESIZEVEC.
1315 (deps_add_vpath): Likewise. Use XNEWVEC too.
1316 (deps_restore): Likewise.
1317 * pch.c (save_idents): Use XNEW and XNEWVEC.
1318 (cpp_save_state): Use XNEW.
1319 (count_defs): Cast return value of htab_find.
1320 (write_defs): Likewise.
1321 (cpp_write_pch_deps): Use XNEWVEC.
1322 (collect_ht_nodes): Use XRESIZEVEC.
1323 (cpp_valid_state): Use XNEWVEC.
1324 (save_macros): Use XRESIZEVEC. Cast return value of xmemdup.
1325 * symtab.c (ht_create): Use XCNEW.
1326 (ht_lookup_with_hash): Cast return value of obstack_copy0.
1327 (ht_expand): Use XCNEWVEC.
1328 * system.h (HAVE_DESIGNATED_INITIALIZERS): False if __cplusplus.
1329 (bool): Do not define if __cplusplus.
1330
1ed17cd5
ZW
13312005-05-12 Zack Weinberg <zack@codesourcery.com>
1332
1333 * directives.c (#sccs table entry): Mark IN_I, consistent with #ident.
1334 (do_sccs): Delete function definition, #define to do_ident.
1335 (do_ident): Don't hardwire directive name.
1336
5a8c20ce
RK
13372005-05-12 Ryota Kunisawa <kunisawa@access.co.jp>
1338
1339 PR bootstrap/21230
1340 * configure: Regenerate.
1341
473c5bc9
AP
13422005-04-27 Andris Pavenis <pavenis@latnet.lv>
1343
1344 * files.c: Include io.h for DJGPP to get prototype of setmode.
1345
c1fc5047
PB
13462005-04-19 Per Bothner <per@bothner.com>
1347
1348 PR preprocessor/20907
1349 * line-map.c (linemap_line_start): Fix bug when we need to increse
1350 column_bits but can re-use the current line_map.
1351
042630ad
KG
13522005-04-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1353
1354 * system.h (fopen, fdopen, freopen): Define these to the unlocked
1355 libiberty functions.
1356
0d667716
KG
13572005-04-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1358
1359 * configure.ac (libcpp_UNLOCKED_FUNCS): New.
1360 (AC_CHECK_FUNCS, AC_CHECK_DECLS): Check for libcpp_UNLOCKED_FUNCS.
1361 * system.h (putchar, getc, getchar, clearerr, feof, fileno,
1362 fflush, fgetc, fgets, ferror, fread): Redefine to the associated
1363 _unlocked function.
1364 (fwrite_unlocked): Fix prototype.
1ed17cd5 1365
0d667716
KG
1366 * configure, config.in: Regenerate.
1367
cae064e7
JJ
13682005-04-05 Jakub Jelinek <jakub@redhat.com>
1369
1370 PR preprocessor/19475
1371 * macro.c (create_iso_definition): For < ISO C99, don't
1372 pedwarn if there is no whitespace between macro name and its
1373 replacement, but the replacement starts with a basic character
1374 set character.
1375
cbada204
AJ
13762005-03-28 Andreas Jaeger <aj@suse.de>
1377
1378 * lex.c (warn_about_normalization): Cast field width to int to
1379 avoid warning.
1380
f42eccdb
JM
13812005-03-19 Joseph S. Myers <joseph@codesourcery.com>
1382
1383 * configure.ac: Consistently use solaris2.1[0-9]* instead of
1384 solaris2.1[0-9].
1385 * configure: Regenerate.
1386
c79e602b
GK
13872005-03-15 Geoffrey Keating <geoffk@apple.com>
1388
1389 * charset.c (_cpp_valid_ucn): In identifiers, reject a partial
1390 UCN rather than printing an error.
1391
50668cf6
GK
13922005-03-14 Geoffrey Keating <geoffk@apple.com>
1393
6baba9bb
GK
1394 * lex.c (forms_identifier_p): Disable UCNs in C89 mode.
1395
13962005-03-14 Geoffrey Keating <geoffk@apple.com>
1ed17cd5 1397
50668cf6
GK
1398 * init.c (cpp_create_reader): Default warn_normalize to normalized_C.
1399 * charset.c: Update for new format of ucnid.h.
1400 (ucn_valid_in_identifier): Update for new format of ucnid.h.
1401 Add NST parameter, and update it; update callers.
1402 (cpp_valid_ucn): Add NST parameter, update callers. Replace abort
1403 with cpp_error.
1404 (convert_ucn): Pass normalize_state to cpp_valid_ucn.
1405 * internal.h (struct normalize_state): New.
1406 (INITIAL_NORMALIZE_STATE): New.
1407 (NORMALIZE_STATE_RESULT): New.
1408 (NORMALIZE_STATE_UPDATE_IDNUM): New.
1409 (_cpp_valid_ucn): New.
1410 * lex.c (warn_about_normalization): New.
1411 (forms_identifier_p): Add normalize_state parameter, update callers.
1412 (lex_identifier): Add normalize_state parameter, update callers. Keep
1413 the state current.
1414 (lex_number): Likewise.
1415 (_cpp_lex_direct): Pass normalize_state to subroutines. Check
1416 it with warn_about_normalization.
1417 * makeucnid.c: New.
1418 * ucnid.h: Replace.
1419 * ucnid.pl: Remove.
1420 * ucnid.tab: Make appropriate for input to makeucnid.c. Remove
1421 comments about obsolete version of C++.
1422 * include/cpplib.h (enum cpp_normalize_level): New.
1423 (struct cpp_options): Add warn_normalize field.
1424
47e20491
GK
14252005-03-11 Geoffrey Keating <geoffk@apple.com>
1426
1427 * directives.c (glue_header_name): Update call to cpp_spell_token.
1428 * internal.h (_cpp_interpret_identifier): New.
1429 * charset.c (_cpp_interpret_identifier): New.
1430 (_cpp_valid_ucn): Allow UCN version of '$'.
1431 * lex.c (lex_identifier): Add extra parameter to indicate if initial
1432 character was '$' or '\'. Support identifiers with UCNs.
1433 (forms_identifier_p): Allow UCNs.
1434 (_cpp_lex_direct): Pass extra parameter to lex_identifier.
1435 (utf8_to_ucn): New.
1436 (cpp_spell_token): Add FORSTRING parameter. Use it.
1437 (cpp_token_as_text): Update call to cpp_spell_token.
1438 (cpp_output_token): Write UCNs back out.
1439 (stringify_arg): Update call to cpp_spell_token.
1440 (paste_tokens): Likewise.
1441 (cpp_macro_definition): Likewise.
1442 * macro.c (stringify_arg): Likewise.
1443 (paste_tokens): Likewise.
1444 (cpp_macro_definition): Likewise.
1445 * include/cpplib.h: Add parameter to cpp_spell_token.
1446
73096711
JJ
14472005-03-04 Jakub Jelinek <jakub@redhat.com>
1448
1449 PR bootstrap/20282
1450 PR bootstrap/20305
1451 * macro.c (replace_args, cpp_get_token): Copy whole
1452 cpp_token_u instead of just cpp_string field from it.
1453
2203a881
DP
14542005-02-28 Devang Patel <dpatel@apple.com>
1455
1456 * directives.c (do_line): Save sysp early before line table is
1457 realloc'ed.
1ed17cd5 1458
c5ff069d
ZW
14592005-02-20 Zack Weinberg <zack@codesourcery.com>
1460
1461 PR 18785
1462 * charset.c (LAST_POSSIBLY_BASIC_SOURCE_CHAR): New helper macro.
1463 (cpp_host_to_exec_charset): New function.
1464 * include/cpplib.h: Declare cpp_host_to_exec_charset.
1465
04c90eea
DP
14662005-02-19 Devang Patel <dpatel@apple.com>
1467
1468 * charset.c (_cpp_convert_input): Check '\r' before inserting
1469 '\n' at the end.
c5ff069d 1470
6da55c00
EC
14712005-02-15 Eric Christopher <echristo@redhat.com>
1472
1473 PR preprocessor/19077
1474 * macro.c (cpp_macro_definition): Move handling of whitespace
1475 to PREV_WHITE conditional. Remove overloading of len
1476 variable.
1477
31c3e631
KH
14782005-02-14 Kazu Hirata <kazu@cs.umass.edu>
1479
1480 * directives.c, files.c, init.c, internal.h, macro.c, pch.c,
1481 traditional.c: Update copyright.
1482
be0f1e54
PB
14832005-02-14 Paolo Bonzini <bonzini@gnu.org>
1484
1485 PR bootstrap/19818
1486 * configure.ac: Check for declaration of basename and getopt.
1487 * config.in: Regenerate.
1488 * configure: Regenerate.
1489 * internal.h (ustrcspn): New.
1490 * macro.c (create_iso_definition): Fix allocation of memory.
1491 (padding_token): Add cast to remove const-ness.
1492 * pch.c (cpp_read_state): Use ustrcspn.
1493
ecddfb39
MS
14942005-02-08 Mike Stump <mrs@apple.com>
1495
1496 * files.c (pchf_adder): Remove.
1497 (struct pchf_adder_info): Likewise.
1498 (_cpp_save_file_entries): Write out all files so that #import works.
1499
9fcdd891
JM
15002005-01-23 Joseph S. Myers <joseph@codesourcery.com>
1501
1502 * configure: Regenerate.
1503
ecfd72e7
TS
15042005-01-11 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
1505
1506 * include/cpplib.h (c_lang): Fix comment to say cpp_create_reader.
1507
6c25a4f7 1508 * include/cpplib.h: Also update copyright years.
c5ff069d 1509
942926ad
GK
15102005-01-03 Geoffrey Keating <geoffk@apple.com>
1511
1512 * files.c (_cpp_find_file): Add files found by search_path_exhausted
1513 to the list of all files.
1514
a2566ae9
GDR
15152005-01-01 Gabriel Dos Reis <gdr@integrable-solutions.net>
1516
1517 * internal.h: Update references to Cpp lib filenames.
1518 * directives.c: Likewise.
1519 * init.c: Likewise.
1520 * macro.c: Likewise.
1521 * traditional.c: Likewise.
1522
1b449375
EB
15232004-12-15 Eric Botcazou <ebotcazou@libertysurf.fr>
1524
1525 PR preprocessor/15167
1526 * files.c (destroy_cpp_file): New function.
1527 (should_stack_file): Make a new file if the
1528 compared file is still stacked.
1529
28303828
NN
15302004-11-28 Nathanael Nerode <neroden@gcc.gnu.org>
1531
c5ff069d 1532 PR preprocessor/17610
28303828
NN
1533 * directives.c (do_include_common): Error out if an empty filename
1534 is given for #include (or #include_next or #import).
1535
c812785a
RS
15362004-11-27 Roger Sayle <roger@eyesopen.com>
1537 Zack Weinberg <zack@codesourcery.com>
1538
1539 * internal.h: Replace all uses of uchar with unsigned char.
1540 * include/cpp-id-data.h: Likewise. Guard typedef of uchar
1541 with !IN_GCC, so uchar is only defined whilst building libcpp.
1542
f91eaa01
KC
15432004-11-24 Kelley Cook <kcook@gcc.gnu.org>
1544
1545 * aclocal.m4: Regenerate.
1546
f78ce0c2
RS
15472004-11-24 Roger Sayle <roger@eyesopen.com>
1548
1549 PR preprocessor/15824
1550 * configure.ac: Correct HAVE_UCHAR test to #include <sys/types.h>
1551 directly, instead of the non-existant "system.h" and "ansidecl.h".
1552 * configure: Regenerate.
1553
b5b3e36a 15542004-11-23 Daniel Jacobowitz <dan@codesourcery.com>
c5ff069d 1555 Joseph Myers <joseph@codesourcery.com>
b5b3e36a
DJ
1556
1557 * internal.h (struct lexer_state): Add in_deferred_pragma.
1558 * directives.c (struct pragma_entry): Add allow_expansion.
1559 (insert_pragma_entry): Take allow_expansion flag.
1560 (register_pragma): Likewise.
1561 (cpp_register_pragma): Likewise.
1562 (_cpp_init_internal_pragmas): Update calls to cpp_register_pragma.
1563 (do_pragma): Honor allow_expansion.
1564 (cpp_handle_deferred_pragma): Set in_deferred_pragma.
1565 * include/cpplib.h (cpp_register_pragma): Update prototype.
1566
a8e68029 15672004-11-18 Daniel Jacobowitz <dan@codesourcery.com>
c5ff069d 1568 Mark Mitchell <mark@codesourcery.com>
a8e68029
DJ
1569
1570 * configure.ac (i[34567]86-*-solaris2.1[0-9]*): Set
1571 need_64bit_hwint=yes.
1572 * configure: Regenerate.
1573
50f47ee0
JM
15742004-11-09 Joseph S. Myers <joseph@codesourcery.com>
1575
1576 * Makefile.in ($(PACKAGE).pot): New rule. Depend on
1577 po/$(PACKAGE).pot.
1578 (po/$(PACKAGE).pot): Use ":" instead of "," in --keyword
1579 arguments. Add keywords _, N_, SYNTAX_ERROR and SYNTAX_ERROR2.
1580 Remove local srcdir path from generated file.
1581
968e08d6 15822004-11-04 Zack Weinberg <zack@codesourcery.com>
c5ff069d 1583 Gerald Pfeifer <gerald@pfeifer.com>
968e08d6
ZW
1584
1585 * internal.h (HAVE_ICONV): Undefine if we do not have HAVE_ICONV_H
1586 as well.
1587
3da3d587
ZW
15882004-10-27 Zack Weinberg <zack@codesourcery.com>
1589
1590 PR 18075
1591 * directives.c (do_pragma): Do not defer pragmas which are unknown.
1592 (cpp_handle_deferred_pragma): Add cast to silence warning.
1593
ac24fc25
JM
15942004-10-14 Joseph S. Myers <jsm@polyomino.org.uk>
1595
1596 * errors.c (_cpp_begin_message): Print "error: " for errors.
1597
7731405b
AJ
15982004-10-10 Andreas Jaeger <aj@suse.de>
1599
1600 * makedepend.c: Include mkdeps.h for prototype of deps_add_vpath.
1601 * Makefile.in (makedepend.o): Add dependency on mkdeps.h.
1602
646544e3
AP
16032004-10-08 Andrew Pinski <pinskia@physics.uc.edu>
1604
1605 * pch.c (cpp_write_pch_state): Remove variable z as it is not
1606 used.
1607 (cpp_read_state): Remove unused variables, m, d and mac_count.
1608
67a74146
PB
16092004-09-29 Per Bothner <per@bothner.com>
1610
1611 * directives.c (cpp_handle_deferred_pragma): Save, clear and restore
1612 cb.line_change. Otherwise do_pragma will call the line_change
1613 call-back with a meaningless line number.
1614
018a4785
ZW
16152004-09-24 Zack Weinberg <zack@codesourcery.com>
1616
1617 * configure.ac: Move AC_PROG_MAKE_SET, AC_PROG_INSTALL to
1618 programs cluster. Use ACX_PROG_CC_WARNING_OPTS,
1619 ACX_PROG_CC_WARNING_ALMOST_PEDANTIC, ACX_PROG_CC_WARNINGS_ARE_ERRORS.
1620 * aclocal.m4, configure: Regenerate.
1621 * init.c: Include localedir.h.
1622 * Makefile.in (WARN_CFLAGS, ALL_CFLAGS): New variables.
1623 (DEFS): Delete.
1624 (.c.o): Use $(ALL_CFLAGS).
1625 (localedir.h, localedir.hs): New rules.
1626 (clean): Use rm -rf to remove directories.
1627 (distclean): Also delete localedir.h and localedir.hs.
1628 (init.o): Update dependencies.
1629
88fa57d7
KC
16302004-09-22 Kelley Cook <kcook@gcc.gnu.org>
1631
1632 * Makefile.in (aclocal.m4): Update dependencies.
1633 * configure.ac (AC_CONFIG_MACRO_DIR): New.
1634 * aclocal.m4, configure: Regenerate.
1635
8f8e9aa5
ZW
16362004-09-17 Zack Weinberg <zack@codesourcery.com>
1637
a29f62d9
ZW
1638 * charset.c (_cpp_destroy_iconv, emit_numeric_escape)
1639 (_cpp_convert_input, _cpp_default_encoding): Add comments.
1640 Some other comments in this file also tweaked.
1641
8f8e9aa5
ZW
1642 * directives.c (do_pragma): Save current buffer position
1643 before lexing the pragma keywords; don't call
1644 _cpp_backup_tokens in the defer_pragmas case.
1645
a2981930
PB
16462004-09-15 Per Bothner <per@bothner.com>
1647
1648 * include/line-map.h (line_map_start): Add parameter names so
1649 preceding comment makes sense.
1650 (linemap_add): Remove from comment mention of non-existing parameter.
1651
21b11495
ZW
16522004-09-09 Matt Austern <austern@apple.com>
1653 Zack Weinberg <zack@codesourcery.com>
1654
1655 * include/cpplib.h (TTYPE_TABLE): Remove CPP_ and SPELL_
1656 prefixes throughout. Add entry for PRAGMA. Remove
1657 unnecessary "= 0" from EQ.
1658 (enum cpp_ttype): Adjust OP and TK definitions to restore
1659 prefixes, via token-paste.
1660 (CPP_LAST_EQ, CPP_FIRST_DIGRAPH, CPP_LAST_PUNCTUATOR, CPP_LAST_CPP_OP):
1661 Change from #defines to additional cpp_ttype enumerators.
1662 (struct cpp_options): Add defer_pragmas.
1663 (cpp_handle_deferred_pragma): Prototype new interface.
1664
1665 * internal.h (struct cpp_reader): Add directive_result.
1666 * directives.c (struct pragma_entry): Add is_internal field;
1667 give boolean fields type bool.
1668 (start_directive): Initialize pfile->directive_result.type.
1669 (_cpp_do__Pragma): Likewise.
1670 (run_directive): Do not crash if pfile->buffer->prev is NULL.
1671 (insert_pragma_entry): Add 'internal' argument; set new->is_internal
1672 from it.
1673 (register_pragma): New static function, bulk of former
1674 cpp_register_pragma here; add 'internal' argument, pass along
1675 to insert_pragma_entry.
1676 (cpp_register_pragma): Now a wrapper around register_pragma which
1677 always passes false for 'internal' argument.
1678 (_cpp_init_internal_pragmas): Call register_pragma directly, passing
1679 true for 'internal'.
1680 (do_pragma): If CPP_OPTION (pfile, defer_pragmas) and this isn't
1681 an internal pragma, save text till the end of the line as a CPP_PRAGMA
1682 token instead of executing the pragma.
1683 (cpp_handle_deferred_pragma): New interface.
1684 * lex.c (token_spellings): Adjust OP and TK definitions to
1685 match changes to cpplib.h.
1686 (_cpp_lex_token): Check for a directive-result token and
1687 return it if present.
1688 (cpp_token_val_index): Handle CPP_PRAGMA.
1689 * macro.c (cpp_builtin_macro_text): Correct comment.
1690 (builtin_macro): Handle directive-result tokens from _cpp_do__Pragma.
1691
0fd9e8dd
SB
16922004-09-06 Serge Belyshev <belyshev@lubercy.com>
1693
1694 PR preprocessor/14699
1695 * symtab.c (ht_dump_statistics): Change type of sum_of_squares
1696 from size_t to double.
1697
39b8ce7f
AS
16982004-08-28 Andreas Schwab <schwab@suse.de>
1699 Andreas Jaeger <aj@suse.de>
1700
1701 * configure.ac: Set PACKAGE correctly.
1702 * configure: Regenerated.
1703
5d1f4b27
PB
17042004-08-25 Paolo Bonzini <bonzini@gnu.org>
1705
1706 * Makefile.in: Add back top_builddir.
1707
078e3ffe
PB
17082004-08-25 Paolo Bonzini <bonzini@gnu.org>
1709
1710 * configure.ac: Replace Automake macro invocations
1711 with manual Autoconf checks and substitutions.
1712 * configure: Regenerate.
1713 * aclocal.m4: Regenerate.
1714 * config.in: Regenerate.
1715 * Makefile.am: Removed.
1716 * Makefile.in: Heavy simplification and reorganization.
1717
b3f8d95d
MM
17182004-08-09 Mark Mitchell <mark@codesourcery.com>
1719
1720 * configure.ac (arm*-*-eabi*): New target.
1721 (arm*-*-symbianelf*): Likewise.
1722 * configure: Regenerated.
1723
72bb2c39
BI
17242004-07-24 Bernardo Innocenti <bernie@develer.com>
1725
1726 * internal.h (xnew, xcnew, xnewvec, xcnewvec, xobnew): Remove.
1727 * directives.c: Use XNEW-family macros from libiberty.
1728 * lex.c: Likewise.
1729 * macro.c: Likewise.
1730 * cpplib.h (cpp_deps_style): Export enum with name.
1731
21b11495 17322004-07-23 Matthias Klose <doko@debian.org>
72bb2c39 1733
21b11495 1734 * init.c (init_library): Use PACKAGE for the text domain.
85eac2a0 1735
a23ee064
AP
17362004-07-16 Andris Pavenis <pavenis@latnet.lv>
1737
1738 PR preprocessor/16366
1739 * internal.h (struct cpp_reader): New field dir_hash.
1740 * files.c (make_cpp_dir): Use dir_hash, not file_hash.
1741 (_cpp_init_files, _cpp_cleanup_files): Update for new field.
1742
a09d4744
NB
17432004-07-04 Neil Booth <neil@duron.akihabara.co.uk>
1744
1745 PR preprocessor/16192
1746 PR preprocessor/15913
1747 PR preprocessor/15572
1748 * expr.c (_cpp_parse_expr): Handle remaining cases where an
1749 expression is missing.
1750 * init.c (post_options): Traditional cpp doesn't do // comments.
1751
f58f7def
PB
17522004-06-30 Per Bothner <per@bothner.com>
1753
1754 * include/line-map.h (fileline): Remove old typedef.
1755 * internal.h (struct cpp_reader): Use source_location typedef instead.
1756
e83d8d43
ZW
17572004-06-26 Zack Weinberg <zack@codesourcery.com>
1758
1759 Partially revert patch of 2004-06-05.
1760 * files.c (search_cache): Remove pfile argument. Don't check
1761 for file that would be found by "" or <> search here...
1762 (_cpp_find_file): ...do it here, before calling find_file_in_dir.
1763 Do not apply directory-of-current-file correction to files
1764 found by this check. Rearrange code slightly.
1765
c0d578e6
GK
17662004-06-21 Geoffrey Keating <geoffk@apple.com>
1767
1768 * files.c (should_stack_file): Correct swapped parameters to call
1769 to cb.read_pch.
1770 * pch.c (cpp_valid_state): Handle -fpreprocessed.
1771
159d5224
PB
17722004-06-15 Paolo Bonzini <bonzini@gnu.org>
1773
1774 * Makefile.in: Regenerate with automake 1.8.5.
1775 * aclocal.m4: Likewise.
1776 * configure: Regenerate.
1777
2fac9c01
ZW
17782004-06-11 Zack Weinberg <zack@codesourcery.com>
1779
1780 * configure.ac: Don't invoke ACX_HEADER_STDBOOL.
1781 * configure, config.in: Regenerate.
1782 * system.h: Unconditionally define bool as unsigned char,
1783 BOOL_BITFIELD as unsigned int.
1784 * .cvsignore: New file.
1785
d8044160
GK
17862004-06-09 Geoffrey Keating <geoffk@apple.com>
1787
1788 * traditional.c (push_replacement_text): Set macro->traditional.
1789 (save_replacement_text): Likewise.
1790 * pch.c (cpp_write_pch_state): Don't write list of defined macros.
1791 (struct save_macro_item): Delete.
1792 (struct save_macro_data): Use a character array not the previous
1793 structured format.
1794 (save_macros): Save macro as text not as internal structures.
1795 (cpp_prepare_state): Update for changes to save_macro_data.
1796 (cpp_read_state): Don't read macros defined in PCH. Restore
2cf22451 1797 -D macros as text.
d8044160
GK
1798 * macro.c (create_iso_definition): Honour alloc_subobject.
1799 Clear traditional flag.
1800 (_cpp_create_definition): Honour alloc_subobject.
1801 * lex.c (cpp_token_val_index): New.
1802 * internal.h: Include cpp-id-data.h.
1803 (uchar): Move definition to cpp-id-data.h.
1804 (U): Likewise.
1805 (cpp_macro): Likewise.
1806 * directives.c (struct answer): Move to cpp-id-data.h.
1807 (do_assert): Honour alloc_subobject.
2cf22451
ZW
1808
1809 * include/symtab.h (struct ht): Add field 'alloc_subobject'.
1810 * include/cpplib.h (struct cpp_string): Add GTY marker.
1811 (enum cpp_token_fld_kind): New.
1812 (struct cpp_token): Add GTY markers.
1813 (cpp_token_val_index): Prototype.
1814 (CPP_HASHNODE_VALUE_IDX): New.
1815 (struct cpp_hashnode): Don't skip fields of 'value' when marking.
1816 * include/cpp-id-data.h: New file.
d8044160 1817
0ca8e815
PB
18182004-06-09 Paolo Bonzini <bonzini@gnu.org>
1819
1820 * Makefile.am (all-local): New.
1821 * Makefile.in: Regenerate.
1822
b51fa00f
RS
18232004-06-06 Roger Sayle <roger@eyesopen.com>
1824
1825 * Makefile.am (LIBICONV): Declare.
1826 (makedepend_LDADD): Use LIBICONV.
1827 * Makefile.in: Regenerate.
1828
5e2f3f39
AP
18292004-06-05 Andrew Pinski <pinskia@physics.uc.edu>
1830
1831 * Makefile.am (LIBINTL): Declare
1832 (makedepend_LDADD): Use LIBINTL.
1833 * Makefile.in: Regenerate.
1834
c6e83800
ZW
18352004-06-05 Zack Weinberg <zack@codesourcery.com>
1836
1837 * Makefile.am: Add makedepend.
1838 * Makefile.in, aclocal.m4: Regenerate.
1839 * charset.c: Insert a space to avoid a warning.
1840 * directives.c: Include mkdeps.h.
1841 (_cpp_handle_directive): Reenable macro expander if appropriate.
1842 (undefine_macros): Inline body of _cpp_free_definition for speed.
1843 Do not call undef callback or _cpp_warn_if_unused_macro.
1844 (cpp_get_deps): New interface.
1845 * files.c (search_cache): Add pfile argument. Check for file
1846 that would be found by "" or <> search here...
1847 (_cpp_find_file): ...not here. Correct recorded start_dir of
1848 files found by directory-of-current-file search that would be
1849 found by "" or <> search.
1850 * init.c (cpp_add_dependency_target): Delete.
1851 * internal.h (struct lexer_state): Add discarding_output flag.
1852 * lex.c (lex_identifier): Compute hash function while scanning.
1853 * macro.c (cpp_scan_nooutput): Disable macro expansion outside
1854 directives.
1855 * makedepend.c: New file.
1856 * mkdeps.c (struct deps): Add vpath vector.
1857 (apply_vpath, deps_add_vpath): New function.
1858 (deps_free): Free vpath vector.
1859 (deps_add_dep, deps_add_target): Use apply_vpath.
1860 * symtab.c (calc_hash): Use HT_HASHSTEP and HT_FINISH.
1861 (ht_lookup_with_hash): New function.
1862 * cpplib.h, mkdeps.h: Update prototypes.
1863 * symtab.h: Update prototypes.
1864 (HT_HASHSTEP, HT_FINISH): New macros.
1865
b453c95f
GK
18662004-05-29 Geoffrey Keating <geoffk@apple.com>
1867
1868 * symtab.c (ht_create): Set entries_owned.
1869 (ht_destroy): Honour entries_owned.
1870 (ht_expand): Likewise.
1871 (ht_load): New.
2cf22451
ZW
1872 * include/symtab.h (struct ht): New field 'entries_owned'
1873 (ht_load): New prototype.
b453c95f 1874
963e23c5
PB
18752004-05-26 Paolo Bonzini <bonzini@gnu.org>
1876
1877 PR bootstrap/15651
1878 * configure.ac: Fix m4 quoting when picking
1879 the size of HOST_WIDE_INT.
1880 * configure: Regenerate.
1881
0429bc77
PB
18822004-05-25 Paolo Bonzini <bonzini@gnu.org>
1883
1884 * Makefile.am: the correct directory for
1885 gettext include files is given by @INCINTL@.
1886 * Makefile.in: Regenerate.
1887
c86dd7db
PB
18882004-05-24 Paolo Bonzini <bonzini@gnu.org>
1889
1890 * system.h [!ENABLE_NLS]: dgettext takes two
1891 parameters.
1892
4f4e53dd
PB
18932004-05-23 Paolo Bonzini <bonzini@gnu.org>
1894
1895 Moved libcpp from the gcc subdirectory to the toplevel.
1896 * Makefile.am: New file.
1897 * Makefile.in: Regenerate.
1898 * configure.ac: New file.
1899 * configure: Regenerate.
1900 * config.in: Regenerate.
1901 * charset.c: Moved from gcc/cppcharset.c. Add note about
1902 brokenness of input charset detection. Adjust for change
1903 in name of cppucnid.h.
1904 * errors.c: Moved from gcc/cpperror.c. Do not include intl.h.
1905 * expr.c: Moved from gcc/cppexp.c.
1906 * files.c: Moved from gcc/cppfiles.c. Do not include intl.h.
1907 Remove #define of O_BINARY, it is in system.h.
1908 * identifiers.c: Moved from gcc/cpphash.c.
1909 * internal.h: Moved from gcc/cpphash.h. Change header
1910 guard name. All other files adjusted to match name change.
1911 * init.c: Moved from gcc/cppinit.c.
1912 (init_library) [ENABLE_NLS]: Call bindtextdomain.
1913 * lex.c: Moved from gcc/cpplex.c.
1914 * directives.c: Moved from gcc/cpplib.c.
1915 * macro.c: Moved from gcc/cppmacro.c.
1916 * pch.c: Moved from gcc/cpppch.c. Do not include intl.h.
1917 * traditional.c: Moved from gcc/cpptrad.c.
1918 * ucnid.h: Moved from gcc/cppucnid.h. Change header
1919 guard name.
1920 * ucnid.pl: Moved from gcc/cppucnid.pl.
1921 * ucnid.tab: Moved from gcc/cppucnid.tab. Change header
1922 guard name.
1923 * symtab.c: Moved from gcc/hashtable.c.
1924 * line-map.c: Moved from gcc. Do not include intl.h.
1925 * mkdeps.c: Moved from gcc.
1926 * system.h: New file.
2cf22451
ZW
1927 * include/cpplib.h: Moved from gcc. Change header guard name.
1928 * include/line-map.h: Moved from gcc. Change header guard name.
1929 * include/mkdeps.h: Moved from gcc. Change header guard name.
1930 * include/symtab.h: Moved from gcc/hashtable.h. Change header
1931 guard name.