]> git.ipfire.org Git - thirdparty/gcc.git/blame - libcpp/ChangeLog
Fix a typo.
[thirdparty/gcc.git] / libcpp / ChangeLog
CommitLineData
71c10038
TT
12008-05-06 Tom Tromey <tromey@redhat.com>
2
3 PR preprocessor/35313, PR preprocessor/36088:
4 * expr.c (optab) <QUERY, COMMA>: Set precedence to 4.
5 (reduce) <case CPP_QUERY>: Special case CPP_COMMA and CPP_COLON.
6
2bd0fe3d
DM
72008-05-04 David S. Miller <davem@davemloft.net>
8
9 * configure.ac (sparc*-*-*): Always set need_64bit_hwint to yes.
10 * configure: Regenerate.
11
28f68625
DF
122008-04-22 Daniel Franke <franke.daniel@gmail.com>
13
14 * include/cpplib.h (cpp_define_formatted): New.
15 * directives.c (cpp_define_formatted): New.
16
688e7a53
TT
172008-04-21 Tom Tromey <tromey@redhat.com>
18
19 PR libcpp/33415:
20 * charset.c (_cpp_convert_input): Add buffer_start argument.
21 Ignore UTF-8 BOM if seen.
22 * internal.h (_cpp_convert_input): Add argument.
23 * files.c (struct _cpp_file) <buffer_start>: New field.
24 (destroy_cpp_file): Free buffer_start, not buffer.
25 (_cpp_pop_file_buffer): Likewise.
26 (read_file_guts): Update.
27
b6baa67d
KVH
282008-04-18 Kris Van Hees <kris.van.hees@oracle.com>
29
30 * include/cpp-id-data.h (UC): Was U, conflicts with U"..." literal.
31 * include/cpplib.h (CHAR16, CHAR32, STRING16, STRING32): New tokens.
32 (struct cpp_options): Added uliterals.
33 (cpp_interpret_string): Update prototype.
34 (cpp_interpret_string_notranslate): Idem.
35 * charset.c (init_iconv_desc): New width member in cset_converter.
36 (cpp_init_iconv): Add support for char{16,32}_cset_desc.
37 (convert_ucn): Idem.
38 (emit_numeric_escape): Idem.
39 (convert_hex): Idem.
40 (convert_oct): Idem.
41 (convert_escape): Idem.
42 (converter_for_type): New function.
43 (cpp_interpret_string): Use converter_for_type, support u and U prefix.
44 (cpp_interpret_string_notranslate): Match changed prototype.
45 (wide_str_to_charconst): Use converter_for_type.
46 (cpp_interpret_charconst): Add support for CPP_CHAR{16,32}.
47 * directives.c (linemarker_dir): Macro U changed to UC.
48 (parse_include): Idem.
49 (register_pragma_1): Idem.
50 (restore_registered_pragmas): Idem.
51 (get__Pragma_string): Support CPP_STRING{16,32}.
52 * expr.c (eval_token): Support CPP_CHAR{16,32}.
53 * init.c (struct lang_flags): Added uliterals.
54 (lang_defaults): Idem.
55 * internal.h (struct cset_converter) <width>: New field.
56 (struct cpp_reader) <char16_cset_desc>: Idem.
57 (struct cpp_reader) <char32_cset_desc>: Idem.
58 * lex.c (digraph_spellings): Macro U changed to UC.
59 (OP, TK): Idem.
60 (lex_string): Add support for u'...', U'...', u"..." and U"...".
61 (_cpp_lex_direct): Idem.
62 * macro.c (_cpp_builtin_macro_text): Macro U changed to UC.
63 (stringify_arg): Support CPP_CHAR{16,32} and CPP_STRING{16,32}.
64
deb984e6
PB
652008-04-18 Paolo Bonzini <bonzini@gnu.org>
66
67 PR bootstrap/35457
68 * aclocal.m4: Regenerate.
69 * configure: Regenerate.
70
bf048bea
TT
712008-04-17 Tom Tromey <tromey@redhat.com>
72
73 PR libcpp/34866:
74 * errors.c (cpp_error): Don't reference a token before the start
75 of the current run.
76
7f27b0f8
TT
772008-04-16 Tom Tromey <tromey@redhat.com>
78
79 * Makefile.in (TAGS_SOURCES): New variable.
80 (TAGS): New target.
81
a1fcb9a1
KK
822008-04-11 Kaz Kojima <kkojima@gcc.gnu.org>
83
84 * configure.ac: (need_64bit_hwint): Need 64bit hwint for sh-*-*
85 and shbe-*-*.
86 * configure: Rebuilt.
87
93d45d9e
JM
882008-04-02 Joseph Myers <joseph@codesourcery.com>
89
90 * include/cpplib.h (struct cpp_callbacks): Add used_define,
91 used_undef and before_define.
92 (NODE_USED): Define.
93 * directives.c (do_define, do_undef, undefine_macros, do_ifdef,
94 do_ifndef, cpp_pop_definition): Handle new flag and use new
95 callbacks.
96 * expr.c (parse_defined): Handle new flag and use new callbacks.
97 * macro.c (enter_macro_context, _cpp_free_definition): Handle new
98 flag and use new callbacks.
99
d4c32e1d
JJ
1002008-04-01 Jakub Jelinek <jakub@redhat.com>
101
102 PR pch/13675
103 * files.c (struct _cpp_file): Remove pch field.
104 (pch_open_file): Don't set file->pch, just file->pchname.
105 (should_stack_file): After pfile->cb.read_pch call
106 free pchname and clear pchname, don't close file->fd.
107 Test file->pchname instead of file->pch. Don't close fd after cb.
108 (_cpp_stack_include): Test file->pchname instead of file->pch.
109
161031e3
TT
1102008-03-28 Tom Tromey <tromey@redhat.com>
111
112 * Makefile.in (POSTCOMPILE): New variable.
113 (.c.o): Use it.
114
14ccf800
TT
1152008-03-13 Tom Tromey <tromey@redhat.com>
116
117 PR libcpp/35322:
118 * directives.c (destringize_and_run): Set pfile->directive.
119
830465c6
MM
1202008-03-06 Markus Milleder <markus.milleder@generali.at>
121
122 PR preprocessor/35458
123 * mkdeps.c (munge): Quote '#' with a '\'.
124
d482a073
RW
1252008-02-27 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
126
127 PR preprocessor/35379
128 * mkdeps.c (deps_write): Ensure the first target always appears
129 in the first column, without leading backslash newline. Avoid
130 some more extra whitespace.
131
185a6cc1
TS
1322008-02-25 Thiemo Seufer <ths@mips.com>
133
d482a073 134 * Makefile.in ($(srcdir)/config.in): Depend on configure.ac.
185a6cc1 135
2bf41bf0
TT
1362008-02-19 Tom Tromey <tromey@redhat.com>
137
138 * traditional.c (lex_identifier): Use CPP_HASHNODE.
139 * lex.c (lex_identifier): Use CPP_HASHNODE.
140 * include/line-map.h (LINEMAP_POSITION_FOR_COLUMN): Wrap in
141 do-while.
142 * identifiers.c (alloc_node): Change return type.
143 (_cpp_init_hashtable): Don't cast 'alloc_node'.
144 (proxy_assertion_broken): New declaration.
145 (cpp_forall_identifiers): Move comment.
146 * line-map.c (linemap_add): Comment fix.
147 (linemap_line_start): Indentation fix.
148
765d600a
JJ
1492008-01-25 Jakub Jelinek <jakub@redhat.com>
150
151 PR preprocessor/34692
152 * macro.c (collect_args): Add pragma_buff argument. Push
153 CPP_PRAGMA ... CPP_PRAGMA_EOL tokens to *pragma_buff, rather
154 than into arguments. Reset prevent_expansion and parsing_args
155 state at CPP_PRAGMA_EOL/CPP_EOF.
156 (funlike_invocation_p): Add pragma_buff argument, pass it through
157 to collect_args.
158 (enter_macro_context): Add result argument. Adjust
159 funlike_invocation_p caller. Emit all deferred pragma tokens
160 gathered during collect_args before the expansion, add a padding
161 token. Return 2 instead of 1 if any pragma tokens were prepended.
162 (cpp_get_token): If enter_macro_context returns 2, don't return
163 a padding token, instead cycle to grab CPP_PRAGMA token.
164 * directives.c (_cpp_handle_directive): If was_parsing_args
165 in deferred pragma, leave parsing_args and prevent_expansion as is.
166
ec46053b
TT
1672008-01-22 Tom Tromey <tromey@redhat.com>
168
765d600a 169 PR c++/34859
ec46053b
TT
170 * macro.c (_cpp_create_definition): Handle __STDC_LIMIT_MACROS and
171 __STDC_CONSTANT_MACROS.
172
681c6ab0
FF
1732008-01-07 Fred Fish <fnf@specifix.com>
174
765d600a 175 PR preprocessor/30363
681c6ab0
FF
176 * traditional.c (replace_args_and_push): Add local variable
177 cxtquote, calculate the replacement text size assuming a
178 worst case of every input character quoted with backslash,
179 and properly handle output quoting of quote characters in
180 actual arguments used in function-like macros.
181
33ae4837
TT
1822008-01-03 Tom Tromey <tromey@redhat.com>
183
765d600a 184 PR preprocessor/34602
33ae4837
TT
185 * directives.c (do_line): Don't try to spell EOF token.
186 (do_linemarker): Add comment.
187
675575f5
DD
1882007-12-11 DJ Delorie <dj@redhat.com>
189
190 * charset.c (convert_using_iconv): Close out any shift states,
191 returning to the initial state.
192
97f6bd40
TT
1932007-12-06 Tom Tromey <tromey@redhat.com>
194
765d600a 195 PR c/29172
97f6bd40
TT
196 * internal.h (struct cpp_reader) <file_hash_entries>: Changed
197 type.
198 <file_hash_entries_allocated, file_hash_entries_used>: Removed.
199 * files.c (FILE_HASH_POOL_SIZE): New macro.
200 (struct file_hash_entry_pool): New.
201 (destroy_all_cpp_files): New function.
202 (allocate_file_hash_entries): Allocate a file_hash_entry_pool.
203 (new_file_hash_entry): Update.
204 (free_file_hash_entries): New function.
205 (_cpp_cleanup_files): Call free_file_hash_entries and
206 destroy_all_cpp_files.
207 (cpp_clear_file_cache): New function.
208 * include/cpplib.h (cpp_clear_file_cache): Declare.
209
d56a25e1
TT
2102007-12-03 Tom Tromey <tromey@redhat.com>
211
765d600a 212 PR preprocessor/34288
d56a25e1
TT
213 * configure.ac, config.in: Rebuilt.
214 * configure.ac: Check for ssize_t.
215
607f74e9
TT
2162007-11-30 Tom Tromey <tromey@redhat.com>
217
765d600a 218 PR preprocessor/32868
607f74e9
TT
219 * macro.c (_cpp_create_definition): Special case
220 __STDC_FORMAT_MACROS.
221
b0f4807f
MM
2222007-11-16 Michael Matz <matz@suse.de>
223
224 * files.c (search_path_head): Fix check for absolute paths.
225
f1e20710
TT
2262007-11-11 Tom Tromey <tromey@redhat.com>
227
765d600a 228 PR c++/17557
f1e20710
TT
229 * include/cpplib.h (cpp_included_before): Declare.
230 * files.c (struct file_hash_entry) <location>: New field.
231 (_cpp_find_file): Initialize new field.
232 (make_cpp_dir): Likewise.
233 (cpp_included_before): New function.
234
f373b44d
TT
2352007-11-01 Tom Tromey <tromey@redhat.com>
236
765d600a 237 PR preprocessor/30805
f373b44d
TT
238 * macro.c (paste_tokens): Handle padding token.
239 (paste_tokens): Don't abort unless padding has PASTE_LEFT flag.
240
5b9a40df
TT
2412007-10-31 Tom Tromey <tromey@redhat.com>
242
765d600a 243 PR preprocessor/30786
5b9a40df
TT
244 * macro.c (builtin_macro): Return result of _cpp_do__Pragma.
245 * directives.c (_cpp_do__Pragma): Return error status.
246 * internal.h (_cpp_do__Pragma): Update.
247 * directives.c (get__Pragma_string): Back up if EOF seen.
248
5ffeb913
TT
2492007-09-06 Tom Tromey <tromey@redhat.com>
250
251 * internal.h (struct cpp_reader) <invocation_location>: New
252 field.
253 (struct cpp_reader) <set_invocation_location>: Likewise.
254 * init.c (cpp_set_line_map): New function.
255 * line-map.c (linemap_add): Use linemap's allocator.
256 * include/line-map.h (GTY): Define.
257 (line_map_realloc): New typedef.
258 (struct line_map): Mark with GTY.
259 (struct line_maps): Likewise.
260 (struct line_maps) <maps>: Likewise.
261 (struct line_maps) <reallocator>: New field.
262 * include/symtab.h (GTY): Conditionally define.
263 * include/cpplib.h (cpp_set_line_map): Declare.
264 (cpp_get_token_with_location): Declare.
265 * macro.c (cpp_get_token): Set invocation_location on the reader.
266 (cpp_get_token_with_location): New function.
267
ac6b1c67
CF
2682007-08-30 Chao-ying Fu <fu@mips.com>
269
270 * expr.c (interpret_float_suffix): Support hr, r, lr, llr, uhr, ur,
271 ulr, ullr, hk, k, lk, llk, uhk, uk, ulk, ullk.
272 (cpp_classify_number): Support decimal fixed-point constants without
273 exponents.
274 Warn about fixed-point constants when -pedantic.
275 * include/cpplib.h (CPP_N_SMALL, CPP_N_MEDIUM, CPP_N_LARGE): Change
276 comments to support fixed-point values.
277 (CPP_N_FRACT, CPP_N_ACCUM): Define.
278
cda5e672
TT
2792007-08-18 Tom Tromey <tromey@redhat.com>
280
765d600a 281 PR preprocessor/32974
cda5e672
TT
282 * directives.c (parse_include): Don't check for EOL when
283 processing #pragma dependency.
284
ccfc4c91
OW
2852007-07-30 Ollie Wild <aaw@google.com>
286
287 * directives-only.c: New file.
288 * internal.h (struct _cpp_dir_only_callbacks): New.
289 (_cpp_preprocess_dir_only): New function.
290 * directives.c (_cpp_handle_directive): Check directives_only before
291 disabling execution of indented directives.
292 * files.c (_cpp_stack_file): Add directives_only check.
293 * include/cpplib.h (struct cpp_options): Add directives_only.
294 (cpp_init_special_builtins): New function.
295 * init.c (cpp_init_special_builtins): New function.
296 (cpp_init_builtins): Move builtin_array initialization to
297 cpp_init_special_builtins.
298 (post_options): Check directives_only before setting
299 pfile->state.prevent_expansion = 1.
300 * macro.c (_cpp_builtin_macro_text): Print an error if __COUNTER__
301 is expanded inside a directive while -fdirectives-only is enabled.
302 * Makefile.in (libcpp_a_OBJS): Add directives-only.o.
303 (libcpp_a_SOURCES): Add directives-only.c.
304
a206413a
UB
3052007-07-04 Uros Bizjak <ubizjak@gmail.com>
306
307 * traditional.c (_cpp_scan_out_logical_line): Initialize
308 fmacro.args, fmacro.node, fmacro.offset, fmacro.line and
309 fmacro.args to prevent 'may be used uninitialized' warning.
310
c77cd3d1
UB
3112007-07-03 Uros Bizjak <ubizjak@gmail.com>
312
313 * include/cpplib.h (CPP_N_WIDTH_MD, CPP_N_MD_W, CPP_N_MD_Q):
314 Add new constants.
315 * expr.c (interpret_float_suffix): Process 'w', 'W', 'q' and 'Q'
316 suffixes. Return CPP_N_MD_W for 'w' or 'W' suffixes and CPP_N_MD_Q
317 for 'q' or 'Q' suffixes.
318
66938a1d
DS
3192007-06-17 Danny Smith <dannysmith@users.sourceforge.net
320
e1311401 321 * files.c (open_file): Correct typo.
66938a1d 322
71995ede
VP
3232007-06-16 Vladimir Prus <vladimir@codesourcery.com>
324
e1311401 325 * files.c (open_file): Prevent the call
71995ede
VP
326 for stat from overwriting errno.
327
84152c25
VP
3282007-06-09 Vladimir Prus <vladimir@codesourcery.com>
329
e1311401 330 * files.c (open_file): Account for the
84152c25
VP
331 fact that on windows, opening a directory gives
332 EACCES.
333
f7fd775f
JW
3342007-06-05 Joerg Wunsch <j.gnu@uriah.heep.sax.de>
335
336 PR preprocessor/23479
337 * expr.c (cpp_classify_number): Implement 0b-prefixed binary
338 integer constants.
339 (append_digit): Likewise.
340 * include/cpplib.h: Add CPP_N_BINARY, to be used for 0b-prefixed
341 binary integer constants.
342
ed0e74e0
DK
3432007-05-31 Dave Korn <dave.korn@artimi.com>
344
345 PR preprocessor/14331
346 * lex.c (_cpp_get_fresh_line): Don't warn if no newline at EOF.
347
a702045a
OW
3482007-05-24 Ollie Wild <aaw@google.com>
349
350 * macro.c (_cpp_builtin_macro_text): Handle BT_COUNTER.
351 * pch.c (cpp_write_pch_deps): Save __COUNTER__ state.
352 (cpp_write_pch_state): Save __COUNTER__ state.
353 (cpp_valid_state): Check valid __COUNTER__ state.
354 (cpp_read_state): Read new __COUNTER__ state.
355 * include/cpplib.h (enum builtin_type): Add BT_COUNTER enumerator.
356 * init.c (builtin_array): Add __COUNTER__/BT_COUNTER.
357 * internal.h (struct cpp_reader): Add counter member.
358
126e073b
SM
3592007-05-23 Simon Martin <simartin@users.sourceforge.net>
360
361 PR preprocessor/20077
362 * macro.c (create_iso_definition): Fixed the method to determine
363 whether the token-pasting operator appears at the beginning or the end
364 of a macro.
365
0b4cafec
ILT
3662007-05-21 Ian Lance Taylor <iant@google.com>
367
368 * internal.h (struct cpp_reader): Add new fields:
369 nonexistent_file_hash and nonexistent_file_ob.
370 * files.c: Include "obstack.h".
371 (find_file_in_dir): Before trying to open the file, look up the
372 path name in the hash table of nonexistent files. After failing
373 to open the file, add the path name to the hash table.
374 (_cpp_find_file): Cache the results of looking up the file name
375 starting with the quote and bracket chain heads, if we can.
376 (nonexistent_file_hash_eq): New static function.
377 (_cpp_init_files): Initialize pfile->nonexistent_file_hash and
378 pfile->nonexistent_file_ob.
379 (_cpp_cleanup_files): Free pfile->nonexistent_file_hash and
380 pfile->nonexistent_file_ob.
381
30e04921
JJ
3822007-05-14 Janis Johnson <janis187@us.ibm.com>
383
5a6bb57e
JJ
384 * expr.c (cpp_classify_number): Warn about dfp constant for -pedantic.
385
30e04921
JJ
386 PR c/31924
387 * expr.c (interpret_float_suffix): Check for invalid suffix.
388
22a8a52d
EC
3892007-05-02 Eric Christopher <echristo@apple.com>
390
391 * expr.c (num_div_op): Don't overflow if the result is
392 zero.
393
fca35e1b
TT
3942007-05-02 Tom Tromey <tromey@redhat.com>
395
765d600a 396 PR preprocessor/28709
fca35e1b
TT
397 * macro.c (paste_tokens): Remove PASTE_LEFT from the old lhs.
398
4cd97075
MM
3992007-03-30 Michael Meissner <michael.meissner@amd.com>
400
401 * directives.c (lex_macro_node_from_str): Fix alloca call to be
402 type correct.
403
121de39f
RH
4042007-03-30 Richard Henderson <rth@redhat.com>
405
406 * directives.c (lex_macro_node_from_str): New.
407 (cpp_push_definition, cpp_pop_definition): New.
408 * include/cpplib.h (cpp_push_definition, cpp_pop_definition): Declare.
409
4fcb360b
BM
4102007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
411
412 * Makefile.in: Add dummy install-pdf target.
413
67e64439
TT
4142007-01-30 Tom Tromey <tromey@redhat.com>
415
765d600a 416 PR preprocessor/30468
67e64439
TT
417 * mkdeps.c (apply_vpath): Strip successive '/'s if we stripped
418 './'.
419
ee380365
TT
4202007-01-30 Tom Tromey <tromey@redhat.com>
421
765d600a 422 PR preprocessor/29966
ee380365
TT
423 * macro.c (lex_expansion_token): Save and restore cpp_reader's
424 cur_token.
425 (_cpp_create_definition): Don't restore cur_token here.
426 * lex.c (_cpp_lex_token): Added assertion.
427
024abeb3
TT
4282007-01-27 Tom Tromey <tromey@redhat.com>
429
430 * configure: Rebuilt.
431
ee1c2a10
TT
4322007-01-12 Tom Tromey <tromey@redhat.com>
433
765d600a 434 PR preprocessor/28227
ee1c2a10
TT
435 * directives.c (lex_macro_node): Added 'is_def_or_undef'
436 argument.
437 (do_define): Update.
438 (do_undef): Update.
439 (do_ifdef): Update.
440 (do_ifndef): Update.
441
67214c16
PB
4422007-01-11 Paolo Bonzini <bonzini@gnu.org>
443
444 * configure: Regenerate.
445
1aa6ca40
PB
4462007-01-11 Paolo Bonzini <bonzini@gnu.org>
447
448 * configure: Regenerate.
449
705e2d28
TT
4502007-01-04 Tom Tromey <tromey@redhat.com>
451
765d600a 452 PR preprocessor/28165
705e2d28
TT
453 * internal.h (cpp_in_primary_file): New function.
454 * directives.c (do_include_next): Use cpp_in_primary_file.
455 (do_pragma_once): Likewise.
456 (do_pragma_system_header): Likewise.
457
7af45bd4
ILT
4582006-12-29 Ian Lance Taylor <iant@google.com>
459
460 * lex.c (_cpp_clean_line): Add uses of __builtin_expect. Don't
461 look backward at the end of the line unless we saw a backslash.
462
9d30f270
JJ
4632006-12-29 Jakub Jelinek <jakub@redhat.com>
464
465 PR preprocessor/29612
466 * directives.c (do_linemarker): Set pfile->buffer->sysp always, not
467 only when new_sysp is non-zero.
468
30b0edc0
TT
4692006-12-28 Tom Tromey <tromey@redhat.com>
470
765d600a 471 PR preprocessor/30001
30b0edc0
TT
472 * charset.c (_cpp_convert_input): Check that to.len is greater
473 than zero.
474
85d9c13c
TS
4752006-11-20 Trevor Smigiel <Trevor_Smigiel@playstation.sony.com>
476
477 * configure.ac (need_64bit_hwint): Need 64bit hwint for SPU.
83cc06b2 478 * configure: Rebuilt.
85d9c13c 479
dfafdaa6
DG
4802006-11-01 Douglas Gregor <doug.gregor@gmail.com>
481
482 * include/cpplib.h (enum c_lang): Add CLK_GNUCXX0X and CLK_CXX0X
483 for experimental C++0x mode.
484 * init.c (lang_defaults): Add defaults for C++0x modes. C++0x has
485 adopted the preprocessor changes introduced in C99.
486
0f45f0f5
JM
4872006-10-29 Joseph Myers <joseph@codesourcery.com>
488
489 * configure.ac (need_64bit_hwint): Set for i[34567]86-*-linux*
490 depending on --enable-targets=all.
491 * configure: Regenerate.
492
de000d22
JJ
4932006-10-12 Jakub Jelinek <jakub@redhat.com>
494
495 PR preprocessor/28709
496 * macro.c (paste_tokens): Do error reporting here, use BUF with the
497 spelled LHS token as opposed to spelling it again.
498 (paste_all_tokens): Don't report errors here, just break on failure.
499
b5422ad7
BM
5002006-10-10 Brooks Moses <bmoses@stanford.edu>
501
502 * Makefile.in: Added empty "pdf" target.
503
aaf50ff2
GK
5042006-09-22 Geoffrey Keating <geoffk@apple.com>
505
506 * configure.ac: Make need_64_bit_hwint case for x86-darwin
507 match exactly the glob in gcc/config.gcc.
508 * configure: Regenerate.
509
c663e301
JM
5102006-09-13 Joseph S. Myers <joseph@codesourcery.com>
511
512 PR c/28768
513 PR preprocessor/14634
514 * lex.c (lex_string): Pedwarn for unterminated literals.
515
f7288899
EC
5162006-09-08 Eric Christopher <echristo@apple.com>
517
518 * configure.ac: Add 64-bit HWI support for i?86-darwin.
519
b52dbbf8
SE
5202006-08-14 Steve Ellcey <sje@cup.hp.com>
521
522 PR c++/28288
523 PR c++/14556
524 * include/cpplib.h: Remove <?, >?, <?=, and >?= tokens.
525 (CPP_LAST_EQ): Change.
526 (CPP_LAST_PUNCTUATOR): Change.
527 * expr.c (cpp_operator): Remove MIN and MAX.
528 (reduce): Remove CPP_MIN and CPP_MAX.
529 (num_binary_op): Ditto.
530 * lex.c (_cpp_lex_direct): Ditto.
531 (cpp_avoid_paste): Remove ? as legal symbol after > or <.
532
1c90c6f9
JJ
5332006-06-09 Jakub Jelinek <jakub@redhat.com>
534
535 PR preprocessor/27746
536 * directives.c (do_pragma): Handle pragma with valid namespace
537 and invalid name coming from macro expansion.
538 * directives.c (destringize_and_run): Initialize next field in
539 context.
540
541 PR c/27747
542 PR c++/27748
543 * directives.c (destringize_and_run): Set NO_EXPAND on the
544 tokens.
545
546 * macro.c (_cpp_backup_tokens): Fix comment typo.
547
5c3c3683
DJ
5482006-05-31 Daniel Jacobowitz <dan@codesourcery.com>
549
550 * Makefile.in (CATALOGS): Add po/ prefix.
551 * configure: Regenerated.
552
b2bd74bc
CD
5532006-05-23 Carlos O'Donell <carlos@codesourcery.com>
554
555 * Makefile.in: Add install-html target. Add install-html to .PHONY
556
be8ac3e2
GZ
5572006-02-17 Grigory Zagorodnev <grigory_zagorodnev@linux.intel.com>
558
559 * macro.c (_cpp_builtin_macro_text): Handle BT_TIMESTAMP.
560 * files.c (_cpp_get_file_stat): New function.
561 * include/cpplib.h (builtin_type): Add BT_TIMESTAMP.
562 * init.c (builtin_array): Add support for __TIMESTAMP__/BT_TIMESTAMP.
563 * internal.h (_cpp_get_file_stat): Prototype.
564 (struct cpp_buffer): Add timestamp.
565
83900997
JJ
5662006-01-23 Jakub Jelinek <jakub@redhat.com>
567
568 PR preprocessor/25717
569 * init.c (cpp_init_builtins): If __STDC__ will not change value
570 between system headers and other sources, define it as a normal
571 macro rather than a builtin.
572 * macro.c (_cpp_builtin_macro_text) <case BT_STDC>: Only check
573 cpp_in_system_header condition.
574
5752006-01-05 Paolo Bonzini <bonzini@gnu.org>
9220c30c
PB
576
577 * Makefile.in: Use -MMD instead of -MD.
578
bc4071dd
RH
5792006-01-04 Dmitry Kurochkin <dmitry.kurochkin@gmail.com>
580 Richard Henderson <rth@redhat.com>
581
582 Merge from gomp branch:
583 * directives.c (struct pragma_entry): Add is_deferred. Add ident
584 entry to value union.
585 (end_directive): Don't eat the line if in_deferred_pragma.
586 (run_directive): Remove pragma hacks.
587 (insert_pragma_entry): Remove.
588 (new_pragma_entry): New.
589 (register_pragma_1): Split out of register_pragma. Only handle
590 the lookup tree and return the new entry.
591 (cpp_register_pragma): Fill in the pragma entry here.
592 (cpp_register_deferred_pragma): New.
593 (register_pragma_internal): New.
594 (_cpp_init_internal_pragmas): Use register_pragma_internal.
595 (do_pragma): Allow pragma expansion after namespace. For deferred
596 pragmas, don't slurp the line into a string.
597 (destringize_and_run): Save tokens for deferred pragmas.
598 (cpp_handle_deferred_pragma): Remove.
599 * macro.c (builtin_macro): Remove pragma token hack.
600 (_cpp_push_token_context): Rename from push_token_context and export.
601 * internal.h (struct lexer_state): Add pragma_allow_expansion.
602 (_cpp_push_token_context): Declare.
603 * lex.c (_cpp_lex_token): Allow _cpp_handle_directive to return
604 a token. Update the line number correctly if so.
605 (_cpp_lex_direct): Emit CPP_PRAGMA_EOL tokens.
606 (cpp_token_val_index): Return CPP_TOKEN_FLD_PRAGMA for pragmas.
607 * include/cpplib.h (PRAGMA_EOL): New.
608 (CPP_TOKEN_FLD_PRAGMA): New.
609 (struct cpp_token): Add val.pragma.
610 (struct cpp_options): Remove defer_pragmas.
611 (cpp_handle_deferred_pragma): Remove.
612 (cpp_register_deferred_pragma): Declare.
613
d09e893f
JJ
6142006-01-01 Jakub Jelinek <jakub@redhat.com>
615
616 PR c++/25294
617 * directives.c (do_pragma): If pragma line ends with multi-line
618 block comment, end the saved deferred pragma string before that
619 comment. Handle embedded '\0' chars on the pragma line.
620
ab84748a
VR
6212005-12-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
622
623 PR c++/23333
624 * include/cpplib.h: Add PURE_ZERO to flags for the cpp_token structure.
625
ad6ed77e
JG
6262005-12-07 Jon Grimm <jgrimm2@us.ibm.com>
627 Ben Elliston <bje@au.ibm.com>
628
629 * include/cpplib.h (CPP_N_DFLOAT): New.
630 * expr.c (interpret_float_suffix): Identify df, dd, and dl
631 suffixes as decimal floating point constants.
632 (cpp_classify_number): Disallow hexadecimal DFP constants.
633
ba096620 6342005-11-14 Gerald Pfeifer <gerald@pfeifer.com>
bc4071dd 635 Ian Lance Taylor <ian@airs.com>
ba096620
GP
636
637 * include/cpplib.h (struct cpp_callbacks): Annotate error with
638 ATTRIBUTE_FPTR_PRINTF(3,0) instead of ATTRIBUTE_PRINTF(3,0).
639
456b8ce5
UB
6402005-11-09 Per Bothner <per@bothner.com>
641 Uros Bizjak <uros@kss-loka.si>
f7288899 642
456b8ce5
UB
643 PR c/24101
644 * init.c (read_original_filename): Temporarily set
645 state.in_directive before calling _cpp_lex_direct for
646 CPP_HASH tokens.
647
5571f74f
JW
6482005-11-03 James E Wilson <wilson@specifix.com>
649
650 PR preprocessor/24202
651 * files.c (_cpp_pop_file_buffer): Set buffer_valid to false.
652
a63607ed
JM
6532005-11-04 Joseph S. Myers <joseph@codesourcery.com>
654
655 * include/cpplib.h (struct cpp_callbacks): Make error take
656 va_list* parameter.
657 * errors.c (cpp_error): Update call to callback.
658
651ed942
AP
6592005-11-03 Andrew Pinski <pinskia@physics.uc.edu>
660
661 PR preprocessor/22042
662 * macro.c (_cpp_builtin_macro_text): Lower the needed max
663 buffer size.
664 (cpp_quote_string): Don't octalify non printable
665 charactors.
666
178b58b5
JM
6672005-11-03 Joseph S. Myers <joseph@codesourcery.com>
668
669 PR c++/17964
670 * include/cpplib.h (struct cpp_options): Add client_diagnostic.
671 (struct cpp_callbacks): Add error.
672 * errors.c (cpp_error): If client_diagnostic, use error callback.
673 * charset.c (convert_escape): Don't use %03o in diagnostic.
674
3ee5ed11 6752005-10-21 James E Wilson <wilson@specifix.com>
6568f34b
JW
676
677 PR preprocessor/15220
678 * files.c (_cpp_find_file): New parameter angle_brackets. Fix all
679 callers. Pass to open_file_failed.
680 (open_file_failed): New parameter angle_brackets. Fix all callers.
681 Use in print_dep assignment.
682 * init.c (cpp_read_main_file): Pass additional arg to _cpp_find_file.
683 * internal.h (_cpp_find_file): Add new parm to declaration.
f7288899 684
077fc835
KH
6852005-10-08 Kazu Hirata <kazu@codesourcery.com>
686
687 * configure.ac: Require 64-bit int for arm*-*-*eabi*.
688 * configure: Regenerate.
689
cbc43ae0
ILT
6902005-10-04 Ian Lance Taylor <ian@airs.com>
691
692 PR preprocessor/13726
693 * directives.c (check_eol_return_comments): New static function.
694 (parse_include): Add buf parameter. Change all callers.
695 (do_include_common): If not discard comments, turn on
696 save_comments. Pass collected comments to include callback.
697 * include/cpplib.h (struct cpp_callbacks): Add new parameter to
698 include callback: cpp_token list.
699
af15a2fe
JM
7002005-09-20 Joseph S. Myers <joseph@codesourcery.com>
701
702 * include/cpplib.h (struct cpp_options): Add extended_identifiers.
703 * init.c (struct lang_flags, lang_defaults): Add
704 extended_identifiers.
705 (cpp_set_lang): Use it.
706 * lex.c (forms_identifier_p): Check extended_identifiers.
707
f5eab47e
JJ
7082005-08-30 Jakub Jelinek <jakub@redhat.com>
709
710 PR preprocessor/20348
711 PR preprocessor/20356
712 * files.c (_cpp_find_file, search_cache): Revert 2004-06-26 and
713 2004-06-05 changes.
714
467129e6
KG
7152005-07-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
716
717 * configure.ac (ACX_PROG_CC_WARNING_OPTS): add
718 -Wmissing-format-attribute.
719
720 * configure: Regenerate.
721
200031d1
KC
7222005-06-29 Kelley Cook <kcook@gcc.gnu.org>
723
724 * all files: Update FSF address in copyright headers.
725 * makeucnid.c (write_copyright): Update outputted FSF address.
726
f610dd5f
ZW
7272005-06-13 Zack Weinberg <zack@codesourcery.com>
728
729 * configure.ac: Invoke ZW_CREATE_DEPDIR and
730 ZW_PROG_COMPILER_DEPENDENCIES.
731 * aclocal.m4, configure: Regenerate.
732 * Makefile.in (DEPMODE, DEPDIR, depcomp, COMPILE.base, COMPILE):
733 New variables.
734 (distclean): Clean up $(DEPDIR) and its contents.
735 (.c.o): Use $(COMPILE).
736 Include $(DEPDIR)/*.Po for most object->header dependencies.
737
c3f829c1
GDR
7382005-05-28 Gabriel Dos Reis <gdr@integrable-solutions.net>
739
740 * configure.ac: Check declarations for asprintf and vasprintf.
741 * config.in: Regenerate.
742 * configure: Likewise.
743
744 * charset.c (conversion_loop): Use XRESIZEVEC.
745 (convert_no_conversion): Likewise.
746 (convert_using_iconv): Likewise.
747 (init_iconv_desc): Cast return value of alloca.
748 (cpp_host_to_exec_charset): Use XNEWVEC.
749 (emit_numeric_escape): Use XRESIZEVEC.
750 (cpp_interpret_string): Use XNEWVEC.
751 (cpp_interpret_string): Use XRESIZEVEC.
752 (_cpp_interpret_identifier): Cast return value of alloca.
753 (_cpp_convert_input): Use XNEWVEC and XRESIZEVEC.
754 * directives.c (glue_header_name): Use XNEWVEC and XRESIZEVEC.
755 (parse_include): Use XNEWVEC.
756 (insert_pragma_entry): Rename local variable "new" to
f610dd5f 757 "new_entry".
c3f829c1
GDR
758 (save_registered_pragmas): Cast return value of xmemdup.
759 (destringize_and_run): Same for alloca.
760 (parse_assertion): Likewise.
761 (do_assert): Cast allocated storage to proper type.
762 (cpp_define): Likewise.
763 (_cpp_define_builtin): Likewise.
764 (cpp_undef): Likewise.
765 (handle_assertion): Likewise.
766 (cpp_push_buffer): Rename local variable "new" to "new_buffer".
767 * expr.c (CPP_UPLUS): Cast value to type cpp_ttype.
768 (CPP_UMINUS): Likewise.
769 (struct cpp_operator): Rename from struct operator.
770 (_cpp_expand_op_stack): Use XRESIZEVEC.
771 * files.c (pch_open_file): Use XNEWVEC.
772 (pch_open_file): Use XRESIZEVEC.
773 (read_file_guts): Use XNEWVEC and XRESIZEVEC.
774 (dir_name_of_file): Use XNEWVEC.
775 (make_cpp_file): Use XCNEW.
776 (make_cpp_dir): Likewise.
777 (allocate_file_hash_entries): USE XNEWVEC.
778 (cpp_included): Cast return value of htab_find_with_hash.
779 (append_file_to_dir): Use XNEWVEC.
780 (read_filename_string): Likewise. Use XRESIZEVEC too.
781 (read_name_map): Cast return value of alloca. Use XRESIZEVEC.
782 (remap_filename): Use XNEWVEC.
783 (struct pchf_entry): Move definition out of struct pchf_data.
784 (_cpp_save_file_entries): Use XCNEWVAR.
785 (_cpp_read_file_entries): Use XNEWVAR.
786 * identifiers.c (alloc_node): Use XOBNEW.
787 * init.c (cpp_create_reader): Use XCNEW.
788 (cpp_init_builtins): Cast of b->value to enum builtin_type.
789 (read_original_directory): Cast return value of alloca.
790 * lex.c (add_line_note): Use XRESIZEVEC.
791 (warn_about_normalization): Use XNEWVEC.
792 (_cpp_lex_direct): Cast node->directive_index to (enum cpp_ttype).
793 (new_buff): Use XNEWVEC.
794 * line-map.c (linemap_add): Use XRESIZEVEC.
795 * macro.c (builtin_macro): Cast return value of alloca.
796 (paste_tokens): Likewise.
797 (expand_arg): Use XNEWVEC and XRESIZEVEC.
798 (_cpp_save_parameter): Use XRESIZEVEC.
799 (create_iso_definition): Cast allocated storage to proper type.
800 (_cpp_create_definition): Likewise.
801 (cpp_macro_definition): Use XRESIZEVEC.
802 * makedepend.c (add_clm): Use XNEW.
803 (add_dir): Likewise.
804 * mkdeps.c (munge): Use XNEWVEC.
805 (deps_init): Use XCNEW.
806 (deps_add_target): Use XRESIZEVEC.
807 (deps_add_default_target): Cast return value of alloca.
808 (deps_add_dep): Use XRESIZEVEC.
809 (deps_add_vpath): Likewise. Use XNEWVEC too.
810 (deps_restore): Likewise.
811 * pch.c (save_idents): Use XNEW and XNEWVEC.
812 (cpp_save_state): Use XNEW.
813 (count_defs): Cast return value of htab_find.
814 (write_defs): Likewise.
815 (cpp_write_pch_deps): Use XNEWVEC.
816 (collect_ht_nodes): Use XRESIZEVEC.
817 (cpp_valid_state): Use XNEWVEC.
818 (save_macros): Use XRESIZEVEC. Cast return value of xmemdup.
819 * symtab.c (ht_create): Use XCNEW.
820 (ht_lookup_with_hash): Cast return value of obstack_copy0.
821 (ht_expand): Use XCNEWVEC.
822 * system.h (HAVE_DESIGNATED_INITIALIZERS): False if __cplusplus.
823 (bool): Do not define if __cplusplus.
824
1ed17cd5
ZW
8252005-05-12 Zack Weinberg <zack@codesourcery.com>
826
827 * directives.c (#sccs table entry): Mark IN_I, consistent with #ident.
828 (do_sccs): Delete function definition, #define to do_ident.
829 (do_ident): Don't hardwire directive name.
830
5a8c20ce
RK
8312005-05-12 Ryota Kunisawa <kunisawa@access.co.jp>
832
833 PR bootstrap/21230
834 * configure: Regenerate.
835
473c5bc9
AP
8362005-04-27 Andris Pavenis <pavenis@latnet.lv>
837
838 * files.c: Include io.h for DJGPP to get prototype of setmode.
839
c1fc5047
PB
8402005-04-19 Per Bothner <per@bothner.com>
841
842 PR preprocessor/20907
843 * line-map.c (linemap_line_start): Fix bug when we need to increse
844 column_bits but can re-use the current line_map.
845
042630ad
KG
8462005-04-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
847
848 * system.h (fopen, fdopen, freopen): Define these to the unlocked
849 libiberty functions.
850
0d667716
KG
8512005-04-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
852
853 * configure.ac (libcpp_UNLOCKED_FUNCS): New.
854 (AC_CHECK_FUNCS, AC_CHECK_DECLS): Check for libcpp_UNLOCKED_FUNCS.
855 * system.h (putchar, getc, getchar, clearerr, feof, fileno,
856 fflush, fgetc, fgets, ferror, fread): Redefine to the associated
857 _unlocked function.
858 (fwrite_unlocked): Fix prototype.
1ed17cd5 859
0d667716
KG
860 * configure, config.in: Regenerate.
861
cae064e7
JJ
8622005-04-05 Jakub Jelinek <jakub@redhat.com>
863
864 PR preprocessor/19475
865 * macro.c (create_iso_definition): For < ISO C99, don't
866 pedwarn if there is no whitespace between macro name and its
867 replacement, but the replacement starts with a basic character
868 set character.
869
cbada204
AJ
8702005-03-28 Andreas Jaeger <aj@suse.de>
871
872 * lex.c (warn_about_normalization): Cast field width to int to
873 avoid warning.
874
f42eccdb
JM
8752005-03-19 Joseph S. Myers <joseph@codesourcery.com>
876
877 * configure.ac: Consistently use solaris2.1[0-9]* instead of
878 solaris2.1[0-9].
879 * configure: Regenerate.
880
c79e602b
GK
8812005-03-15 Geoffrey Keating <geoffk@apple.com>
882
883 * charset.c (_cpp_valid_ucn): In identifiers, reject a partial
884 UCN rather than printing an error.
885
50668cf6
GK
8862005-03-14 Geoffrey Keating <geoffk@apple.com>
887
6baba9bb
GK
888 * lex.c (forms_identifier_p): Disable UCNs in C89 mode.
889
8902005-03-14 Geoffrey Keating <geoffk@apple.com>
1ed17cd5 891
50668cf6
GK
892 * init.c (cpp_create_reader): Default warn_normalize to normalized_C.
893 * charset.c: Update for new format of ucnid.h.
894 (ucn_valid_in_identifier): Update for new format of ucnid.h.
895 Add NST parameter, and update it; update callers.
896 (cpp_valid_ucn): Add NST parameter, update callers. Replace abort
897 with cpp_error.
898 (convert_ucn): Pass normalize_state to cpp_valid_ucn.
899 * internal.h (struct normalize_state): New.
900 (INITIAL_NORMALIZE_STATE): New.
901 (NORMALIZE_STATE_RESULT): New.
902 (NORMALIZE_STATE_UPDATE_IDNUM): New.
903 (_cpp_valid_ucn): New.
904 * lex.c (warn_about_normalization): New.
905 (forms_identifier_p): Add normalize_state parameter, update callers.
906 (lex_identifier): Add normalize_state parameter, update callers. Keep
907 the state current.
908 (lex_number): Likewise.
909 (_cpp_lex_direct): Pass normalize_state to subroutines. Check
910 it with warn_about_normalization.
911 * makeucnid.c: New.
912 * ucnid.h: Replace.
913 * ucnid.pl: Remove.
914 * ucnid.tab: Make appropriate for input to makeucnid.c. Remove
915 comments about obsolete version of C++.
916 * include/cpplib.h (enum cpp_normalize_level): New.
917 (struct cpp_options): Add warn_normalize field.
918
47e20491
GK
9192005-03-11 Geoffrey Keating <geoffk@apple.com>
920
921 * directives.c (glue_header_name): Update call to cpp_spell_token.
922 * internal.h (_cpp_interpret_identifier): New.
923 * charset.c (_cpp_interpret_identifier): New.
924 (_cpp_valid_ucn): Allow UCN version of '$'.
925 * lex.c (lex_identifier): Add extra parameter to indicate if initial
926 character was '$' or '\'. Support identifiers with UCNs.
927 (forms_identifier_p): Allow UCNs.
928 (_cpp_lex_direct): Pass extra parameter to lex_identifier.
929 (utf8_to_ucn): New.
930 (cpp_spell_token): Add FORSTRING parameter. Use it.
931 (cpp_token_as_text): Update call to cpp_spell_token.
932 (cpp_output_token): Write UCNs back out.
933 (stringify_arg): Update call to cpp_spell_token.
934 (paste_tokens): Likewise.
935 (cpp_macro_definition): Likewise.
936 * macro.c (stringify_arg): Likewise.
937 (paste_tokens): Likewise.
938 (cpp_macro_definition): Likewise.
939 * include/cpplib.h: Add parameter to cpp_spell_token.
940
73096711
JJ
9412005-03-04 Jakub Jelinek <jakub@redhat.com>
942
943 PR bootstrap/20282
944 PR bootstrap/20305
945 * macro.c (replace_args, cpp_get_token): Copy whole
946 cpp_token_u instead of just cpp_string field from it.
947
2203a881
DP
9482005-02-28 Devang Patel <dpatel@apple.com>
949
950 * directives.c (do_line): Save sysp early before line table is
951 realloc'ed.
1ed17cd5 952
c5ff069d
ZW
9532005-02-20 Zack Weinberg <zack@codesourcery.com>
954
955 PR 18785
956 * charset.c (LAST_POSSIBLY_BASIC_SOURCE_CHAR): New helper macro.
957 (cpp_host_to_exec_charset): New function.
958 * include/cpplib.h: Declare cpp_host_to_exec_charset.
959
04c90eea
DP
9602005-02-19 Devang Patel <dpatel@apple.com>
961
962 * charset.c (_cpp_convert_input): Check '\r' before inserting
963 '\n' at the end.
c5ff069d 964
6da55c00
EC
9652005-02-15 Eric Christopher <echristo@redhat.com>
966
967 PR preprocessor/19077
968 * macro.c (cpp_macro_definition): Move handling of whitespace
969 to PREV_WHITE conditional. Remove overloading of len
970 variable.
971
31c3e631
KH
9722005-02-14 Kazu Hirata <kazu@cs.umass.edu>
973
974 * directives.c, files.c, init.c, internal.h, macro.c, pch.c,
975 traditional.c: Update copyright.
976
be0f1e54
PB
9772005-02-14 Paolo Bonzini <bonzini@gnu.org>
978
979 PR bootstrap/19818
980 * configure.ac: Check for declaration of basename and getopt.
981 * config.in: Regenerate.
982 * configure: Regenerate.
983 * internal.h (ustrcspn): New.
984 * macro.c (create_iso_definition): Fix allocation of memory.
985 (padding_token): Add cast to remove const-ness.
986 * pch.c (cpp_read_state): Use ustrcspn.
987
ecddfb39
MS
9882005-02-08 Mike Stump <mrs@apple.com>
989
990 * files.c (pchf_adder): Remove.
991 (struct pchf_adder_info): Likewise.
992 (_cpp_save_file_entries): Write out all files so that #import works.
993
9fcdd891
JM
9942005-01-23 Joseph S. Myers <joseph@codesourcery.com>
995
996 * configure: Regenerate.
997
ecfd72e7
TS
9982005-01-11 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
999
1000 * include/cpplib.h (c_lang): Fix comment to say cpp_create_reader.
1001
6c25a4f7 1002 * include/cpplib.h: Also update copyright years.
c5ff069d 1003
942926ad
GK
10042005-01-03 Geoffrey Keating <geoffk@apple.com>
1005
1006 * files.c (_cpp_find_file): Add files found by search_path_exhausted
1007 to the list of all files.
1008
a2566ae9
GDR
10092005-01-01 Gabriel Dos Reis <gdr@integrable-solutions.net>
1010
1011 * internal.h: Update references to Cpp lib filenames.
1012 * directives.c: Likewise.
1013 * init.c: Likewise.
1014 * macro.c: Likewise.
1015 * traditional.c: Likewise.
1016
1b449375
EB
10172004-12-15 Eric Botcazou <ebotcazou@libertysurf.fr>
1018
1019 PR preprocessor/15167
1020 * files.c (destroy_cpp_file): New function.
1021 (should_stack_file): Make a new file if the
1022 compared file is still stacked.
1023
28303828
NN
10242004-11-28 Nathanael Nerode <neroden@gcc.gnu.org>
1025
c5ff069d 1026 PR preprocessor/17610
28303828
NN
1027 * directives.c (do_include_common): Error out if an empty filename
1028 is given for #include (or #include_next or #import).
1029
c812785a
RS
10302004-11-27 Roger Sayle <roger@eyesopen.com>
1031 Zack Weinberg <zack@codesourcery.com>
1032
1033 * internal.h: Replace all uses of uchar with unsigned char.
1034 * include/cpp-id-data.h: Likewise. Guard typedef of uchar
1035 with !IN_GCC, so uchar is only defined whilst building libcpp.
1036
f91eaa01
KC
10372004-11-24 Kelley Cook <kcook@gcc.gnu.org>
1038
1039 * aclocal.m4: Regenerate.
1040
f78ce0c2
RS
10412004-11-24 Roger Sayle <roger@eyesopen.com>
1042
1043 PR preprocessor/15824
1044 * configure.ac: Correct HAVE_UCHAR test to #include <sys/types.h>
1045 directly, instead of the non-existant "system.h" and "ansidecl.h".
1046 * configure: Regenerate.
1047
b5b3e36a 10482004-11-23 Daniel Jacobowitz <dan@codesourcery.com>
c5ff069d 1049 Joseph Myers <joseph@codesourcery.com>
b5b3e36a
DJ
1050
1051 * internal.h (struct lexer_state): Add in_deferred_pragma.
1052 * directives.c (struct pragma_entry): Add allow_expansion.
1053 (insert_pragma_entry): Take allow_expansion flag.
1054 (register_pragma): Likewise.
1055 (cpp_register_pragma): Likewise.
1056 (_cpp_init_internal_pragmas): Update calls to cpp_register_pragma.
1057 (do_pragma): Honor allow_expansion.
1058 (cpp_handle_deferred_pragma): Set in_deferred_pragma.
1059 * include/cpplib.h (cpp_register_pragma): Update prototype.
1060
a8e68029 10612004-11-18 Daniel Jacobowitz <dan@codesourcery.com>
c5ff069d 1062 Mark Mitchell <mark@codesourcery.com>
a8e68029
DJ
1063
1064 * configure.ac (i[34567]86-*-solaris2.1[0-9]*): Set
1065 need_64bit_hwint=yes.
1066 * configure: Regenerate.
1067
50f47ee0
JM
10682004-11-09 Joseph S. Myers <joseph@codesourcery.com>
1069
1070 * Makefile.in ($(PACKAGE).pot): New rule. Depend on
1071 po/$(PACKAGE).pot.
1072 (po/$(PACKAGE).pot): Use ":" instead of "," in --keyword
1073 arguments. Add keywords _, N_, SYNTAX_ERROR and SYNTAX_ERROR2.
1074 Remove local srcdir path from generated file.
1075
968e08d6 10762004-11-04 Zack Weinberg <zack@codesourcery.com>
c5ff069d 1077 Gerald Pfeifer <gerald@pfeifer.com>
968e08d6
ZW
1078
1079 * internal.h (HAVE_ICONV): Undefine if we do not have HAVE_ICONV_H
1080 as well.
1081
3da3d587
ZW
10822004-10-27 Zack Weinberg <zack@codesourcery.com>
1083
1084 PR 18075
1085 * directives.c (do_pragma): Do not defer pragmas which are unknown.
1086 (cpp_handle_deferred_pragma): Add cast to silence warning.
1087
ac24fc25
JM
10882004-10-14 Joseph S. Myers <jsm@polyomino.org.uk>
1089
1090 * errors.c (_cpp_begin_message): Print "error: " for errors.
1091
7731405b
AJ
10922004-10-10 Andreas Jaeger <aj@suse.de>
1093
1094 * makedepend.c: Include mkdeps.h for prototype of deps_add_vpath.
1095 * Makefile.in (makedepend.o): Add dependency on mkdeps.h.
1096
646544e3
AP
10972004-10-08 Andrew Pinski <pinskia@physics.uc.edu>
1098
1099 * pch.c (cpp_write_pch_state): Remove variable z as it is not
1100 used.
1101 (cpp_read_state): Remove unused variables, m, d and mac_count.
1102
67a74146
PB
11032004-09-29 Per Bothner <per@bothner.com>
1104
1105 * directives.c (cpp_handle_deferred_pragma): Save, clear and restore
1106 cb.line_change. Otherwise do_pragma will call the line_change
1107 call-back with a meaningless line number.
1108
018a4785
ZW
11092004-09-24 Zack Weinberg <zack@codesourcery.com>
1110
1111 * configure.ac: Move AC_PROG_MAKE_SET, AC_PROG_INSTALL to
1112 programs cluster. Use ACX_PROG_CC_WARNING_OPTS,
1113 ACX_PROG_CC_WARNING_ALMOST_PEDANTIC, ACX_PROG_CC_WARNINGS_ARE_ERRORS.
1114 * aclocal.m4, configure: Regenerate.
1115 * init.c: Include localedir.h.
1116 * Makefile.in (WARN_CFLAGS, ALL_CFLAGS): New variables.
1117 (DEFS): Delete.
1118 (.c.o): Use $(ALL_CFLAGS).
1119 (localedir.h, localedir.hs): New rules.
1120 (clean): Use rm -rf to remove directories.
1121 (distclean): Also delete localedir.h and localedir.hs.
1122 (init.o): Update dependencies.
1123
88fa57d7
KC
11242004-09-22 Kelley Cook <kcook@gcc.gnu.org>
1125
1126 * Makefile.in (aclocal.m4): Update dependencies.
1127 * configure.ac (AC_CONFIG_MACRO_DIR): New.
1128 * aclocal.m4, configure: Regenerate.
1129
8f8e9aa5
ZW
11302004-09-17 Zack Weinberg <zack@codesourcery.com>
1131
a29f62d9
ZW
1132 * charset.c (_cpp_destroy_iconv, emit_numeric_escape)
1133 (_cpp_convert_input, _cpp_default_encoding): Add comments.
1134 Some other comments in this file also tweaked.
1135
8f8e9aa5
ZW
1136 * directives.c (do_pragma): Save current buffer position
1137 before lexing the pragma keywords; don't call
1138 _cpp_backup_tokens in the defer_pragmas case.
1139
a2981930
PB
11402004-09-15 Per Bothner <per@bothner.com>
1141
1142 * include/line-map.h (line_map_start): Add parameter names so
1143 preceding comment makes sense.
1144 (linemap_add): Remove from comment mention of non-existing parameter.
1145
21b11495
ZW
11462004-09-09 Matt Austern <austern@apple.com>
1147 Zack Weinberg <zack@codesourcery.com>
1148
1149 * include/cpplib.h (TTYPE_TABLE): Remove CPP_ and SPELL_
1150 prefixes throughout. Add entry for PRAGMA. Remove
1151 unnecessary "= 0" from EQ.
1152 (enum cpp_ttype): Adjust OP and TK definitions to restore
1153 prefixes, via token-paste.
1154 (CPP_LAST_EQ, CPP_FIRST_DIGRAPH, CPP_LAST_PUNCTUATOR, CPP_LAST_CPP_OP):
1155 Change from #defines to additional cpp_ttype enumerators.
1156 (struct cpp_options): Add defer_pragmas.
1157 (cpp_handle_deferred_pragma): Prototype new interface.
1158
1159 * internal.h (struct cpp_reader): Add directive_result.
1160 * directives.c (struct pragma_entry): Add is_internal field;
1161 give boolean fields type bool.
1162 (start_directive): Initialize pfile->directive_result.type.
1163 (_cpp_do__Pragma): Likewise.
1164 (run_directive): Do not crash if pfile->buffer->prev is NULL.
1165 (insert_pragma_entry): Add 'internal' argument; set new->is_internal
1166 from it.
1167 (register_pragma): New static function, bulk of former
1168 cpp_register_pragma here; add 'internal' argument, pass along
1169 to insert_pragma_entry.
1170 (cpp_register_pragma): Now a wrapper around register_pragma which
1171 always passes false for 'internal' argument.
1172 (_cpp_init_internal_pragmas): Call register_pragma directly, passing
1173 true for 'internal'.
1174 (do_pragma): If CPP_OPTION (pfile, defer_pragmas) and this isn't
1175 an internal pragma, save text till the end of the line as a CPP_PRAGMA
1176 token instead of executing the pragma.
1177 (cpp_handle_deferred_pragma): New interface.
1178 * lex.c (token_spellings): Adjust OP and TK definitions to
1179 match changes to cpplib.h.
1180 (_cpp_lex_token): Check for a directive-result token and
1181 return it if present.
1182 (cpp_token_val_index): Handle CPP_PRAGMA.
1183 * macro.c (cpp_builtin_macro_text): Correct comment.
1184 (builtin_macro): Handle directive-result tokens from _cpp_do__Pragma.
1185
0fd9e8dd
SB
11862004-09-06 Serge Belyshev <belyshev@lubercy.com>
1187
1188 PR preprocessor/14699
1189 * symtab.c (ht_dump_statistics): Change type of sum_of_squares
1190 from size_t to double.
1191
39b8ce7f
AS
11922004-08-28 Andreas Schwab <schwab@suse.de>
1193 Andreas Jaeger <aj@suse.de>
1194
1195 * configure.ac: Set PACKAGE correctly.
1196 * configure: Regenerated.
1197
5d1f4b27
PB
11982004-08-25 Paolo Bonzini <bonzini@gnu.org>
1199
1200 * Makefile.in: Add back top_builddir.
1201
078e3ffe
PB
12022004-08-25 Paolo Bonzini <bonzini@gnu.org>
1203
1204 * configure.ac: Replace Automake macro invocations
1205 with manual Autoconf checks and substitutions.
1206 * configure: Regenerate.
1207 * aclocal.m4: Regenerate.
1208 * config.in: Regenerate.
1209 * Makefile.am: Removed.
1210 * Makefile.in: Heavy simplification and reorganization.
1211
b3f8d95d
MM
12122004-08-09 Mark Mitchell <mark@codesourcery.com>
1213
1214 * configure.ac (arm*-*-eabi*): New target.
1215 (arm*-*-symbianelf*): Likewise.
1216 * configure: Regenerated.
1217
72bb2c39
BI
12182004-07-24 Bernardo Innocenti <bernie@develer.com>
1219
1220 * internal.h (xnew, xcnew, xnewvec, xcnewvec, xobnew): Remove.
1221 * directives.c: Use XNEW-family macros from libiberty.
1222 * lex.c: Likewise.
1223 * macro.c: Likewise.
1224 * cpplib.h (cpp_deps_style): Export enum with name.
1225
21b11495 12262004-07-23 Matthias Klose <doko@debian.org>
72bb2c39 1227
21b11495 1228 * init.c (init_library): Use PACKAGE for the text domain.
85eac2a0 1229
a23ee064
AP
12302004-07-16 Andris Pavenis <pavenis@latnet.lv>
1231
1232 PR preprocessor/16366
1233 * internal.h (struct cpp_reader): New field dir_hash.
1234 * files.c (make_cpp_dir): Use dir_hash, not file_hash.
1235 (_cpp_init_files, _cpp_cleanup_files): Update for new field.
1236
a09d4744
NB
12372004-07-04 Neil Booth <neil@duron.akihabara.co.uk>
1238
1239 PR preprocessor/16192
1240 PR preprocessor/15913
1241 PR preprocessor/15572
1242 * expr.c (_cpp_parse_expr): Handle remaining cases where an
1243 expression is missing.
1244 * init.c (post_options): Traditional cpp doesn't do // comments.
1245
f58f7def
PB
12462004-06-30 Per Bothner <per@bothner.com>
1247
1248 * include/line-map.h (fileline): Remove old typedef.
1249 * internal.h (struct cpp_reader): Use source_location typedef instead.
1250
e83d8d43
ZW
12512004-06-26 Zack Weinberg <zack@codesourcery.com>
1252
1253 Partially revert patch of 2004-06-05.
1254 * files.c (search_cache): Remove pfile argument. Don't check
1255 for file that would be found by "" or <> search here...
1256 (_cpp_find_file): ...do it here, before calling find_file_in_dir.
1257 Do not apply directory-of-current-file correction to files
1258 found by this check. Rearrange code slightly.
1259
c0d578e6
GK
12602004-06-21 Geoffrey Keating <geoffk@apple.com>
1261
1262 * files.c (should_stack_file): Correct swapped parameters to call
1263 to cb.read_pch.
1264 * pch.c (cpp_valid_state): Handle -fpreprocessed.
1265
159d5224
PB
12662004-06-15 Paolo Bonzini <bonzini@gnu.org>
1267
1268 * Makefile.in: Regenerate with automake 1.8.5.
1269 * aclocal.m4: Likewise.
1270 * configure: Regenerate.
1271
2fac9c01
ZW
12722004-06-11 Zack Weinberg <zack@codesourcery.com>
1273
1274 * configure.ac: Don't invoke ACX_HEADER_STDBOOL.
1275 * configure, config.in: Regenerate.
1276 * system.h: Unconditionally define bool as unsigned char,
1277 BOOL_BITFIELD as unsigned int.
1278 * .cvsignore: New file.
1279
d8044160
GK
12802004-06-09 Geoffrey Keating <geoffk@apple.com>
1281
1282 * traditional.c (push_replacement_text): Set macro->traditional.
1283 (save_replacement_text): Likewise.
1284 * pch.c (cpp_write_pch_state): Don't write list of defined macros.
1285 (struct save_macro_item): Delete.
1286 (struct save_macro_data): Use a character array not the previous
1287 structured format.
1288 (save_macros): Save macro as text not as internal structures.
1289 (cpp_prepare_state): Update for changes to save_macro_data.
1290 (cpp_read_state): Don't read macros defined in PCH. Restore
2cf22451 1291 -D macros as text.
d8044160
GK
1292 * macro.c (create_iso_definition): Honour alloc_subobject.
1293 Clear traditional flag.
1294 (_cpp_create_definition): Honour alloc_subobject.
1295 * lex.c (cpp_token_val_index): New.
1296 * internal.h: Include cpp-id-data.h.
1297 (uchar): Move definition to cpp-id-data.h.
1298 (U): Likewise.
1299 (cpp_macro): Likewise.
1300 * directives.c (struct answer): Move to cpp-id-data.h.
1301 (do_assert): Honour alloc_subobject.
2cf22451
ZW
1302
1303 * include/symtab.h (struct ht): Add field 'alloc_subobject'.
1304 * include/cpplib.h (struct cpp_string): Add GTY marker.
1305 (enum cpp_token_fld_kind): New.
1306 (struct cpp_token): Add GTY markers.
1307 (cpp_token_val_index): Prototype.
1308 (CPP_HASHNODE_VALUE_IDX): New.
1309 (struct cpp_hashnode): Don't skip fields of 'value' when marking.
1310 * include/cpp-id-data.h: New file.
d8044160 1311
0ca8e815
PB
13122004-06-09 Paolo Bonzini <bonzini@gnu.org>
1313
1314 * Makefile.am (all-local): New.
1315 * Makefile.in: Regenerate.
1316
b51fa00f
RS
13172004-06-06 Roger Sayle <roger@eyesopen.com>
1318
1319 * Makefile.am (LIBICONV): Declare.
1320 (makedepend_LDADD): Use LIBICONV.
1321 * Makefile.in: Regenerate.
1322
5e2f3f39
AP
13232004-06-05 Andrew Pinski <pinskia@physics.uc.edu>
1324
1325 * Makefile.am (LIBINTL): Declare
1326 (makedepend_LDADD): Use LIBINTL.
1327 * Makefile.in: Regenerate.
1328
c6e83800
ZW
13292004-06-05 Zack Weinberg <zack@codesourcery.com>
1330
1331 * Makefile.am: Add makedepend.
1332 * Makefile.in, aclocal.m4: Regenerate.
1333 * charset.c: Insert a space to avoid a warning.
1334 * directives.c: Include mkdeps.h.
1335 (_cpp_handle_directive): Reenable macro expander if appropriate.
1336 (undefine_macros): Inline body of _cpp_free_definition for speed.
1337 Do not call undef callback or _cpp_warn_if_unused_macro.
1338 (cpp_get_deps): New interface.
1339 * files.c (search_cache): Add pfile argument. Check for file
1340 that would be found by "" or <> search here...
1341 (_cpp_find_file): ...not here. Correct recorded start_dir of
1342 files found by directory-of-current-file search that would be
1343 found by "" or <> search.
1344 * init.c (cpp_add_dependency_target): Delete.
1345 * internal.h (struct lexer_state): Add discarding_output flag.
1346 * lex.c (lex_identifier): Compute hash function while scanning.
1347 * macro.c (cpp_scan_nooutput): Disable macro expansion outside
1348 directives.
1349 * makedepend.c: New file.
1350 * mkdeps.c (struct deps): Add vpath vector.
1351 (apply_vpath, deps_add_vpath): New function.
1352 (deps_free): Free vpath vector.
1353 (deps_add_dep, deps_add_target): Use apply_vpath.
1354 * symtab.c (calc_hash): Use HT_HASHSTEP and HT_FINISH.
1355 (ht_lookup_with_hash): New function.
1356 * cpplib.h, mkdeps.h: Update prototypes.
1357 * symtab.h: Update prototypes.
1358 (HT_HASHSTEP, HT_FINISH): New macros.
1359
b453c95f
GK
13602004-05-29 Geoffrey Keating <geoffk@apple.com>
1361
1362 * symtab.c (ht_create): Set entries_owned.
1363 (ht_destroy): Honour entries_owned.
1364 (ht_expand): Likewise.
1365 (ht_load): New.
2cf22451
ZW
1366 * include/symtab.h (struct ht): New field 'entries_owned'
1367 (ht_load): New prototype.
b453c95f 1368
963e23c5
PB
13692004-05-26 Paolo Bonzini <bonzini@gnu.org>
1370
1371 PR bootstrap/15651
1372 * configure.ac: Fix m4 quoting when picking
1373 the size of HOST_WIDE_INT.
1374 * configure: Regenerate.
1375
0429bc77
PB
13762004-05-25 Paolo Bonzini <bonzini@gnu.org>
1377
1378 * Makefile.am: the correct directory for
1379 gettext include files is given by @INCINTL@.
1380 * Makefile.in: Regenerate.
1381
c86dd7db
PB
13822004-05-24 Paolo Bonzini <bonzini@gnu.org>
1383
1384 * system.h [!ENABLE_NLS]: dgettext takes two
1385 parameters.
1386
4f4e53dd
PB
13872004-05-23 Paolo Bonzini <bonzini@gnu.org>
1388
1389 Moved libcpp from the gcc subdirectory to the toplevel.
1390 * Makefile.am: New file.
1391 * Makefile.in: Regenerate.
1392 * configure.ac: New file.
1393 * configure: Regenerate.
1394 * config.in: Regenerate.
1395 * charset.c: Moved from gcc/cppcharset.c. Add note about
1396 brokenness of input charset detection. Adjust for change
1397 in name of cppucnid.h.
1398 * errors.c: Moved from gcc/cpperror.c. Do not include intl.h.
1399 * expr.c: Moved from gcc/cppexp.c.
1400 * files.c: Moved from gcc/cppfiles.c. Do not include intl.h.
1401 Remove #define of O_BINARY, it is in system.h.
1402 * identifiers.c: Moved from gcc/cpphash.c.
1403 * internal.h: Moved from gcc/cpphash.h. Change header
1404 guard name. All other files adjusted to match name change.
1405 * init.c: Moved from gcc/cppinit.c.
1406 (init_library) [ENABLE_NLS]: Call bindtextdomain.
1407 * lex.c: Moved from gcc/cpplex.c.
1408 * directives.c: Moved from gcc/cpplib.c.
1409 * macro.c: Moved from gcc/cppmacro.c.
1410 * pch.c: Moved from gcc/cpppch.c. Do not include intl.h.
1411 * traditional.c: Moved from gcc/cpptrad.c.
1412 * ucnid.h: Moved from gcc/cppucnid.h. Change header
1413 guard name.
1414 * ucnid.pl: Moved from gcc/cppucnid.pl.
1415 * ucnid.tab: Moved from gcc/cppucnid.tab. Change header
1416 guard name.
1417 * symtab.c: Moved from gcc/hashtable.c.
1418 * line-map.c: Moved from gcc. Do not include intl.h.
1419 * mkdeps.c: Moved from gcc.
1420 * system.h: New file.
2cf22451
ZW
1421 * include/cpplib.h: Moved from gcc. Change header guard name.
1422 * include/line-map.h: Moved from gcc. Change header guard name.
1423 * include/mkdeps.h: Moved from gcc. Change header guard name.
1424 * include/symtab.h: Moved from gcc/hashtable.h. Change header
1425 guard name.