]> git.ipfire.org Git - thirdparty/gcc.git/blame - libcpp/ChangeLog
re PR middle-end/45379 (~10% slowdown on test_fpu at revision 163278)
[thirdparty/gcc.git] / libcpp / ChangeLog
CommitLineData
246a2fcb
RH
12010-08-21 Richard Henderson <rth@redhat.com>
2 Andi Kleen <ak@linux.intel.com>
3 David S. Miller <davem@davemloft.net>
4
5 * configure.ac (AC_C_BIGENDIAN, AC_TYPE_UINTPTR_T): New tests.
6 (ssize_t): Check via AC_TYPE_SSIZE_T instead of AC_CHECK_TYPE.
7 (ptrdiff_t): Check via AC_CHECK_TYPE.
8 * config.in, configure: Rebuild.
9 * system.h: Include stdint.h, if available.
10 * lex.c (WORDS_BIGENDIAN): Provide default.
11 (acc_char_mask_misalign, acc_char_replicate, acc_char_cmp,
12 acc_char_index, search_line_acc_char, repl_chars, search_line_mmx,
13 search_line_sse2, search_line_sse42, init_vectorized_lexer,
14 search_line_fast): New.
15 (_cpp_clean_line): Use search_line_fast. Restructure the fast
16 loop to make it clear when we're leaving the loop. Stay in the
17 fast loop for non-trigraph '?'.
18
8e680db5
JJ
192010-06-11 Jakub Jelinek <jakub@redhat.com>
20
21 * include/cpplib.h (struct cpp_callbacks): Add user_builtin_macro
22 callback.
23 (enum cpp_builtin_type): Add BT_FIRST_USER and BT_LAST_USER.
24 (cpp_macro_definition): Remove const qual from second argument.
25 * macro.c (enter_macro_context): Call user_builtin_macro callback for
26 NODE_BUILTIN !NODE_USED macros.
27 (warn_of_redefinition): Likewise. Remove const qual from second
28 argument.
29 (cpp_macro_definition): Likewise.
30 * pch.c (write_macdef, save_macros): Call user_builtin_macro callback
31 for NODE_BUILTIN !NODE_USED macros.
32
1cb42611
JM
332010-06-10 Joseph Myers <joseph@codesourcery.com>
34
35 * include/cpplib.h (struct cpp_options): Remove show_column.
36 * init.c (cpp_create_reader, post_options): Don't set show_column.
37
ff5dfc48
JR
382010-06-09 Joern Rennecke <joern.rennecke@embecosm.com>
39
40 PR bootstrap/44432
41 * configure.ac: Before using ZW_PROG_COMPILER_DEPENDENCIES for C++,
42 check that C++ compiler works.
43 * configure: Regenerate.
44
a9429e29
LB
452010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
46
47 * include/symtab.h (ht_identifier_ptr): New.
48
c3f247f4
RW
492010-06-03 Joern Rennecke <joern.rennecke@embecosm.com>
50 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
51
52 PR bootstrap/42798
53 * configure.ac: Check for declaration of 'basename(char *)'.
54 * configure: Regenerate.
55 * config.in: Regenerate.
56
2778d766
JM
572010-04-25 Joseph Myers <joseph@codesourcery.com>
58
59 * include/cpplib.h (enum c_lang): Add CLK_GNUC1X and CLK_STDC1X.
60 * init.c (lang_defaults): Add entries for new language variants.
61 (cpp_init_builtins): Define __STDC_VERSION__ to 201000L for C1X
62 variants.
63
d8a12e84
MLI
642010-04-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
65
66 PR cpp/43195
67 * files.c (report_missing_guard): Test for #pragma once.
68
87cf0651
SB
692010-04-07 Simon Baldwin <simonb@google.com>
70
71 * directives.c (do_diagnostic): Add warning reason argument,
72 call appropriate error reporting function for code.
73 (directive_diagnostics): Call specific warning functions with
74 warning reason where appropriate.
75 (do_error, do_warning, do_pragma_dependency): Add warning reason
76 argument to do_diagnostic calls.
77 * macro.c (_cpp_warn_if_unused_macro, enter_macro_context,
78 _cpp_create_definition): Call specific warning functions with
79 warning reason where appropriate.
80 * Makefile.in: Add new diagnostic functions to gettext translations.
81 * include/cpplib.h (struct cpp_callbacks): Add warning reason code
82 to error callback.
83 (CPP_DL_WARNING, CPP_DL_WARNING_SYSHDR, CPP_DL_PEDWARN, CPP_DL_ERROR,
84 CPP_DL_ICE, CPP_DL_NOTE, CPP_DL_FATAL): Replace macros with enums.
85 (CPP_W_NONE, CPP_W_DEPRECATED, CPP_W_COMMENTS,
86 CPP_W_MISSING_INCLUDE_DIRS, CPP_W_TRIGRAPHS, CPP_W_MULTICHAR,
87 CPP_W_TRADITIONAL, CPP_W_LONG_LONG, CPP_W_ENDIF_LABELS,
88 CPP_W_NUM_SIGN_CHANGE, CPP_W_VARIADIC_MACROS,
89 CPP_W_BUILTIN_MACRO_REDEFINED, CPP_W_DOLLARS, CPP_W_UNDEF,
90 CPP_W_UNUSED_MACROS, CPP_W_CXX_OPERATOR_NAMES, CPP_W_NORMALIZE,
91 CPP_W_INVALID_PCH, CPP_W_WARNING_DIRECTIVE): New enums for cpp
92 warning reason codes.
93 (cpp_warning, cpp_pedwarning, cpp_warning_syshdr,
94 cpp_warning_with_line, cpp_pedwarning_with_line,
95 cpp_warning_with_line_syshdr): New specific error reporting functions.
96 * pch.c (cpp_valid_state): Call specific warning functions with
97 warning reason where appropriate.
98 * errors.c (cpp_diagnostic, cpp_diagnostic_with_line): New central
99 diagnostic handlers.
100 (cpp_warning, cpp_pedwarning, cpp_warning_syshdr,
101 cpp_warning_with_line, cpp_pedwarning_with_line,
102 cpp_warning_with_line_syshdr): New specific error reporting functions.
103 * expr.c (cpp_classify_number, eval_token, num_unary_op): Call
104 specific warning functions with warning reason where appropriate.
105 * lex.c (_cpp_process_line_notes, _cpp_skip_block_comment,
106 warn_about_normalization, lex_identifier_intern, lex_identifier,
107 _cpp_lex_direct): Ditto.
108 * charset.c (_cpp_valid_ucn, convert_hex, convert_escape,
109 narrow_str_to_charconst): Ditto.
110
d947ada0
JJ
1112010-04-06 Jakub Jelinek <jakub@redhat.com>
112
113 PR preprocessor/43642
114 * lex.c (lex_raw_string): Change type of TYPE variable to
115 unsigned char.
116
4d9e8446
RW
1172010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
118
119 * aclocal.m4: Regenerate.
120
52150625
JM
1212010-03-29 Jason Merrill <jason@redhat.com>
122
00a81b8b
JM
123 More N3077 raw string changes
124 * charset.c (cpp_interpret_string): Don't transform UCNs in raw
125 strings.
126 * lex.c (bufring_append): Split out from...
127 (lex_raw_string): ...here. Undo trigraph and line splicing
128 transformations. Do process line notes in multi-line literals.
129 (_cpp_process_line_notes): Ignore notes that were already handled.
130
52150625
JM
131 Some raw string changes from N3077
132 * charset.c (cpp_interpret_string): Change inner delimiters to ().
133 * lex.c (lex_raw_string): Likewise. Also disallow '\' in delimiter.
134
709d7160
JJ
1352010-02-11 Jakub Jelinek <jakub@redhat.com>
136
137 * init.c (read_original_filename): Don't call read_original_directory
138 if _cpp_handle_directive returns 0.
139
dadab4fd
JM
1402010-01-01 Joseph Myers <joseph@codesourcery.com>
141
142 PR preprocessor/41947
143 * expr.c (cpp_classify_number): Give error for hexadecimal
144 floating-point constant with no digits before or after point.
145
3de8a540
AC
1462009-11-20 Arnaud Charlet <charlet@adacore.com>
147
148 * macro.c (enter_macro_context): Call cb.used callback if defined.
149 * directives.c (do_idef, do_ifndef): Ditto.
150 * include/cpplib.h (struct cpp_callbacks): Add used callback.
151
17e7cb85
KT
1522009-11-11 Kai Tietz <kai.tietz@onevision.com>
153
154 * directives.c (do_pragma_push_macro): New pragma handler.
155 (do_pragma_pop_macro): Likewise.
156 (_cpp_init_internal_pragmas): Add push_macro and
157 pop_macro handler to internal pragmas.
158 (lex_macro_node_from_str): Removed.
159 (cpp_push_definition): Replace lex_macro_node_from_str
160 by _cpp_lex_identifier.
161 (cpp_pop_definition): Likewise.
162 * internal.h (_cpp_lex_identifier): New prototype.
163 (def_pragma_macro): New structure.
164 (cpp_reader): New member pushed_macros.
165 * lex.c (_cpp_lex_identifier): New function.
166 (lex_identifier_intern): New function.
167 * init.c (cpp_create_reader): Initialize pushed_macros
168 member.
169 (cpp_destroy): Free elements in pushed_macros member.
170 * pch.c (_cpp_save_pushed_macros): New function.
171 (_cpp_restore_pushed_macros): Likewise.
172 (_cpp_restore_pushed_macros): Use _cpp_save_pushed_macros.
173 (cpp_read_state): Use _cpp_restore_pushed_macros.
174
2c6e3f55
JJ
1752009-10-19 Jakub Jelinek <jakub@redhat.com>
176
177 * charset.c (cpp_init_iconv): Initialize utf8_cset_desc.
178 (_cpp_destroy_iconv): Destroy utf8_cset_desc, char16_cset_desc
179 and char32_cset_desc.
180 (converter_for_type): Handle CPP_UTF8STRING.
181 (cpp_interpret_string): Handle CPP_UTF8STRING and raw-strings.
182 * directives.c (get__Pragma_string): Handle CPP_UTF8STRING.
183 (parse_include): Reject raw strings.
184 * include/cpplib.h (CPP_UTF8STRING): New token type.
185 * internal.h (struct cpp_reader): Add utf8_cset_desc field.
186 * lex.c (lex_raw_string): New function.
187 (lex_string): Handle u8 string literals, call lex_raw_string
188 for raw string literals.
189 (_cpp_lex_direct): Call lex_string even for u8" and {,u,U,L,u8}R"
190 sequences.
191 * macro.c (stringify_arg): Handle CPP_UTF8STRING.
192
96c169e1
JJ
1932009-10-14 Jakub Jelinek <jakub@redhat.com>
194
195 PR preprocessor/41543
196 * include/line-map.h (RESERVED_LOCATION_COUNT): Define.
197 * line-map.c (linemap_init): Initialize highest_location and
198 highest_line to RESERVED_LOCATION_COUNT-1 instead of 0.
199
30c99a9e
JM
2002009-10-09 Jason Merrill <jason@redhat.com>
201
202 * charset.c (_cpp_valid_ucn): Update C++0x restrictions.
203
2214382c
NV
2042009-10-09 Neil Vachharajani <nvachhar@google.com>
205
206 * directives.c (DIRECTIVE_TABLE): Remove DEPRECATED from ident and
207 sccs.
208
e02222d2
LR
2092009-09-23 Loren J. Rittle <ljrittle@acm.org>
210
211 * configure.ac (AC_CHECK_HEADERS after AC_LANG(C++)): Add sys/stat.h.
212 * configure: Rebuilt.
213
9a8a2b7a
RG
2142009-09-22 Richard Guenther <rguenther@suse.de>
215
216 PR pch/38987
217 * files.c (pch_open_file): Disallow non-toplevel PCH inclusion.
218
74dc6a11
CD
2192009-09-18 Chris Demetriou <cgd@google.com>
220
221 PR preprocessor/28435:
222 * include/cpplib.h (struct cpp_options): Add new member
223 deps.need_preprocessor_output.
224 * files.c (open_file_failed): If preprocessor output is needed
225 always report an error.
226
933608b7
KT
2272009-09-13 Kai Tietz <kai.tietz@onevision.com>
228
229 * configure.ac: Set for i?86-w64-mingw*
230 need_64bit_hwint to yes.
231 * configure: Regenerated.
232
86373e7e
JM
2332009-09-10 Jason Merrill <jason@redhat.com>
234
235 * directives.c (cpp_define): constify.
236
fd2ab214
ILT
2372009-09-02 Ian Lance Taylor <iant@google.com>
238
239 * macro.c (stringify_arg): Escape CPP_WCHAR tokens.
240
df58e648
RW
2412009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
242
243 * configure.ac (AC_PREREQ): Bump to 2.64.
244
5213506e
RW
2452009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
246
247 * aclocal.m4: Regenerate.
248 * config.in: Regenerate.
249 * configure: Regenerate.
250
709a22df
TT
2512009-08-17 Tom Tromey <tromey@redhat.com>
252
253 PR preprocessor/41067:
254 * charset.c (convert_escape): Add missing ":" to error text.
255
0c539b47
DR
2562009-07-27 Douglas B Rupp <rupp@gnat.com>
257
258 * include/cpplib.h (INO_T_CPP): New macro.
259 (struct cpp_dir): Use it.
260
2b69c841
JQ
2612009-07-20 Jerry Quinn <jlquinn@optonline.net>
262
263 PR regression/40800
264 * configure.ac: Use = instead of == for testing
265 ENABLE_BUILD_WITH_CXX.
266 * configure: Rebuild.
267
f1bf410c
JQ
2682009-07-17 Jerry Quinn <jlquinn@optonline.net>
269
270 * directives.c (do_linemarker, do_line): Use CPP_STRING for
271 ignored enum value.
272 * files.c (find_file_in_dir): Add cast from void* to char*.
273 * symtab.c (ht_lookup_with_hash): Add cast from void* to char*.
274 * Makefile.in: (WARN_CFLAGS): Use general and C-specific
275 warnings.
276 (CXX, CXXFLAGS, WARN_CXXFLAGS, ALL_CXXFLAGS,
277 ENABLE_BUILD_WITH_CXX, CCDEPMODE, CXXDEPMODE, COMPILER,
278 COMPILER_FLAGS): New.
279 (DEPMODE): Set from CCDEPMODE or CXXDEPMODE.
280 (COMPILE.base): Use COMPILER instead of CC. Use COMPILER_FLAGS
281 instead of ALL_CFLAGS.
282 * configure.ac: Invoke AC_PROG_CXX. Separate C-specific warnings
283 from other warnings. Add -Wc++-compat to C-specific warnings.
284 Check for --enable-build-with-cxx. Set and substitute
285 ENABLE_BUILD_WITH_CXX. Invoke ZW_PROG_COMPILER_DEPENDENCIES
286 according to ENABLE_BUILD_WITH_CXX. Invoke AC_LANG before
287 AC_CHECK_HEADERS.
288 * configure: Rebuild.
289 * include/cpp-id-data.h: Remove extern "C".
290 * include/line-map.h: Likewise.
291 * include/mkdeps.h: Likewise.
292 * include/symtab.h: Likewise.
293 * internal.h: Likewise.
294
a28fbdba
MLI
2952009-06-23 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
296
297 * directives.c (parse_include): Add location argument. Update all
298 calls.
299 (parse_answer): Likewise.
300 (do_include_common): Error with exact location.
301 (parse_assertion): Likewise.
302
b506a5a2
MLI
3032009-06-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
304
305 * expr.c (num_div_op): Take explicit location.
306
7d8847a4
ILT
3072009-06-17 Ian Lance Taylor <iant@google.com>
308
309 * include/cpplib.h (progname): Don't declare.
310
3d8b2a98
ILT
3112009-06-12 Ian Lance Taylor <iant@google.com>
312
313 * include/cpplib.h (struct cpp_options): Add
314 warn_cxx_operator_names field.
315 (NODE_WARN_OPERATOR): Define.
316 (struct cpp_hashnode): Increase flags field to 10 bits, decrease
317 type to 6 bits.
318 * init.c (mark_named_operators): Add flags parameter.
319 (cpp_post_options): Pick flags value to pass to
320 mark_named_operators.
321 * lex.c (lex_identifier): If NODE_WARN_OPERATOR is set, warn that
322 identifier is an operator name in C++.
323
e74fe492
AH
3242009-06-01 Aldy Hernandez <aldyh@redhat.com>
325
326 * include/line-map.h (LAST_SOURCE_COLUMN): New.
327
4851089f
ILT
3282009-06-01 Ian Lance Taylor <iant@google.com>
329
330 * include/cpp-id-data.h: Add extern "C".
331 * include/line-map.h: Likewise.
332 * include/mkdeps.h: Likewise.
333 * include/symtab.h: Likewise.
334 * internal.h: Likewise.
335
7e5487a2
ILT
3362009-05-15 Ian Lance Taylor <iant@google.com>
337
338 * include/cpplib.h (enum cpp_builtin_type): Rename from enum
339 builtin_type. Change all uses.
340
00b0c19b
MLI
3412009-05-14 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
342
343 PR cpp/36674
344 * directives (do_linemarker): Compensate for the increment in
345 location that occurs when we reach the end of line.
346 * files (_cpp_stack_include): Mention _cpp_find_file in the
347 comment.
348
9a0c6187
JM
3492009-05-10 Joseph Myers <joseph@codesourcery.com>
350
351 * include/cpplib.h (enum cpp_token_fld_kind): Add
352 CPP_TOKEN_FLD_TOKEN_NO.
353 (struct cpp_macro_arg, struct cpp_identifier): Define.
354 (union cpp_token_u): Use struct cpp_identifier for identifiers.
355 Use struct cpp_macro_arg for macro arguments. Add token_no for
356 CPP_PASTE token numbers.
357 * directives.c (_cpp_handle_directive, lex_macro_node, do_pragma,
358 do_pragma_poison, parse_assertion): Use val.node.node in place of
359 val.node.
360 * expr.c (parse_defined, eval_token): Use val.node.node in place
361 of val.node.
362 * lex.c (cpp_ideq, _cpp_lex_direct, cpp_token_len,
363 cpp_spell_token, cpp_output_token, _cpp_equiv_tokens,
364 cpp_token_val_index): Use val.macro_arg.arg_no or val.token_no in
365 place of val.arg_no. Use val.node.node in place of val.node.
366 * macro.c (replace_args, cpp_get_token, parse_params,
367 lex_expansion_token, create_iso_definition, cpp_macro_definition):
368 Use val.macro_arg.arg_no or val.token_no in place of val.arg_no.
369 Use val.node.node in place of val.node.
370
9e322bc1
JM
3712009-05-03 Joseph Myers <joseph@codesourcery.com>
372
373 * charset.c (one_utf8_to_cppchar): Correct mask used for 5-byte
374 UTF-8 sequences.
375
f88d0772
JM
3762009-04-25 Joseph Myers <joseph@codesourcery.com>
377
378 PR preprocessor/39559
379 * expr.c (cpp_interpret_integer): Use a pedwarn for decimal
380 constants larger than intmax_t in C99 mode.
381
d1b38208
TG
3822009-04-21 Taras Glek <tglek@mozilla.com>
383
384 * include/cpp-id-data.h: Update GTY annotations to new syntax.
385 * include/cpplib.h: Likewise.
386 * include/line-map.h: Likewise.
387 * include/symtab.h: Likewise.
388
cfc93532
MLI
3892009-04-22 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
390
391 PR c++/14875
392 * lex.c (cpp_type2name): Take a flags parameter. Call
393 cpp_named_operator2name for named operators and cpp_digraph2name
394 for digraphs.
395 (cpp_digraph2name): New.
396 (cpp_spell_token): Use it.
397 (cpp_output_token): Likewise.
398 * include/cpplib.h (cpp_type2name): Update declaration.
399 * init.c (cpp_named_operator2name): New.
400 * internal.h (cpp_named_operator2name): Declare.
401
9c650d90
MLI
4022009-04-21 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
403
404 PR c++/13358
405 * init.c (cpp_create_reader): Wlong_long is disabled by default.
406 * expr.c (cpp_classify_number): Give different messages for C and
407 C++ front-ends.
408
aa508502
JM
4092009-04-19 Joseph Myers <joseph@codesourcery.com>
410
411 PR preprocessor/20078
412 * include/cpp-id-data.h (struct cpp_macro): Add extra_tokens
413 field.
414 * include/cpplib.h (SP_DIGRAPH, SP_PREV_WHITE): Define.
415 (struct cpp_token): Change flags to unsigned short.
416 * lex.c (_cpp_lex_direct): Initialize arg_no for CPP_PASTE tokens.
417 (_cpp_equiv_tokens): Check arg_no for CPP_PASTE tokens.
418 (cpp_token_val_index): Return CPP_TOKEN_FLD_ARG_NO for CPP_PASTE
419 tokens.
420 * macro.c (macro_real_token_count): New.
421 (enter_macro_context, replace_args): Use macro_real_token_count.
422 (create_iso_definition): Record whitespace surrounding and digraph
423 spelling of # and ## tokens using SP_PREV_WHITE and SP_DIGRAPH.
424 Set extra_tokens and save CPP_PASTE tokens with arg_no set for
425 multiple consecutive ## tokens.
426 (_cpp_create_definition): Initialize extra_tokens.
427 (cpp_macro_definition): Use macro_real_token_count.
428
61cc8223
JM
4292009-04-18 Joseph Myers <joseph@codesourcery.com>
430
431 * directives.c (parse_include): Pass true to check_eol.
432
c7f9c0b9
JM
4332009-04-18 Joseph Myers <joseph@codesourcery.com>
434
435 PR preprocessor/39646
436 * include/line-map.h (enum lc_reason): Add LC_RENAME_VERBATIM.
437 * line-map.c (linemap_add): Handle LC_RENAME_VERBATIM.
438 * directives.c (do_line, do_linemarker): Use LC_RENAME_VERBATIM in
439 place of LC_RENAME.
440
a5cb563b
JM
4412009-04-18 Joseph Myers <joseph@codesourcery.com>
442
443 PR preprocessor/39647
444 * directives.c (check_eol): Add parameter expand.
445 (do_undef, parse_include, do_line, do_linemarker, do_ident,
446 do_pragma_once, do_pragma_system_header, do_ifdef, do_ifndef,
447 do_else, do_endif, do_assert, do_unassert): All callers changed.
448 Pass true from do_line, false elsewhere.
449
18f41a1b
JM
4502009-04-12 Joseph Myers <joseph@codesourcery.com>
451
452 PR preprocessor/31869
453 * macro.c (stringify_arg): Handle NULL source token in padding
454 token where previous padding token did not have source token with
455 preceding whitespace.
456
748086b7
JJ
4572009-04-09 Jakub Jelinek <jakub@redhat.com>
458
459 * Makefile.in: Change copyright header to refer to version
460 3 of the GNU General Public License and to point readers at the
461 COPYING3 file and the FSF's license web page.
462 * charset.c: Likewise.
463 * directives-only.c: Likewise.
464 * directives.c: Likewise.
465 * errors.c: Likewise.
466 * expr.c: Likewise.
467 * files.c: Likewise.
468 * identifiers.c: Likewise.
469 * include/cpp-id-data.h: Likewise.
470 * include/cpplib.h: Likewise.
471 * include/line-map.h: Likewise.
472 * include/mkdeps.h: Likewise.
473 * include/symtab.h: Likewise.
474 * init.c: Likewise.
475 * internal.h: Likewise.
476 * lex.c: Likewise.
477 * line-map.c: Likewise.
478 * macro.c: Likewise.
479 * makeucnid.c: Likewise.
480 * mkdeps.c: Likewise.
481 * pch.c: Likewise.
482 * symtab.c: Likewise.
483 * system.h: Likewise.
484 * traditional.c: Likewise.
485 * ucnid.tab: Likewise.
486 * ucnid.h: Regenerate.
487
eec49116
JJ
4882009-04-01 Janis Johnson <janis187@us.ibm.com>
489
839a3b8a
JJ
490 PR c/39027
491 * include/cpplib.h (CPP_N_DEFAULT): Define.
492 * expr.c (interpret_float_suffix): Recognize d or D for double,
493 return new value for default.
494 (cpp_classify_number): Issue pedwarn for use of d or D in suffix.
495
eec49116
JJ
496 PR c/33466
497 * expr.c (interpret_float_suffix): Reject invalid suffix that uses
498 letters from decimal float and fixed-point suffixes.
499
47580d22
JM
5002009-03-31 Joseph Myers <joseph@codesourcery.com>
501
502 PR preprocessor/15638
503 * files.c (_cpp_find_file): Call open_file_failed after diagnosing
504 invalid PCH.
505 (open_file_failed): Make error for missing file fatal.
506 * include/cpplib.h (CPP_DL_FATAL): Define.
507
5a2df0fa
SV
5082009-03-30 Sergiy Vyshnevetskiy <serg@vostok.net>
509
510 PR preprocessor/31932:
511 * internal.h: Don't mention HAVE_ICONV_H.
512 * configure, config.in: Rebuild.
513 * configure.ac: Don't check for iconv.h.
514
c1a8a3c6
TT
5152009-03-30 Tom Tromey <tromey@redhat.com>
516
517 PR preprocessor/39512:
518 * line-map.c (linemap_init): Initialize 'reallocator' field.
519
a37a7b8a
JJ
5202009-03-30 Jakub Jelinek <jakub@redhat.com>
521
522 PR target/39558
523 * macro.c (cpp_get_token): If macro_to_expand returns NULL
524 and used some tokens, add CPP_PADDING before next token.
525
148e4216
JM
5262009-03-29 Joseph Myers <joseph@codesourcery.com>
527
528 PR preprocessor/34695
529 * makedepend.c: Remove.
530 * Makefile.in (makedepend_OBJS, makedepend$(EXEEXT)): Remove.
531 (all, clean, TAGS_SOURCES, include): Remove makedepend handling.
532 * directives.c (cpp_errors): Remove.
533 * errors.c (print_location, _cpp_begin_message, v_message):
534 Remove.
535 (cpp_error, cpp_error_with_line): Always use error callback.
536 (cpp_error, cpp_error_with_line, cpp_errno): Return bool.
537 * include/cpplib.h (cpp_options): Remove pedantic_errors,
538 inhibit_warnings, warn_system_headers, inhibit_errors,
539 warnings_are_errors, client_diagnostic.
540 (cpp_callbacks): Add extra arguments to error callback; make it
541 return bool.
542 (cpp_finish): Return void.
543 (cpp_destroy): Remove inaccurate comment about return value.
544 (cpp_errors, CPP_DL_EXTRACT, CPP_DL_WARNING_P): Remove.
545 (CPP_DL_NOTE): Define.
546 * include/line-map.h (linemap_print_containing_files): Remove.
547 * init.c (cpp_finish): Do not check for or return number of
548 errors.
549 * internal.h (cpp_reader): Remove errors field.
550 * line-map.c (linemap_print_containing_files): Remove.
551 * macro.c (_cpp_create_definition): Use CPP_DL_NOTE for message
552 about previous definition. Only emit it if previous diagnostic
553 was emitted.
554
f1450211
JM
5552009-03-28 Joseph Myers <joseph@codesourcery.com>
556
557 * Makefile.in (po/$(PACKAGE).pot): Use $(mkinstalldirs) not
558 mkinstalldirs.
559
8f5929e1
JJ
5602009-03-18 Jakub Jelinek <jakub@redhat.com>
561
562 * include/cpplib.h (struct cpp_dir): Reorder fields for 64-bit hosts.
563
4bb09c26
JM
5642009-02-21 Joseph Myers <joseph@codesourcery.com>
565
566 * lex.c (lex_string): Return a CPP_LESS token for missing '>' in a
567 header name.
568 (_cpp_lex_direct): Handle this.
569
68c9ab45
RG
5702009-02-15 Richard Guenther <rguenther@suse.de>
571
572 Revert last change.
573
601b3e1a
RG
5742009-02-13 Richard Guenther <rguenther@suse.de>
575
576 * configure.ac: Enable LFS.
577 * configure: Re-generate.
578 * config.in: Likewise.
579
fc0cd180
BE
5802009-01-05 Ben Elliston <bje@au.ibm.com>
581
582 * Makefile.in (.po.gmo): Use mkinstalldirs, not test -d || mkdir.
583 (.po.pox): Likewise.
584 (po/$(PACKAGE).pot): Likewise.
585
db89a3be
AO
5862008-12-10 Alexandre Oliva <aoliva@redhat.com>
587
588 PR target/37033
589 * pch.c (cpp_valid_state): Improve message for poisoned symbols.
590 Allow for differences in __GCC_HAVE_DWARF2_CFI_ASM.
591
cc955282
JM
5922008-11-29 Joseph Myers <joseph@codesourcery.com>
593
594 * lex.c (cpp_token_len): Use 6 as default length.
595
47960aaf
MLI
5962008-10-31 Manuel López-Ibáñez <manu@gcc.gnu.org>
597
598 * expr.c (struct op): Add location.
599 (_cpp_parse_expr): Propagate locations throught the stack
600 of expressions.
601 (reduce): Likewise.
602 (check_promotion): Use explicit location in errors.
603
631d0d36
MG
6042008-10-05 Matthew Gingell <gingell@adacore.com>
605 Arnaud Charlet <charlet@adacore.com>
606
607 * include/cpplib.h (cpp_comments, cpp_comment_table): New structs.
608 (cpp_get_comments): New function.
609 * internal.h (struct cpp_reader): Add comments field.
610 * init.c (cpp_destroy): Free comments.
611 * lex.c (store_comment, cpp_get_comments): New functions.
612 (comments): New struct.
613 (save_comment): Store comments in comments struct.
614
c047ce93
SB
6152008-09-18 Simon Baldwin <simonb@google.com>
616
617 * include/cpplib.h (struct cpp_options): Add new boolean flag
618 warn_builtin_macro_redefined.
619 * init.c (cpp_create_reader): Initialize warn_builtin_macro_redefined.
620 * (struct builtin_operator): Split out from previous struct builtin,
621 enhance extra const correctness.
622 * (struct builtin_macro): Split out from previous struct builtin, add
623 new always_warn_if_redefined flag, enhance const correctness.
624 * (mark_named_operators): Use struct builtin_operator.
625 * (cpp_init_special_builtins): Use struct builtin_macro, add NODE_WARN
626 to builtins selectively.
627 * macro.c (warn_of_redefinition): Return false if a builtin macro
628 is not flagged with NODE_WARN.
629
affa55c6
JJ
6302008-07-31 Jakub Jelinek <jakub@redhat.com>
631
632 PR preprocessor/36649
633 * files.c (struct report_missing_guard_data): New type.
634 (report_missing_guard): Put paths into an array instead of printing
635 them right away. Return 1 rather than 0.
636 (report_missing_guard_cmp): New function.
637 (_cpp_report_missing_guards): Sort and print paths gathered by
638 report_missing_guard callback.
639
3b8f20a1
MLI
6402008-07-22 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
641
642 PR 28079
643 * directives.c (strtolinenum): Handle overflow.
644 (do_line): Give a warning if line number overflowed.
645 (do_linemarker): Update call to strtolinenum.
646
1bb64668
MLI
6472008-07-21 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
648
649 * include/line-map.h (linenum_type): New typedef.
650 (struct line_map): Use it.
651 (SOURCE_LINE): Second arguments is a LOCATION not a LINE.
652 (SOURCE_COLUMN): Likewise.
653 * macro.c (_cpp_builtin_macro_text): Use linenum_type. Don't store
654 source_location values in a variable of type linenum_type.
655 * directives.c (struct if_stack): Use linenum_type.
656 (strtoul_for_line): Rename as strtolinenum.
657 (do_line): Use linenum_type.
658 (do_linemarker): Use linenum_type and strtolinenum.
659 (_cpp_do_file_change): Use linenum_t.
660 * line-map.c (linemap_add): Likewise.
661 (linemap_line_start): Likewise.
662 * traditional.c (struct fun_macro): 'line' is a source_location.
663 * errors.c (print_location): Use linenum_type.
664 * directives-only.c (_cpp_preprocess_dir_only): Likewise.
665 * internal.h (CPP_INCREMENT_LINE): Likewise.
666 * lex.c (_cpp_skip_block_comment): Use source_location.
667
5950c3c9
BE
6682008-07-14 Ben Elliston <bje@au.ibm.com>
669
670 * include/cpplib.h (NODE_CONDITIONAL): New.
671 (struct cpp_callbacks): New macro_to_expand field.
672 (struct cpp_hashnode): Adjust size of flags and type fields.
673 (cpp_peek_token): Prototype.
674 * lex.c (cpp_peek_token): New function.
675 (_cpp_temp_token): Protect pre-existing lookaheads.
676 * macro.c (cpp_get_token): Expand any conditional macros.
677 (_cpp_backup_tokens_direct): New.
678 (_cpp_backup_tokens): Call _cpp_backup_tokens_direct.
679 (warn_of_redefinition): Silently allow redefined conditional
680 macros.
681 (_cpp_create_definition): Remove the conditional flag when a user
682 defines one of the conditional macros.
683 * internal.h (_cpp_backup_tokens_direct): New prototype.
684
e85edc9e
AH
6852008-06-13 Andrew Haley <aph@redhat.com>
686
687 PR preprocessor/33305
688 * macro.c (replace_args): Print a warning for empty macro
689 arguments in C89 and C++.
690
18c04407
RW
6912008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
692
693 * Makefile.in ($(srcdir)/aclocal.m4): Update dependencies.
694 * configure: Regenerate.
695
2d09b640
RW
6962008-06-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
697
698 * Makefile.in (datarootdir): New variable.
699
0b7c73cc
L
7002008-06-12 H.J. Lu <hongjiu.lu@intel.com>
701
702 PR preprocessor/36479
703 * charset.c (cpp_interpret_string_notranslate): Also set
704 narrow_cset_desc.width.
705
cd985f66
JM
7062008-06-07 Joseph Myers <joseph@codesourcery.com>
707
708 * configure.ac (parisc*64*-*-*): Remove.
709 * configure: Regenerate.
710
d750887f
TT
7112008-05-30 Tom Tromey <tromey@redhat.com>
712
713 PR preprocessor/36320:
714 * internal.h (_cpp_parse_expr): Update.
715 * expr.c (_cpp_parse_expr): Add 'is_if' argument. Update error
716 messages.
717 * directives.c (do_if): Update.
718 (do_elif): Require expression if processing group.
719
c100de59
DS
7202008-05-30 Danny Smith <dannysmith@users.sourceforge.net>
721
722 * include/cpplib.h (struct cpp_dir): Add new field, canonical_name.
723
5d6342eb
TT
7242008-05-21 Tom Tromey <tromey@redhat.com>
725
726 PR preprocessor/27777:
727 * lex.c (cpp_output_line_to_string): New function.
728 * internal.h (_cpp_begin_message): Don't declare.
729 * errors.c (_cpp_begin_message): Now static.
730 * include/cpplib.h (cpp_output_line_to_string): Declare.
731 * directives.c (do_diagnostic): Rewrote. Use
732 cpp_output_line_to_string. Don't use _cpp_begin_message.
733
dae4174e
TT
7342008-05-21 Tom Tromey <tromey@redhat.com>
735
736 * include/symtab.h (HT_ALLOCED): Remove.
737 (ht_purge): Declare.
738 * symtab.c (DELETED): New define.
739 (ht_lookup): Update comment.
740 (ht_lookup_with_hash): Handle deleted entries. Remove HT_ALLOCED
741 code. Use subobject allocator for strings, if it exists.
742 (ht_expand): Handle deleted entries.
743 (ht_forall): Likewise.
744 (ht_purge): New function.
745 (ht_dump_statistics): Print deletion statistics.
746
899015a0
TT
7472008-05-13 Tom Tromey <tromey@redhat.com>
748
749 PR preprocessor/22168:
750 * include/cpplib.h (struct cpp_options) <objc>: Update
751 documentation.
752 * expr.c (eval_token): Warn for use of assertions.
753 * directives.c (directive_diagnostics): Warn about extensions.
754 (DEPRECATED): New define.
755 (DIRECTIVE_TABLE): Use it.
756
71c10038
TT
7572008-05-06 Tom Tromey <tromey@redhat.com>
758
759 PR preprocessor/35313, PR preprocessor/36088:
760 * expr.c (optab) <QUERY, COMMA>: Set precedence to 4.
761 (reduce) <case CPP_QUERY>: Special case CPP_COMMA and CPP_COLON.
762
2bd0fe3d
DM
7632008-05-04 David S. Miller <davem@davemloft.net>
764
765 * configure.ac (sparc*-*-*): Always set need_64bit_hwint to yes.
766 * configure: Regenerate.
767
28f68625
DF
7682008-04-22 Daniel Franke <franke.daniel@gmail.com>
769
770 * include/cpplib.h (cpp_define_formatted): New.
771 * directives.c (cpp_define_formatted): New.
772
688e7a53
TT
7732008-04-21 Tom Tromey <tromey@redhat.com>
774
775 PR libcpp/33415:
776 * charset.c (_cpp_convert_input): Add buffer_start argument.
777 Ignore UTF-8 BOM if seen.
778 * internal.h (_cpp_convert_input): Add argument.
779 * files.c (struct _cpp_file) <buffer_start>: New field.
780 (destroy_cpp_file): Free buffer_start, not buffer.
781 (_cpp_pop_file_buffer): Likewise.
782 (read_file_guts): Update.
783
b6baa67d
KVH
7842008-04-18 Kris Van Hees <kris.van.hees@oracle.com>
785
786 * include/cpp-id-data.h (UC): Was U, conflicts with U"..." literal.
787 * include/cpplib.h (CHAR16, CHAR32, STRING16, STRING32): New tokens.
788 (struct cpp_options): Added uliterals.
789 (cpp_interpret_string): Update prototype.
790 (cpp_interpret_string_notranslate): Idem.
791 * charset.c (init_iconv_desc): New width member in cset_converter.
792 (cpp_init_iconv): Add support for char{16,32}_cset_desc.
793 (convert_ucn): Idem.
794 (emit_numeric_escape): Idem.
795 (convert_hex): Idem.
796 (convert_oct): Idem.
797 (convert_escape): Idem.
798 (converter_for_type): New function.
799 (cpp_interpret_string): Use converter_for_type, support u and U prefix.
800 (cpp_interpret_string_notranslate): Match changed prototype.
801 (wide_str_to_charconst): Use converter_for_type.
802 (cpp_interpret_charconst): Add support for CPP_CHAR{16,32}.
803 * directives.c (linemarker_dir): Macro U changed to UC.
804 (parse_include): Idem.
805 (register_pragma_1): Idem.
806 (restore_registered_pragmas): Idem.
807 (get__Pragma_string): Support CPP_STRING{16,32}.
808 * expr.c (eval_token): Support CPP_CHAR{16,32}.
809 * init.c (struct lang_flags): Added uliterals.
810 (lang_defaults): Idem.
811 * internal.h (struct cset_converter) <width>: New field.
812 (struct cpp_reader) <char16_cset_desc>: Idem.
813 (struct cpp_reader) <char32_cset_desc>: Idem.
814 * lex.c (digraph_spellings): Macro U changed to UC.
815 (OP, TK): Idem.
816 (lex_string): Add support for u'...', U'...', u"..." and U"...".
817 (_cpp_lex_direct): Idem.
818 * macro.c (_cpp_builtin_macro_text): Macro U changed to UC.
819 (stringify_arg): Support CPP_CHAR{16,32} and CPP_STRING{16,32}.
820
deb984e6
PB
8212008-04-18 Paolo Bonzini <bonzini@gnu.org>
822
823 PR bootstrap/35457
824 * aclocal.m4: Regenerate.
825 * configure: Regenerate.
826
bf048bea
TT
8272008-04-17 Tom Tromey <tromey@redhat.com>
828
829 PR libcpp/34866:
830 * errors.c (cpp_error): Don't reference a token before the start
831 of the current run.
832
7f27b0f8
TT
8332008-04-16 Tom Tromey <tromey@redhat.com>
834
835 * Makefile.in (TAGS_SOURCES): New variable.
836 (TAGS): New target.
837
a1fcb9a1
KK
8382008-04-11 Kaz Kojima <kkojima@gcc.gnu.org>
839
840 * configure.ac: (need_64bit_hwint): Need 64bit hwint for sh-*-*
841 and shbe-*-*.
842 * configure: Rebuilt.
843
93d45d9e
JM
8442008-04-02 Joseph Myers <joseph@codesourcery.com>
845
846 * include/cpplib.h (struct cpp_callbacks): Add used_define,
847 used_undef and before_define.
848 (NODE_USED): Define.
849 * directives.c (do_define, do_undef, undefine_macros, do_ifdef,
850 do_ifndef, cpp_pop_definition): Handle new flag and use new
851 callbacks.
852 * expr.c (parse_defined): Handle new flag and use new callbacks.
853 * macro.c (enter_macro_context, _cpp_free_definition): Handle new
854 flag and use new callbacks.
855
d4c32e1d
JJ
8562008-04-01 Jakub Jelinek <jakub@redhat.com>
857
858 PR pch/13675
859 * files.c (struct _cpp_file): Remove pch field.
860 (pch_open_file): Don't set file->pch, just file->pchname.
861 (should_stack_file): After pfile->cb.read_pch call
862 free pchname and clear pchname, don't close file->fd.
863 Test file->pchname instead of file->pch. Don't close fd after cb.
864 (_cpp_stack_include): Test file->pchname instead of file->pch.
865
161031e3
TT
8662008-03-28 Tom Tromey <tromey@redhat.com>
867
868 * Makefile.in (POSTCOMPILE): New variable.
869 (.c.o): Use it.
870
14ccf800
TT
8712008-03-13 Tom Tromey <tromey@redhat.com>
872
873 PR libcpp/35322:
874 * directives.c (destringize_and_run): Set pfile->directive.
875
830465c6
MM
8762008-03-06 Markus Milleder <markus.milleder@generali.at>
877
878 PR preprocessor/35458
879 * mkdeps.c (munge): Quote '#' with a '\'.
880
d482a073
RW
8812008-02-27 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
882
883 PR preprocessor/35379
884 * mkdeps.c (deps_write): Ensure the first target always appears
885 in the first column, without leading backslash newline. Avoid
886 some more extra whitespace.
887
185a6cc1
TS
8882008-02-25 Thiemo Seufer <ths@mips.com>
889
d482a073 890 * Makefile.in ($(srcdir)/config.in): Depend on configure.ac.
185a6cc1 891
2bf41bf0
TT
8922008-02-19 Tom Tromey <tromey@redhat.com>
893
894 * traditional.c (lex_identifier): Use CPP_HASHNODE.
895 * lex.c (lex_identifier): Use CPP_HASHNODE.
896 * include/line-map.h (LINEMAP_POSITION_FOR_COLUMN): Wrap in
897 do-while.
898 * identifiers.c (alloc_node): Change return type.
899 (_cpp_init_hashtable): Don't cast 'alloc_node'.
900 (proxy_assertion_broken): New declaration.
901 (cpp_forall_identifiers): Move comment.
902 * line-map.c (linemap_add): Comment fix.
903 (linemap_line_start): Indentation fix.
904
765d600a
JJ
9052008-01-25 Jakub Jelinek <jakub@redhat.com>
906
907 PR preprocessor/34692
908 * macro.c (collect_args): Add pragma_buff argument. Push
909 CPP_PRAGMA ... CPP_PRAGMA_EOL tokens to *pragma_buff, rather
910 than into arguments. Reset prevent_expansion and parsing_args
911 state at CPP_PRAGMA_EOL/CPP_EOF.
912 (funlike_invocation_p): Add pragma_buff argument, pass it through
913 to collect_args.
914 (enter_macro_context): Add result argument. Adjust
915 funlike_invocation_p caller. Emit all deferred pragma tokens
916 gathered during collect_args before the expansion, add a padding
917 token. Return 2 instead of 1 if any pragma tokens were prepended.
918 (cpp_get_token): If enter_macro_context returns 2, don't return
919 a padding token, instead cycle to grab CPP_PRAGMA token.
920 * directives.c (_cpp_handle_directive): If was_parsing_args
921 in deferred pragma, leave parsing_args and prevent_expansion as is.
922
ec46053b
TT
9232008-01-22 Tom Tromey <tromey@redhat.com>
924
765d600a 925 PR c++/34859
ec46053b
TT
926 * macro.c (_cpp_create_definition): Handle __STDC_LIMIT_MACROS and
927 __STDC_CONSTANT_MACROS.
928
681c6ab0
FF
9292008-01-07 Fred Fish <fnf@specifix.com>
930
765d600a 931 PR preprocessor/30363
681c6ab0
FF
932 * traditional.c (replace_args_and_push): Add local variable
933 cxtquote, calculate the replacement text size assuming a
934 worst case of every input character quoted with backslash,
935 and properly handle output quoting of quote characters in
936 actual arguments used in function-like macros.
937
33ae4837
TT
9382008-01-03 Tom Tromey <tromey@redhat.com>
939
765d600a 940 PR preprocessor/34602
33ae4837
TT
941 * directives.c (do_line): Don't try to spell EOF token.
942 (do_linemarker): Add comment.
943
675575f5
DD
9442007-12-11 DJ Delorie <dj@redhat.com>
945
946 * charset.c (convert_using_iconv): Close out any shift states,
947 returning to the initial state.
948
97f6bd40
TT
9492007-12-06 Tom Tromey <tromey@redhat.com>
950
765d600a 951 PR c/29172
97f6bd40
TT
952 * internal.h (struct cpp_reader) <file_hash_entries>: Changed
953 type.
954 <file_hash_entries_allocated, file_hash_entries_used>: Removed.
955 * files.c (FILE_HASH_POOL_SIZE): New macro.
956 (struct file_hash_entry_pool): New.
957 (destroy_all_cpp_files): New function.
958 (allocate_file_hash_entries): Allocate a file_hash_entry_pool.
959 (new_file_hash_entry): Update.
960 (free_file_hash_entries): New function.
961 (_cpp_cleanup_files): Call free_file_hash_entries and
962 destroy_all_cpp_files.
963 (cpp_clear_file_cache): New function.
964 * include/cpplib.h (cpp_clear_file_cache): Declare.
965
d56a25e1
TT
9662007-12-03 Tom Tromey <tromey@redhat.com>
967
765d600a 968 PR preprocessor/34288
d56a25e1
TT
969 * configure.ac, config.in: Rebuilt.
970 * configure.ac: Check for ssize_t.
971
607f74e9
TT
9722007-11-30 Tom Tromey <tromey@redhat.com>
973
765d600a 974 PR preprocessor/32868
607f74e9
TT
975 * macro.c (_cpp_create_definition): Special case
976 __STDC_FORMAT_MACROS.
977
b0f4807f
MM
9782007-11-16 Michael Matz <matz@suse.de>
979
980 * files.c (search_path_head): Fix check for absolute paths.
981
f1e20710
TT
9822007-11-11 Tom Tromey <tromey@redhat.com>
983
765d600a 984 PR c++/17557
f1e20710
TT
985 * include/cpplib.h (cpp_included_before): Declare.
986 * files.c (struct file_hash_entry) <location>: New field.
987 (_cpp_find_file): Initialize new field.
988 (make_cpp_dir): Likewise.
989 (cpp_included_before): New function.
990
f373b44d
TT
9912007-11-01 Tom Tromey <tromey@redhat.com>
992
765d600a 993 PR preprocessor/30805
f373b44d
TT
994 * macro.c (paste_tokens): Handle padding token.
995 (paste_tokens): Don't abort unless padding has PASTE_LEFT flag.
996
5b9a40df
TT
9972007-10-31 Tom Tromey <tromey@redhat.com>
998
765d600a 999 PR preprocessor/30786
5b9a40df
TT
1000 * macro.c (builtin_macro): Return result of _cpp_do__Pragma.
1001 * directives.c (_cpp_do__Pragma): Return error status.
1002 * internal.h (_cpp_do__Pragma): Update.
1003 * directives.c (get__Pragma_string): Back up if EOF seen.
1004
5ffeb913
TT
10052007-09-06 Tom Tromey <tromey@redhat.com>
1006
1007 * internal.h (struct cpp_reader) <invocation_location>: New
1008 field.
1009 (struct cpp_reader) <set_invocation_location>: Likewise.
1010 * init.c (cpp_set_line_map): New function.
1011 * line-map.c (linemap_add): Use linemap's allocator.
1012 * include/line-map.h (GTY): Define.
1013 (line_map_realloc): New typedef.
1014 (struct line_map): Mark with GTY.
1015 (struct line_maps): Likewise.
1016 (struct line_maps) <maps>: Likewise.
1017 (struct line_maps) <reallocator>: New field.
1018 * include/symtab.h (GTY): Conditionally define.
1019 * include/cpplib.h (cpp_set_line_map): Declare.
1020 (cpp_get_token_with_location): Declare.
1021 * macro.c (cpp_get_token): Set invocation_location on the reader.
1022 (cpp_get_token_with_location): New function.
1023
ac6b1c67
CF
10242007-08-30 Chao-ying Fu <fu@mips.com>
1025
1026 * expr.c (interpret_float_suffix): Support hr, r, lr, llr, uhr, ur,
1027 ulr, ullr, hk, k, lk, llk, uhk, uk, ulk, ullk.
1028 (cpp_classify_number): Support decimal fixed-point constants without
1029 exponents.
1030 Warn about fixed-point constants when -pedantic.
1031 * include/cpplib.h (CPP_N_SMALL, CPP_N_MEDIUM, CPP_N_LARGE): Change
1032 comments to support fixed-point values.
1033 (CPP_N_FRACT, CPP_N_ACCUM): Define.
1034
cda5e672
TT
10352007-08-18 Tom Tromey <tromey@redhat.com>
1036
765d600a 1037 PR preprocessor/32974
cda5e672
TT
1038 * directives.c (parse_include): Don't check for EOL when
1039 processing #pragma dependency.
1040
ccfc4c91
OW
10412007-07-30 Ollie Wild <aaw@google.com>
1042
1043 * directives-only.c: New file.
1044 * internal.h (struct _cpp_dir_only_callbacks): New.
1045 (_cpp_preprocess_dir_only): New function.
1046 * directives.c (_cpp_handle_directive): Check directives_only before
1047 disabling execution of indented directives.
1048 * files.c (_cpp_stack_file): Add directives_only check.
1049 * include/cpplib.h (struct cpp_options): Add directives_only.
1050 (cpp_init_special_builtins): New function.
1051 * init.c (cpp_init_special_builtins): New function.
1052 (cpp_init_builtins): Move builtin_array initialization to
1053 cpp_init_special_builtins.
1054 (post_options): Check directives_only before setting
1055 pfile->state.prevent_expansion = 1.
1056 * macro.c (_cpp_builtin_macro_text): Print an error if __COUNTER__
1057 is expanded inside a directive while -fdirectives-only is enabled.
1058 * Makefile.in (libcpp_a_OBJS): Add directives-only.o.
1059 (libcpp_a_SOURCES): Add directives-only.c.
1060
a206413a
UB
10612007-07-04 Uros Bizjak <ubizjak@gmail.com>
1062
1063 * traditional.c (_cpp_scan_out_logical_line): Initialize
1064 fmacro.args, fmacro.node, fmacro.offset, fmacro.line and
1065 fmacro.args to prevent 'may be used uninitialized' warning.
1066
c77cd3d1
UB
10672007-07-03 Uros Bizjak <ubizjak@gmail.com>
1068
1069 * include/cpplib.h (CPP_N_WIDTH_MD, CPP_N_MD_W, CPP_N_MD_Q):
1070 Add new constants.
1071 * expr.c (interpret_float_suffix): Process 'w', 'W', 'q' and 'Q'
1072 suffixes. Return CPP_N_MD_W for 'w' or 'W' suffixes and CPP_N_MD_Q
1073 for 'q' or 'Q' suffixes.
1074
66938a1d
DS
10752007-06-17 Danny Smith <dannysmith@users.sourceforge.net
1076
e1311401 1077 * files.c (open_file): Correct typo.
66938a1d 1078
71995ede
VP
10792007-06-16 Vladimir Prus <vladimir@codesourcery.com>
1080
e1311401 1081 * files.c (open_file): Prevent the call
71995ede
VP
1082 for stat from overwriting errno.
1083
84152c25
VP
10842007-06-09 Vladimir Prus <vladimir@codesourcery.com>
1085
e1311401 1086 * files.c (open_file): Account for the
84152c25
VP
1087 fact that on windows, opening a directory gives
1088 EACCES.
1089
f7fd775f
JW
10902007-06-05 Joerg Wunsch <j.gnu@uriah.heep.sax.de>
1091
1092 PR preprocessor/23479
1093 * expr.c (cpp_classify_number): Implement 0b-prefixed binary
1094 integer constants.
1095 (append_digit): Likewise.
1096 * include/cpplib.h: Add CPP_N_BINARY, to be used for 0b-prefixed
1097 binary integer constants.
1098
ed0e74e0
DK
10992007-05-31 Dave Korn <dave.korn@artimi.com>
1100
1101 PR preprocessor/14331
1102 * lex.c (_cpp_get_fresh_line): Don't warn if no newline at EOF.
1103
a702045a
OW
11042007-05-24 Ollie Wild <aaw@google.com>
1105
1106 * macro.c (_cpp_builtin_macro_text): Handle BT_COUNTER.
1107 * pch.c (cpp_write_pch_deps): Save __COUNTER__ state.
1108 (cpp_write_pch_state): Save __COUNTER__ state.
1109 (cpp_valid_state): Check valid __COUNTER__ state.
1110 (cpp_read_state): Read new __COUNTER__ state.
1111 * include/cpplib.h (enum builtin_type): Add BT_COUNTER enumerator.
1112 * init.c (builtin_array): Add __COUNTER__/BT_COUNTER.
1113 * internal.h (struct cpp_reader): Add counter member.
1114
126e073b
SM
11152007-05-23 Simon Martin <simartin@users.sourceforge.net>
1116
1117 PR preprocessor/20077
1118 * macro.c (create_iso_definition): Fixed the method to determine
1119 whether the token-pasting operator appears at the beginning or the end
1120 of a macro.
1121
0b4cafec
ILT
11222007-05-21 Ian Lance Taylor <iant@google.com>
1123
1124 * internal.h (struct cpp_reader): Add new fields:
1125 nonexistent_file_hash and nonexistent_file_ob.
1126 * files.c: Include "obstack.h".
1127 (find_file_in_dir): Before trying to open the file, look up the
1128 path name in the hash table of nonexistent files. After failing
1129 to open the file, add the path name to the hash table.
1130 (_cpp_find_file): Cache the results of looking up the file name
1131 starting with the quote and bracket chain heads, if we can.
1132 (nonexistent_file_hash_eq): New static function.
1133 (_cpp_init_files): Initialize pfile->nonexistent_file_hash and
1134 pfile->nonexistent_file_ob.
1135 (_cpp_cleanup_files): Free pfile->nonexistent_file_hash and
1136 pfile->nonexistent_file_ob.
1137
30e04921
JJ
11382007-05-14 Janis Johnson <janis187@us.ibm.com>
1139
5a6bb57e
JJ
1140 * expr.c (cpp_classify_number): Warn about dfp constant for -pedantic.
1141
30e04921
JJ
1142 PR c/31924
1143 * expr.c (interpret_float_suffix): Check for invalid suffix.
1144
22a8a52d
EC
11452007-05-02 Eric Christopher <echristo@apple.com>
1146
1147 * expr.c (num_div_op): Don't overflow if the result is
1148 zero.
1149
fca35e1b
TT
11502007-05-02 Tom Tromey <tromey@redhat.com>
1151
765d600a 1152 PR preprocessor/28709
fca35e1b
TT
1153 * macro.c (paste_tokens): Remove PASTE_LEFT from the old lhs.
1154
4cd97075
MM
11552007-03-30 Michael Meissner <michael.meissner@amd.com>
1156
1157 * directives.c (lex_macro_node_from_str): Fix alloca call to be
1158 type correct.
1159
121de39f
RH
11602007-03-30 Richard Henderson <rth@redhat.com>
1161
1162 * directives.c (lex_macro_node_from_str): New.
1163 (cpp_push_definition, cpp_pop_definition): New.
1164 * include/cpplib.h (cpp_push_definition, cpp_pop_definition): Declare.
1165
4fcb360b
BM
11662007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
1167
1168 * Makefile.in: Add dummy install-pdf target.
1169
67e64439
TT
11702007-01-30 Tom Tromey <tromey@redhat.com>
1171
765d600a 1172 PR preprocessor/30468
67e64439
TT
1173 * mkdeps.c (apply_vpath): Strip successive '/'s if we stripped
1174 './'.
1175
ee380365
TT
11762007-01-30 Tom Tromey <tromey@redhat.com>
1177
765d600a 1178 PR preprocessor/29966
ee380365
TT
1179 * macro.c (lex_expansion_token): Save and restore cpp_reader's
1180 cur_token.
1181 (_cpp_create_definition): Don't restore cur_token here.
1182 * lex.c (_cpp_lex_token): Added assertion.
1183
024abeb3
TT
11842007-01-27 Tom Tromey <tromey@redhat.com>
1185
1186 * configure: Rebuilt.
1187
ee1c2a10
TT
11882007-01-12 Tom Tromey <tromey@redhat.com>
1189
765d600a 1190 PR preprocessor/28227
ee1c2a10
TT
1191 * directives.c (lex_macro_node): Added 'is_def_or_undef'
1192 argument.
1193 (do_define): Update.
1194 (do_undef): Update.
1195 (do_ifdef): Update.
1196 (do_ifndef): Update.
1197
67214c16
PB
11982007-01-11 Paolo Bonzini <bonzini@gnu.org>
1199
1200 * configure: Regenerate.
1201
1aa6ca40
PB
12022007-01-11 Paolo Bonzini <bonzini@gnu.org>
1203
1204 * configure: Regenerate.
1205
705e2d28
TT
12062007-01-04 Tom Tromey <tromey@redhat.com>
1207
765d600a 1208 PR preprocessor/28165
705e2d28
TT
1209 * internal.h (cpp_in_primary_file): New function.
1210 * directives.c (do_include_next): Use cpp_in_primary_file.
1211 (do_pragma_once): Likewise.
1212 (do_pragma_system_header): Likewise.
1213
7af45bd4
ILT
12142006-12-29 Ian Lance Taylor <iant@google.com>
1215
1216 * lex.c (_cpp_clean_line): Add uses of __builtin_expect. Don't
1217 look backward at the end of the line unless we saw a backslash.
1218
9d30f270
JJ
12192006-12-29 Jakub Jelinek <jakub@redhat.com>
1220
1221 PR preprocessor/29612
1222 * directives.c (do_linemarker): Set pfile->buffer->sysp always, not
1223 only when new_sysp is non-zero.
1224
30b0edc0
TT
12252006-12-28 Tom Tromey <tromey@redhat.com>
1226
765d600a 1227 PR preprocessor/30001
30b0edc0
TT
1228 * charset.c (_cpp_convert_input): Check that to.len is greater
1229 than zero.
1230
85d9c13c
TS
12312006-11-20 Trevor Smigiel <Trevor_Smigiel@playstation.sony.com>
1232
1233 * configure.ac (need_64bit_hwint): Need 64bit hwint for SPU.
83cc06b2 1234 * configure: Rebuilt.
85d9c13c 1235
dfafdaa6
DG
12362006-11-01 Douglas Gregor <doug.gregor@gmail.com>
1237
1238 * include/cpplib.h (enum c_lang): Add CLK_GNUCXX0X and CLK_CXX0X
1239 for experimental C++0x mode.
1240 * init.c (lang_defaults): Add defaults for C++0x modes. C++0x has
1241 adopted the preprocessor changes introduced in C99.
1242
0f45f0f5
JM
12432006-10-29 Joseph Myers <joseph@codesourcery.com>
1244
1245 * configure.ac (need_64bit_hwint): Set for i[34567]86-*-linux*
1246 depending on --enable-targets=all.
1247 * configure: Regenerate.
1248
de000d22
JJ
12492006-10-12 Jakub Jelinek <jakub@redhat.com>
1250
1251 PR preprocessor/28709
1252 * macro.c (paste_tokens): Do error reporting here, use BUF with the
1253 spelled LHS token as opposed to spelling it again.
1254 (paste_all_tokens): Don't report errors here, just break on failure.
1255
b5422ad7
BM
12562006-10-10 Brooks Moses <bmoses@stanford.edu>
1257
1258 * Makefile.in: Added empty "pdf" target.
1259
aaf50ff2
GK
12602006-09-22 Geoffrey Keating <geoffk@apple.com>
1261
1262 * configure.ac: Make need_64_bit_hwint case for x86-darwin
1263 match exactly the glob in gcc/config.gcc.
1264 * configure: Regenerate.
1265
c663e301
JM
12662006-09-13 Joseph S. Myers <joseph@codesourcery.com>
1267
1268 PR c/28768
1269 PR preprocessor/14634
1270 * lex.c (lex_string): Pedwarn for unterminated literals.
1271
f7288899
EC
12722006-09-08 Eric Christopher <echristo@apple.com>
1273
1274 * configure.ac: Add 64-bit HWI support for i?86-darwin.
1275
b52dbbf8
SE
12762006-08-14 Steve Ellcey <sje@cup.hp.com>
1277
1278 PR c++/28288
1279 PR c++/14556
1280 * include/cpplib.h: Remove <?, >?, <?=, and >?= tokens.
1281 (CPP_LAST_EQ): Change.
1282 (CPP_LAST_PUNCTUATOR): Change.
1283 * expr.c (cpp_operator): Remove MIN and MAX.
1284 (reduce): Remove CPP_MIN and CPP_MAX.
1285 (num_binary_op): Ditto.
1286 * lex.c (_cpp_lex_direct): Ditto.
1287 (cpp_avoid_paste): Remove ? as legal symbol after > or <.
1288
1c90c6f9
JJ
12892006-06-09 Jakub Jelinek <jakub@redhat.com>
1290
1291 PR preprocessor/27746
1292 * directives.c (do_pragma): Handle pragma with valid namespace
1293 and invalid name coming from macro expansion.
1294 * directives.c (destringize_and_run): Initialize next field in
1295 context.
1296
1297 PR c/27747
1298 PR c++/27748
1299 * directives.c (destringize_and_run): Set NO_EXPAND on the
1300 tokens.
1301
1302 * macro.c (_cpp_backup_tokens): Fix comment typo.
1303
5c3c3683
DJ
13042006-05-31 Daniel Jacobowitz <dan@codesourcery.com>
1305
1306 * Makefile.in (CATALOGS): Add po/ prefix.
1307 * configure: Regenerated.
1308
b2bd74bc
CD
13092006-05-23 Carlos O'Donell <carlos@codesourcery.com>
1310
1311 * Makefile.in: Add install-html target. Add install-html to .PHONY
1312
be8ac3e2
GZ
13132006-02-17 Grigory Zagorodnev <grigory_zagorodnev@linux.intel.com>
1314
1315 * macro.c (_cpp_builtin_macro_text): Handle BT_TIMESTAMP.
1316 * files.c (_cpp_get_file_stat): New function.
1317 * include/cpplib.h (builtin_type): Add BT_TIMESTAMP.
1318 * init.c (builtin_array): Add support for __TIMESTAMP__/BT_TIMESTAMP.
1319 * internal.h (_cpp_get_file_stat): Prototype.
1320 (struct cpp_buffer): Add timestamp.
1321
83900997
JJ
13222006-01-23 Jakub Jelinek <jakub@redhat.com>
1323
1324 PR preprocessor/25717
1325 * init.c (cpp_init_builtins): If __STDC__ will not change value
1326 between system headers and other sources, define it as a normal
1327 macro rather than a builtin.
1328 * macro.c (_cpp_builtin_macro_text) <case BT_STDC>: Only check
1329 cpp_in_system_header condition.
1330
13312006-01-05 Paolo Bonzini <bonzini@gnu.org>
9220c30c
PB
1332
1333 * Makefile.in: Use -MMD instead of -MD.
1334
bc4071dd
RH
13352006-01-04 Dmitry Kurochkin <dmitry.kurochkin@gmail.com>
1336 Richard Henderson <rth@redhat.com>
1337
1338 Merge from gomp branch:
1339 * directives.c (struct pragma_entry): Add is_deferred. Add ident
1340 entry to value union.
1341 (end_directive): Don't eat the line if in_deferred_pragma.
1342 (run_directive): Remove pragma hacks.
1343 (insert_pragma_entry): Remove.
1344 (new_pragma_entry): New.
1345 (register_pragma_1): Split out of register_pragma. Only handle
1346 the lookup tree and return the new entry.
1347 (cpp_register_pragma): Fill in the pragma entry here.
1348 (cpp_register_deferred_pragma): New.
1349 (register_pragma_internal): New.
1350 (_cpp_init_internal_pragmas): Use register_pragma_internal.
1351 (do_pragma): Allow pragma expansion after namespace. For deferred
1352 pragmas, don't slurp the line into a string.
1353 (destringize_and_run): Save tokens for deferred pragmas.
1354 (cpp_handle_deferred_pragma): Remove.
1355 * macro.c (builtin_macro): Remove pragma token hack.
1356 (_cpp_push_token_context): Rename from push_token_context and export.
1357 * internal.h (struct lexer_state): Add pragma_allow_expansion.
1358 (_cpp_push_token_context): Declare.
1359 * lex.c (_cpp_lex_token): Allow _cpp_handle_directive to return
1360 a token. Update the line number correctly if so.
1361 (_cpp_lex_direct): Emit CPP_PRAGMA_EOL tokens.
1362 (cpp_token_val_index): Return CPP_TOKEN_FLD_PRAGMA for pragmas.
1363 * include/cpplib.h (PRAGMA_EOL): New.
1364 (CPP_TOKEN_FLD_PRAGMA): New.
1365 (struct cpp_token): Add val.pragma.
1366 (struct cpp_options): Remove defer_pragmas.
1367 (cpp_handle_deferred_pragma): Remove.
1368 (cpp_register_deferred_pragma): Declare.
1369
d09e893f
JJ
13702006-01-01 Jakub Jelinek <jakub@redhat.com>
1371
1372 PR c++/25294
1373 * directives.c (do_pragma): If pragma line ends with multi-line
1374 block comment, end the saved deferred pragma string before that
1375 comment. Handle embedded '\0' chars on the pragma line.
1376
ab84748a
VR
13772005-12-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
1378
1379 PR c++/23333
1380 * include/cpplib.h: Add PURE_ZERO to flags for the cpp_token structure.
1381
ad6ed77e
JG
13822005-12-07 Jon Grimm <jgrimm2@us.ibm.com>
1383 Ben Elliston <bje@au.ibm.com>
1384
1385 * include/cpplib.h (CPP_N_DFLOAT): New.
1386 * expr.c (interpret_float_suffix): Identify df, dd, and dl
1387 suffixes as decimal floating point constants.
1388 (cpp_classify_number): Disallow hexadecimal DFP constants.
1389
ba096620 13902005-11-14 Gerald Pfeifer <gerald@pfeifer.com>
bc4071dd 1391 Ian Lance Taylor <ian@airs.com>
ba096620
GP
1392
1393 * include/cpplib.h (struct cpp_callbacks): Annotate error with
1394 ATTRIBUTE_FPTR_PRINTF(3,0) instead of ATTRIBUTE_PRINTF(3,0).
1395
456b8ce5
UB
13962005-11-09 Per Bothner <per@bothner.com>
1397 Uros Bizjak <uros@kss-loka.si>
f7288899 1398
456b8ce5
UB
1399 PR c/24101
1400 * init.c (read_original_filename): Temporarily set
1401 state.in_directive before calling _cpp_lex_direct for
1402 CPP_HASH tokens.
1403
5571f74f
JW
14042005-11-03 James E Wilson <wilson@specifix.com>
1405
1406 PR preprocessor/24202
1407 * files.c (_cpp_pop_file_buffer): Set buffer_valid to false.
1408
a63607ed
JM
14092005-11-04 Joseph S. Myers <joseph@codesourcery.com>
1410
1411 * include/cpplib.h (struct cpp_callbacks): Make error take
1412 va_list* parameter.
1413 * errors.c (cpp_error): Update call to callback.
1414
651ed942
AP
14152005-11-03 Andrew Pinski <pinskia@physics.uc.edu>
1416
1417 PR preprocessor/22042
1418 * macro.c (_cpp_builtin_macro_text): Lower the needed max
1419 buffer size.
1420 (cpp_quote_string): Don't octalify non printable
1421 charactors.
1422
178b58b5
JM
14232005-11-03 Joseph S. Myers <joseph@codesourcery.com>
1424
1425 PR c++/17964
1426 * include/cpplib.h (struct cpp_options): Add client_diagnostic.
1427 (struct cpp_callbacks): Add error.
1428 * errors.c (cpp_error): If client_diagnostic, use error callback.
1429 * charset.c (convert_escape): Don't use %03o in diagnostic.
1430
3ee5ed11 14312005-10-21 James E Wilson <wilson@specifix.com>
6568f34b
JW
1432
1433 PR preprocessor/15220
1434 * files.c (_cpp_find_file): New parameter angle_brackets. Fix all
1435 callers. Pass to open_file_failed.
1436 (open_file_failed): New parameter angle_brackets. Fix all callers.
1437 Use in print_dep assignment.
1438 * init.c (cpp_read_main_file): Pass additional arg to _cpp_find_file.
1439 * internal.h (_cpp_find_file): Add new parm to declaration.
f7288899 1440
077fc835
KH
14412005-10-08 Kazu Hirata <kazu@codesourcery.com>
1442
1443 * configure.ac: Require 64-bit int for arm*-*-*eabi*.
1444 * configure: Regenerate.
1445
cbc43ae0
ILT
14462005-10-04 Ian Lance Taylor <ian@airs.com>
1447
1448 PR preprocessor/13726
1449 * directives.c (check_eol_return_comments): New static function.
1450 (parse_include): Add buf parameter. Change all callers.
1451 (do_include_common): If not discard comments, turn on
1452 save_comments. Pass collected comments to include callback.
1453 * include/cpplib.h (struct cpp_callbacks): Add new parameter to
1454 include callback: cpp_token list.
1455
af15a2fe
JM
14562005-09-20 Joseph S. Myers <joseph@codesourcery.com>
1457
1458 * include/cpplib.h (struct cpp_options): Add extended_identifiers.
1459 * init.c (struct lang_flags, lang_defaults): Add
1460 extended_identifiers.
1461 (cpp_set_lang): Use it.
1462 * lex.c (forms_identifier_p): Check extended_identifiers.
1463
f5eab47e
JJ
14642005-08-30 Jakub Jelinek <jakub@redhat.com>
1465
1466 PR preprocessor/20348
1467 PR preprocessor/20356
1468 * files.c (_cpp_find_file, search_cache): Revert 2004-06-26 and
1469 2004-06-05 changes.
1470
467129e6
KG
14712005-07-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1472
1473 * configure.ac (ACX_PROG_CC_WARNING_OPTS): add
1474 -Wmissing-format-attribute.
1475
1476 * configure: Regenerate.
1477
200031d1
KC
14782005-06-29 Kelley Cook <kcook@gcc.gnu.org>
1479
1480 * all files: Update FSF address in copyright headers.
1481 * makeucnid.c (write_copyright): Update outputted FSF address.
1482
f610dd5f
ZW
14832005-06-13 Zack Weinberg <zack@codesourcery.com>
1484
1485 * configure.ac: Invoke ZW_CREATE_DEPDIR and
1486 ZW_PROG_COMPILER_DEPENDENCIES.
1487 * aclocal.m4, configure: Regenerate.
1488 * Makefile.in (DEPMODE, DEPDIR, depcomp, COMPILE.base, COMPILE):
1489 New variables.
1490 (distclean): Clean up $(DEPDIR) and its contents.
1491 (.c.o): Use $(COMPILE).
1492 Include $(DEPDIR)/*.Po for most object->header dependencies.
1493
c3f829c1
GDR
14942005-05-28 Gabriel Dos Reis <gdr@integrable-solutions.net>
1495
1496 * configure.ac: Check declarations for asprintf and vasprintf.
1497 * config.in: Regenerate.
1498 * configure: Likewise.
1499
1500 * charset.c (conversion_loop): Use XRESIZEVEC.
1501 (convert_no_conversion): Likewise.
1502 (convert_using_iconv): Likewise.
1503 (init_iconv_desc): Cast return value of alloca.
1504 (cpp_host_to_exec_charset): Use XNEWVEC.
1505 (emit_numeric_escape): Use XRESIZEVEC.
1506 (cpp_interpret_string): Use XNEWVEC.
1507 (cpp_interpret_string): Use XRESIZEVEC.
1508 (_cpp_interpret_identifier): Cast return value of alloca.
1509 (_cpp_convert_input): Use XNEWVEC and XRESIZEVEC.
1510 * directives.c (glue_header_name): Use XNEWVEC and XRESIZEVEC.
1511 (parse_include): Use XNEWVEC.
1512 (insert_pragma_entry): Rename local variable "new" to
f610dd5f 1513 "new_entry".
c3f829c1
GDR
1514 (save_registered_pragmas): Cast return value of xmemdup.
1515 (destringize_and_run): Same for alloca.
1516 (parse_assertion): Likewise.
1517 (do_assert): Cast allocated storage to proper type.
1518 (cpp_define): Likewise.
1519 (_cpp_define_builtin): Likewise.
1520 (cpp_undef): Likewise.
1521 (handle_assertion): Likewise.
1522 (cpp_push_buffer): Rename local variable "new" to "new_buffer".
1523 * expr.c (CPP_UPLUS): Cast value to type cpp_ttype.
1524 (CPP_UMINUS): Likewise.
1525 (struct cpp_operator): Rename from struct operator.
1526 (_cpp_expand_op_stack): Use XRESIZEVEC.
1527 * files.c (pch_open_file): Use XNEWVEC.
1528 (pch_open_file): Use XRESIZEVEC.
1529 (read_file_guts): Use XNEWVEC and XRESIZEVEC.
1530 (dir_name_of_file): Use XNEWVEC.
1531 (make_cpp_file): Use XCNEW.
1532 (make_cpp_dir): Likewise.
1533 (allocate_file_hash_entries): USE XNEWVEC.
1534 (cpp_included): Cast return value of htab_find_with_hash.
1535 (append_file_to_dir): Use XNEWVEC.
1536 (read_filename_string): Likewise. Use XRESIZEVEC too.
1537 (read_name_map): Cast return value of alloca. Use XRESIZEVEC.
1538 (remap_filename): Use XNEWVEC.
1539 (struct pchf_entry): Move definition out of struct pchf_data.
1540 (_cpp_save_file_entries): Use XCNEWVAR.
1541 (_cpp_read_file_entries): Use XNEWVAR.
1542 * identifiers.c (alloc_node): Use XOBNEW.
1543 * init.c (cpp_create_reader): Use XCNEW.
1544 (cpp_init_builtins): Cast of b->value to enum builtin_type.
1545 (read_original_directory): Cast return value of alloca.
1546 * lex.c (add_line_note): Use XRESIZEVEC.
1547 (warn_about_normalization): Use XNEWVEC.
1548 (_cpp_lex_direct): Cast node->directive_index to (enum cpp_ttype).
1549 (new_buff): Use XNEWVEC.
1550 * line-map.c (linemap_add): Use XRESIZEVEC.
1551 * macro.c (builtin_macro): Cast return value of alloca.
1552 (paste_tokens): Likewise.
1553 (expand_arg): Use XNEWVEC and XRESIZEVEC.
1554 (_cpp_save_parameter): Use XRESIZEVEC.
1555 (create_iso_definition): Cast allocated storage to proper type.
1556 (_cpp_create_definition): Likewise.
1557 (cpp_macro_definition): Use XRESIZEVEC.
1558 * makedepend.c (add_clm): Use XNEW.
1559 (add_dir): Likewise.
1560 * mkdeps.c (munge): Use XNEWVEC.
1561 (deps_init): Use XCNEW.
1562 (deps_add_target): Use XRESIZEVEC.
1563 (deps_add_default_target): Cast return value of alloca.
1564 (deps_add_dep): Use XRESIZEVEC.
1565 (deps_add_vpath): Likewise. Use XNEWVEC too.
1566 (deps_restore): Likewise.
1567 * pch.c (save_idents): Use XNEW and XNEWVEC.
1568 (cpp_save_state): Use XNEW.
1569 (count_defs): Cast return value of htab_find.
1570 (write_defs): Likewise.
1571 (cpp_write_pch_deps): Use XNEWVEC.
1572 (collect_ht_nodes): Use XRESIZEVEC.
1573 (cpp_valid_state): Use XNEWVEC.
1574 (save_macros): Use XRESIZEVEC. Cast return value of xmemdup.
1575 * symtab.c (ht_create): Use XCNEW.
1576 (ht_lookup_with_hash): Cast return value of obstack_copy0.
1577 (ht_expand): Use XCNEWVEC.
1578 * system.h (HAVE_DESIGNATED_INITIALIZERS): False if __cplusplus.
1579 (bool): Do not define if __cplusplus.
1580
1ed17cd5
ZW
15812005-05-12 Zack Weinberg <zack@codesourcery.com>
1582
1583 * directives.c (#sccs table entry): Mark IN_I, consistent with #ident.
1584 (do_sccs): Delete function definition, #define to do_ident.
1585 (do_ident): Don't hardwire directive name.
1586
5a8c20ce
RK
15872005-05-12 Ryota Kunisawa <kunisawa@access.co.jp>
1588
1589 PR bootstrap/21230
1590 * configure: Regenerate.
1591
473c5bc9
AP
15922005-04-27 Andris Pavenis <pavenis@latnet.lv>
1593
1594 * files.c: Include io.h for DJGPP to get prototype of setmode.
1595
c1fc5047
PB
15962005-04-19 Per Bothner <per@bothner.com>
1597
1598 PR preprocessor/20907
1599 * line-map.c (linemap_line_start): Fix bug when we need to increse
1600 column_bits but can re-use the current line_map.
1601
042630ad
KG
16022005-04-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1603
1604 * system.h (fopen, fdopen, freopen): Define these to the unlocked
1605 libiberty functions.
1606
0d667716
KG
16072005-04-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1608
1609 * configure.ac (libcpp_UNLOCKED_FUNCS): New.
1610 (AC_CHECK_FUNCS, AC_CHECK_DECLS): Check for libcpp_UNLOCKED_FUNCS.
1611 * system.h (putchar, getc, getchar, clearerr, feof, fileno,
1612 fflush, fgetc, fgets, ferror, fread): Redefine to the associated
1613 _unlocked function.
1614 (fwrite_unlocked): Fix prototype.
1ed17cd5 1615
0d667716
KG
1616 * configure, config.in: Regenerate.
1617
cae064e7
JJ
16182005-04-05 Jakub Jelinek <jakub@redhat.com>
1619
1620 PR preprocessor/19475
1621 * macro.c (create_iso_definition): For < ISO C99, don't
1622 pedwarn if there is no whitespace between macro name and its
1623 replacement, but the replacement starts with a basic character
1624 set character.
1625
cbada204
AJ
16262005-03-28 Andreas Jaeger <aj@suse.de>
1627
1628 * lex.c (warn_about_normalization): Cast field width to int to
1629 avoid warning.
1630
f42eccdb
JM
16312005-03-19 Joseph S. Myers <joseph@codesourcery.com>
1632
1633 * configure.ac: Consistently use solaris2.1[0-9]* instead of
1634 solaris2.1[0-9].
1635 * configure: Regenerate.
1636
c79e602b
GK
16372005-03-15 Geoffrey Keating <geoffk@apple.com>
1638
1639 * charset.c (_cpp_valid_ucn): In identifiers, reject a partial
1640 UCN rather than printing an error.
1641
50668cf6
GK
16422005-03-14 Geoffrey Keating <geoffk@apple.com>
1643
6baba9bb
GK
1644 * lex.c (forms_identifier_p): Disable UCNs in C89 mode.
1645
16462005-03-14 Geoffrey Keating <geoffk@apple.com>
1ed17cd5 1647
50668cf6
GK
1648 * init.c (cpp_create_reader): Default warn_normalize to normalized_C.
1649 * charset.c: Update for new format of ucnid.h.
1650 (ucn_valid_in_identifier): Update for new format of ucnid.h.
1651 Add NST parameter, and update it; update callers.
1652 (cpp_valid_ucn): Add NST parameter, update callers. Replace abort
1653 with cpp_error.
1654 (convert_ucn): Pass normalize_state to cpp_valid_ucn.
1655 * internal.h (struct normalize_state): New.
1656 (INITIAL_NORMALIZE_STATE): New.
1657 (NORMALIZE_STATE_RESULT): New.
1658 (NORMALIZE_STATE_UPDATE_IDNUM): New.
1659 (_cpp_valid_ucn): New.
1660 * lex.c (warn_about_normalization): New.
1661 (forms_identifier_p): Add normalize_state parameter, update callers.
1662 (lex_identifier): Add normalize_state parameter, update callers. Keep
1663 the state current.
1664 (lex_number): Likewise.
1665 (_cpp_lex_direct): Pass normalize_state to subroutines. Check
1666 it with warn_about_normalization.
1667 * makeucnid.c: New.
1668 * ucnid.h: Replace.
1669 * ucnid.pl: Remove.
1670 * ucnid.tab: Make appropriate for input to makeucnid.c. Remove
1671 comments about obsolete version of C++.
1672 * include/cpplib.h (enum cpp_normalize_level): New.
1673 (struct cpp_options): Add warn_normalize field.
1674
47e20491
GK
16752005-03-11 Geoffrey Keating <geoffk@apple.com>
1676
1677 * directives.c (glue_header_name): Update call to cpp_spell_token.
1678 * internal.h (_cpp_interpret_identifier): New.
1679 * charset.c (_cpp_interpret_identifier): New.
1680 (_cpp_valid_ucn): Allow UCN version of '$'.
1681 * lex.c (lex_identifier): Add extra parameter to indicate if initial
1682 character was '$' or '\'. Support identifiers with UCNs.
1683 (forms_identifier_p): Allow UCNs.
1684 (_cpp_lex_direct): Pass extra parameter to lex_identifier.
1685 (utf8_to_ucn): New.
1686 (cpp_spell_token): Add FORSTRING parameter. Use it.
1687 (cpp_token_as_text): Update call to cpp_spell_token.
1688 (cpp_output_token): Write UCNs back out.
1689 (stringify_arg): Update call to cpp_spell_token.
1690 (paste_tokens): Likewise.
1691 (cpp_macro_definition): Likewise.
1692 * macro.c (stringify_arg): Likewise.
1693 (paste_tokens): Likewise.
1694 (cpp_macro_definition): Likewise.
1695 * include/cpplib.h: Add parameter to cpp_spell_token.
1696
73096711
JJ
16972005-03-04 Jakub Jelinek <jakub@redhat.com>
1698
1699 PR bootstrap/20282
1700 PR bootstrap/20305
1701 * macro.c (replace_args, cpp_get_token): Copy whole
1702 cpp_token_u instead of just cpp_string field from it.
1703
2203a881
DP
17042005-02-28 Devang Patel <dpatel@apple.com>
1705
1706 * directives.c (do_line): Save sysp early before line table is
1707 realloc'ed.
1ed17cd5 1708
c5ff069d
ZW
17092005-02-20 Zack Weinberg <zack@codesourcery.com>
1710
1711 PR 18785
1712 * charset.c (LAST_POSSIBLY_BASIC_SOURCE_CHAR): New helper macro.
1713 (cpp_host_to_exec_charset): New function.
1714 * include/cpplib.h: Declare cpp_host_to_exec_charset.
1715
04c90eea
DP
17162005-02-19 Devang Patel <dpatel@apple.com>
1717
1718 * charset.c (_cpp_convert_input): Check '\r' before inserting
1719 '\n' at the end.
c5ff069d 1720
6da55c00
EC
17212005-02-15 Eric Christopher <echristo@redhat.com>
1722
1723 PR preprocessor/19077
1724 * macro.c (cpp_macro_definition): Move handling of whitespace
1725 to PREV_WHITE conditional. Remove overloading of len
1726 variable.
1727
31c3e631
KH
17282005-02-14 Kazu Hirata <kazu@cs.umass.edu>
1729
1730 * directives.c, files.c, init.c, internal.h, macro.c, pch.c,
1731 traditional.c: Update copyright.
1732
be0f1e54
PB
17332005-02-14 Paolo Bonzini <bonzini@gnu.org>
1734
1735 PR bootstrap/19818
1736 * configure.ac: Check for declaration of basename and getopt.
1737 * config.in: Regenerate.
1738 * configure: Regenerate.
1739 * internal.h (ustrcspn): New.
1740 * macro.c (create_iso_definition): Fix allocation of memory.
1741 (padding_token): Add cast to remove const-ness.
1742 * pch.c (cpp_read_state): Use ustrcspn.
1743
ecddfb39
MS
17442005-02-08 Mike Stump <mrs@apple.com>
1745
1746 * files.c (pchf_adder): Remove.
1747 (struct pchf_adder_info): Likewise.
1748 (_cpp_save_file_entries): Write out all files so that #import works.
1749
9fcdd891
JM
17502005-01-23 Joseph S. Myers <joseph@codesourcery.com>
1751
1752 * configure: Regenerate.
1753
ecfd72e7
TS
17542005-01-11 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
1755
1756 * include/cpplib.h (c_lang): Fix comment to say cpp_create_reader.
1757
6c25a4f7 1758 * include/cpplib.h: Also update copyright years.
c5ff069d 1759
942926ad
GK
17602005-01-03 Geoffrey Keating <geoffk@apple.com>
1761
1762 * files.c (_cpp_find_file): Add files found by search_path_exhausted
1763 to the list of all files.
1764
a2566ae9
GDR
17652005-01-01 Gabriel Dos Reis <gdr@integrable-solutions.net>
1766
1767 * internal.h: Update references to Cpp lib filenames.
1768 * directives.c: Likewise.
1769 * init.c: Likewise.
1770 * macro.c: Likewise.
1771 * traditional.c: Likewise.
1772
1b449375
EB
17732004-12-15 Eric Botcazou <ebotcazou@libertysurf.fr>
1774
1775 PR preprocessor/15167
1776 * files.c (destroy_cpp_file): New function.
1777 (should_stack_file): Make a new file if the
1778 compared file is still stacked.
1779
28303828
NN
17802004-11-28 Nathanael Nerode <neroden@gcc.gnu.org>
1781
c5ff069d 1782 PR preprocessor/17610
28303828
NN
1783 * directives.c (do_include_common): Error out if an empty filename
1784 is given for #include (or #include_next or #import).
1785
c812785a
RS
17862004-11-27 Roger Sayle <roger@eyesopen.com>
1787 Zack Weinberg <zack@codesourcery.com>
1788
1789 * internal.h: Replace all uses of uchar with unsigned char.
1790 * include/cpp-id-data.h: Likewise. Guard typedef of uchar
1791 with !IN_GCC, so uchar is only defined whilst building libcpp.
1792
f91eaa01
KC
17932004-11-24 Kelley Cook <kcook@gcc.gnu.org>
1794
1795 * aclocal.m4: Regenerate.
1796
f78ce0c2
RS
17972004-11-24 Roger Sayle <roger@eyesopen.com>
1798
1799 PR preprocessor/15824
1800 * configure.ac: Correct HAVE_UCHAR test to #include <sys/types.h>
1801 directly, instead of the non-existant "system.h" and "ansidecl.h".
1802 * configure: Regenerate.
1803
b5b3e36a 18042004-11-23 Daniel Jacobowitz <dan@codesourcery.com>
c5ff069d 1805 Joseph Myers <joseph@codesourcery.com>
b5b3e36a
DJ
1806
1807 * internal.h (struct lexer_state): Add in_deferred_pragma.
1808 * directives.c (struct pragma_entry): Add allow_expansion.
1809 (insert_pragma_entry): Take allow_expansion flag.
1810 (register_pragma): Likewise.
1811 (cpp_register_pragma): Likewise.
1812 (_cpp_init_internal_pragmas): Update calls to cpp_register_pragma.
1813 (do_pragma): Honor allow_expansion.
1814 (cpp_handle_deferred_pragma): Set in_deferred_pragma.
1815 * include/cpplib.h (cpp_register_pragma): Update prototype.
1816
a8e68029 18172004-11-18 Daniel Jacobowitz <dan@codesourcery.com>
c5ff069d 1818 Mark Mitchell <mark@codesourcery.com>
a8e68029
DJ
1819
1820 * configure.ac (i[34567]86-*-solaris2.1[0-9]*): Set
1821 need_64bit_hwint=yes.
1822 * configure: Regenerate.
1823
50f47ee0
JM
18242004-11-09 Joseph S. Myers <joseph@codesourcery.com>
1825
1826 * Makefile.in ($(PACKAGE).pot): New rule. Depend on
1827 po/$(PACKAGE).pot.
1828 (po/$(PACKAGE).pot): Use ":" instead of "," in --keyword
1829 arguments. Add keywords _, N_, SYNTAX_ERROR and SYNTAX_ERROR2.
1830 Remove local srcdir path from generated file.
1831
968e08d6 18322004-11-04 Zack Weinberg <zack@codesourcery.com>
c5ff069d 1833 Gerald Pfeifer <gerald@pfeifer.com>
968e08d6
ZW
1834
1835 * internal.h (HAVE_ICONV): Undefine if we do not have HAVE_ICONV_H
1836 as well.
1837
3da3d587
ZW
18382004-10-27 Zack Weinberg <zack@codesourcery.com>
1839
1840 PR 18075
1841 * directives.c (do_pragma): Do not defer pragmas which are unknown.
1842 (cpp_handle_deferred_pragma): Add cast to silence warning.
1843
ac24fc25
JM
18442004-10-14 Joseph S. Myers <jsm@polyomino.org.uk>
1845
1846 * errors.c (_cpp_begin_message): Print "error: " for errors.
1847
7731405b
AJ
18482004-10-10 Andreas Jaeger <aj@suse.de>
1849
1850 * makedepend.c: Include mkdeps.h for prototype of deps_add_vpath.
1851 * Makefile.in (makedepend.o): Add dependency on mkdeps.h.
1852
646544e3
AP
18532004-10-08 Andrew Pinski <pinskia@physics.uc.edu>
1854
1855 * pch.c (cpp_write_pch_state): Remove variable z as it is not
1856 used.
1857 (cpp_read_state): Remove unused variables, m, d and mac_count.
1858
67a74146
PB
18592004-09-29 Per Bothner <per@bothner.com>
1860
1861 * directives.c (cpp_handle_deferred_pragma): Save, clear and restore
1862 cb.line_change. Otherwise do_pragma will call the line_change
1863 call-back with a meaningless line number.
1864
018a4785
ZW
18652004-09-24 Zack Weinberg <zack@codesourcery.com>
1866
1867 * configure.ac: Move AC_PROG_MAKE_SET, AC_PROG_INSTALL to
1868 programs cluster. Use ACX_PROG_CC_WARNING_OPTS,
1869 ACX_PROG_CC_WARNING_ALMOST_PEDANTIC, ACX_PROG_CC_WARNINGS_ARE_ERRORS.
1870 * aclocal.m4, configure: Regenerate.
1871 * init.c: Include localedir.h.
1872 * Makefile.in (WARN_CFLAGS, ALL_CFLAGS): New variables.
1873 (DEFS): Delete.
1874 (.c.o): Use $(ALL_CFLAGS).
1875 (localedir.h, localedir.hs): New rules.
1876 (clean): Use rm -rf to remove directories.
1877 (distclean): Also delete localedir.h and localedir.hs.
1878 (init.o): Update dependencies.
1879
88fa57d7
KC
18802004-09-22 Kelley Cook <kcook@gcc.gnu.org>
1881
1882 * Makefile.in (aclocal.m4): Update dependencies.
1883 * configure.ac (AC_CONFIG_MACRO_DIR): New.
1884 * aclocal.m4, configure: Regenerate.
1885
8f8e9aa5
ZW
18862004-09-17 Zack Weinberg <zack@codesourcery.com>
1887
a29f62d9
ZW
1888 * charset.c (_cpp_destroy_iconv, emit_numeric_escape)
1889 (_cpp_convert_input, _cpp_default_encoding): Add comments.
1890 Some other comments in this file also tweaked.
1891
8f8e9aa5
ZW
1892 * directives.c (do_pragma): Save current buffer position
1893 before lexing the pragma keywords; don't call
1894 _cpp_backup_tokens in the defer_pragmas case.
1895
a2981930
PB
18962004-09-15 Per Bothner <per@bothner.com>
1897
1898 * include/line-map.h (line_map_start): Add parameter names so
1899 preceding comment makes sense.
1900 (linemap_add): Remove from comment mention of non-existing parameter.
1901
21b11495
ZW
19022004-09-09 Matt Austern <austern@apple.com>
1903 Zack Weinberg <zack@codesourcery.com>
1904
1905 * include/cpplib.h (TTYPE_TABLE): Remove CPP_ and SPELL_
1906 prefixes throughout. Add entry for PRAGMA. Remove
1907 unnecessary "= 0" from EQ.
1908 (enum cpp_ttype): Adjust OP and TK definitions to restore
1909 prefixes, via token-paste.
1910 (CPP_LAST_EQ, CPP_FIRST_DIGRAPH, CPP_LAST_PUNCTUATOR, CPP_LAST_CPP_OP):
1911 Change from #defines to additional cpp_ttype enumerators.
1912 (struct cpp_options): Add defer_pragmas.
1913 (cpp_handle_deferred_pragma): Prototype new interface.
1914
1915 * internal.h (struct cpp_reader): Add directive_result.
1916 * directives.c (struct pragma_entry): Add is_internal field;
1917 give boolean fields type bool.
1918 (start_directive): Initialize pfile->directive_result.type.
1919 (_cpp_do__Pragma): Likewise.
1920 (run_directive): Do not crash if pfile->buffer->prev is NULL.
1921 (insert_pragma_entry): Add 'internal' argument; set new->is_internal
1922 from it.
1923 (register_pragma): New static function, bulk of former
1924 cpp_register_pragma here; add 'internal' argument, pass along
1925 to insert_pragma_entry.
1926 (cpp_register_pragma): Now a wrapper around register_pragma which
1927 always passes false for 'internal' argument.
1928 (_cpp_init_internal_pragmas): Call register_pragma directly, passing
1929 true for 'internal'.
1930 (do_pragma): If CPP_OPTION (pfile, defer_pragmas) and this isn't
1931 an internal pragma, save text till the end of the line as a CPP_PRAGMA
1932 token instead of executing the pragma.
1933 (cpp_handle_deferred_pragma): New interface.
1934 * lex.c (token_spellings): Adjust OP and TK definitions to
1935 match changes to cpplib.h.
1936 (_cpp_lex_token): Check for a directive-result token and
1937 return it if present.
1938 (cpp_token_val_index): Handle CPP_PRAGMA.
1939 * macro.c (cpp_builtin_macro_text): Correct comment.
1940 (builtin_macro): Handle directive-result tokens from _cpp_do__Pragma.
1941
0fd9e8dd
SB
19422004-09-06 Serge Belyshev <belyshev@lubercy.com>
1943
1944 PR preprocessor/14699
1945 * symtab.c (ht_dump_statistics): Change type of sum_of_squares
1946 from size_t to double.
1947
39b8ce7f
AS
19482004-08-28 Andreas Schwab <schwab@suse.de>
1949 Andreas Jaeger <aj@suse.de>
1950
1951 * configure.ac: Set PACKAGE correctly.
1952 * configure: Regenerated.
1953
5d1f4b27
PB
19542004-08-25 Paolo Bonzini <bonzini@gnu.org>
1955
1956 * Makefile.in: Add back top_builddir.
1957
078e3ffe
PB
19582004-08-25 Paolo Bonzini <bonzini@gnu.org>
1959
1960 * configure.ac: Replace Automake macro invocations
1961 with manual Autoconf checks and substitutions.
1962 * configure: Regenerate.
1963 * aclocal.m4: Regenerate.
1964 * config.in: Regenerate.
1965 * Makefile.am: Removed.
1966 * Makefile.in: Heavy simplification and reorganization.
1967
b3f8d95d
MM
19682004-08-09 Mark Mitchell <mark@codesourcery.com>
1969
1970 * configure.ac (arm*-*-eabi*): New target.
1971 (arm*-*-symbianelf*): Likewise.
1972 * configure: Regenerated.
1973
72bb2c39
BI
19742004-07-24 Bernardo Innocenti <bernie@develer.com>
1975
1976 * internal.h (xnew, xcnew, xnewvec, xcnewvec, xobnew): Remove.
1977 * directives.c: Use XNEW-family macros from libiberty.
1978 * lex.c: Likewise.
1979 * macro.c: Likewise.
1980 * cpplib.h (cpp_deps_style): Export enum with name.
1981
21b11495 19822004-07-23 Matthias Klose <doko@debian.org>
72bb2c39 1983
21b11495 1984 * init.c (init_library): Use PACKAGE for the text domain.
85eac2a0 1985
a23ee064
AP
19862004-07-16 Andris Pavenis <pavenis@latnet.lv>
1987
1988 PR preprocessor/16366
1989 * internal.h (struct cpp_reader): New field dir_hash.
1990 * files.c (make_cpp_dir): Use dir_hash, not file_hash.
1991 (_cpp_init_files, _cpp_cleanup_files): Update for new field.
1992
a09d4744
NB
19932004-07-04 Neil Booth <neil@duron.akihabara.co.uk>
1994
1995 PR preprocessor/16192
1996 PR preprocessor/15913
1997 PR preprocessor/15572
1998 * expr.c (_cpp_parse_expr): Handle remaining cases where an
1999 expression is missing.
2000 * init.c (post_options): Traditional cpp doesn't do // comments.
2001
f58f7def
PB
20022004-06-30 Per Bothner <per@bothner.com>
2003
2004 * include/line-map.h (fileline): Remove old typedef.
2005 * internal.h (struct cpp_reader): Use source_location typedef instead.
2006
e83d8d43
ZW
20072004-06-26 Zack Weinberg <zack@codesourcery.com>
2008
2009 Partially revert patch of 2004-06-05.
2010 * files.c (search_cache): Remove pfile argument. Don't check
2011 for file that would be found by "" or <> search here...
2012 (_cpp_find_file): ...do it here, before calling find_file_in_dir.
2013 Do not apply directory-of-current-file correction to files
2014 found by this check. Rearrange code slightly.
2015
c0d578e6
GK
20162004-06-21 Geoffrey Keating <geoffk@apple.com>
2017
2018 * files.c (should_stack_file): Correct swapped parameters to call
2019 to cb.read_pch.
2020 * pch.c (cpp_valid_state): Handle -fpreprocessed.
2021
159d5224
PB
20222004-06-15 Paolo Bonzini <bonzini@gnu.org>
2023
2024 * Makefile.in: Regenerate with automake 1.8.5.
2025 * aclocal.m4: Likewise.
2026 * configure: Regenerate.
2027
2fac9c01
ZW
20282004-06-11 Zack Weinberg <zack@codesourcery.com>
2029
2030 * configure.ac: Don't invoke ACX_HEADER_STDBOOL.
2031 * configure, config.in: Regenerate.
2032 * system.h: Unconditionally define bool as unsigned char,
2033 BOOL_BITFIELD as unsigned int.
2034 * .cvsignore: New file.
2035
d8044160
GK
20362004-06-09 Geoffrey Keating <geoffk@apple.com>
2037
2038 * traditional.c (push_replacement_text): Set macro->traditional.
2039 (save_replacement_text): Likewise.
2040 * pch.c (cpp_write_pch_state): Don't write list of defined macros.
2041 (struct save_macro_item): Delete.
2042 (struct save_macro_data): Use a character array not the previous
2043 structured format.
2044 (save_macros): Save macro as text not as internal structures.
2045 (cpp_prepare_state): Update for changes to save_macro_data.
2046 (cpp_read_state): Don't read macros defined in PCH. Restore
2cf22451 2047 -D macros as text.
d8044160
GK
2048 * macro.c (create_iso_definition): Honour alloc_subobject.
2049 Clear traditional flag.
2050 (_cpp_create_definition): Honour alloc_subobject.
2051 * lex.c (cpp_token_val_index): New.
2052 * internal.h: Include cpp-id-data.h.
2053 (uchar): Move definition to cpp-id-data.h.
2054 (U): Likewise.
2055 (cpp_macro): Likewise.
2056 * directives.c (struct answer): Move to cpp-id-data.h.
2057 (do_assert): Honour alloc_subobject.
2cf22451
ZW
2058
2059 * include/symtab.h (struct ht): Add field 'alloc_subobject'.
2060 * include/cpplib.h (struct cpp_string): Add GTY marker.
2061 (enum cpp_token_fld_kind): New.
2062 (struct cpp_token): Add GTY markers.
2063 (cpp_token_val_index): Prototype.
2064 (CPP_HASHNODE_VALUE_IDX): New.
2065 (struct cpp_hashnode): Don't skip fields of 'value' when marking.
2066 * include/cpp-id-data.h: New file.
d8044160 2067
0ca8e815
PB
20682004-06-09 Paolo Bonzini <bonzini@gnu.org>
2069
2070 * Makefile.am (all-local): New.
2071 * Makefile.in: Regenerate.
2072
b51fa00f
RS
20732004-06-06 Roger Sayle <roger@eyesopen.com>
2074
2075 * Makefile.am (LIBICONV): Declare.
2076 (makedepend_LDADD): Use LIBICONV.
2077 * Makefile.in: Regenerate.
2078
5e2f3f39
AP
20792004-06-05 Andrew Pinski <pinskia@physics.uc.edu>
2080
2081 * Makefile.am (LIBINTL): Declare
2082 (makedepend_LDADD): Use LIBINTL.
2083 * Makefile.in: Regenerate.
2084
c6e83800
ZW
20852004-06-05 Zack Weinberg <zack@codesourcery.com>
2086
2087 * Makefile.am: Add makedepend.
2088 * Makefile.in, aclocal.m4: Regenerate.
2089 * charset.c: Insert a space to avoid a warning.
2090 * directives.c: Include mkdeps.h.
2091 (_cpp_handle_directive): Reenable macro expander if appropriate.
2092 (undefine_macros): Inline body of _cpp_free_definition for speed.
2093 Do not call undef callback or _cpp_warn_if_unused_macro.
2094 (cpp_get_deps): New interface.
2095 * files.c (search_cache): Add pfile argument. Check for file
2096 that would be found by "" or <> search here...
2097 (_cpp_find_file): ...not here. Correct recorded start_dir of
2098 files found by directory-of-current-file search that would be
2099 found by "" or <> search.
2100 * init.c (cpp_add_dependency_target): Delete.
2101 * internal.h (struct lexer_state): Add discarding_output flag.
2102 * lex.c (lex_identifier): Compute hash function while scanning.
2103 * macro.c (cpp_scan_nooutput): Disable macro expansion outside
2104 directives.
2105 * makedepend.c: New file.
2106 * mkdeps.c (struct deps): Add vpath vector.
2107 (apply_vpath, deps_add_vpath): New function.
2108 (deps_free): Free vpath vector.
2109 (deps_add_dep, deps_add_target): Use apply_vpath.
2110 * symtab.c (calc_hash): Use HT_HASHSTEP and HT_FINISH.
2111 (ht_lookup_with_hash): New function.
2112 * cpplib.h, mkdeps.h: Update prototypes.
2113 * symtab.h: Update prototypes.
2114 (HT_HASHSTEP, HT_FINISH): New macros.
2115
b453c95f
GK
21162004-05-29 Geoffrey Keating <geoffk@apple.com>
2117
2118 * symtab.c (ht_create): Set entries_owned.
2119 (ht_destroy): Honour entries_owned.
2120 (ht_expand): Likewise.
2121 (ht_load): New.
2cf22451
ZW
2122 * include/symtab.h (struct ht): New field 'entries_owned'
2123 (ht_load): New prototype.
b453c95f 2124
963e23c5
PB
21252004-05-26 Paolo Bonzini <bonzini@gnu.org>
2126
2127 PR bootstrap/15651
2128 * configure.ac: Fix m4 quoting when picking
2129 the size of HOST_WIDE_INT.
2130 * configure: Regenerate.
2131
0429bc77
PB
21322004-05-25 Paolo Bonzini <bonzini@gnu.org>
2133
2134 * Makefile.am: the correct directory for
2135 gettext include files is given by @INCINTL@.
2136 * Makefile.in: Regenerate.
2137
c86dd7db
PB
21382004-05-24 Paolo Bonzini <bonzini@gnu.org>
2139
2140 * system.h [!ENABLE_NLS]: dgettext takes two
2141 parameters.
2142
4f4e53dd
PB
21432004-05-23 Paolo Bonzini <bonzini@gnu.org>
2144
2145 Moved libcpp from the gcc subdirectory to the toplevel.
2146 * Makefile.am: New file.
2147 * Makefile.in: Regenerate.
2148 * configure.ac: New file.
2149 * configure: Regenerate.
2150 * config.in: Regenerate.
2151 * charset.c: Moved from gcc/cppcharset.c. Add note about
2152 brokenness of input charset detection. Adjust for change
2153 in name of cppucnid.h.
2154 * errors.c: Moved from gcc/cpperror.c. Do not include intl.h.
2155 * expr.c: Moved from gcc/cppexp.c.
2156 * files.c: Moved from gcc/cppfiles.c. Do not include intl.h.
2157 Remove #define of O_BINARY, it is in system.h.
2158 * identifiers.c: Moved from gcc/cpphash.c.
2159 * internal.h: Moved from gcc/cpphash.h. Change header
2160 guard name. All other files adjusted to match name change.
2161 * init.c: Moved from gcc/cppinit.c.
2162 (init_library) [ENABLE_NLS]: Call bindtextdomain.
2163 * lex.c: Moved from gcc/cpplex.c.
2164 * directives.c: Moved from gcc/cpplib.c.
2165 * macro.c: Moved from gcc/cppmacro.c.
2166 * pch.c: Moved from gcc/cpppch.c. Do not include intl.h.
2167 * traditional.c: Moved from gcc/cpptrad.c.
2168 * ucnid.h: Moved from gcc/cppucnid.h. Change header
2169 guard name.
2170 * ucnid.pl: Moved from gcc/cppucnid.pl.
2171 * ucnid.tab: Moved from gcc/cppucnid.tab. Change header
2172 guard name.
2173 * symtab.c: Moved from gcc/hashtable.c.
2174 * line-map.c: Moved from gcc. Do not include intl.h.
2175 * mkdeps.c: Moved from gcc.
2176 * system.h: New file.
2cf22451
ZW
2177 * include/cpplib.h: Moved from gcc. Change header guard name.
2178 * include/line-map.h: Moved from gcc. Change header guard name.
2179 * include/mkdeps.h: Moved from gcc. Change header guard name.
2180 * include/symtab.h: Moved from gcc/hashtable.h. Change header
2181 guard name.