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