Tom Tromey
161031e3ae
Makefile.in (POSTCOMPILE): New variable.
...
* Makefile.in (POSTCOMPILE): New variable.
(.c.o): Use it.
From-SVN: r133682
2008-03-28 13:32:47 +00:00
Joseph Myers
5bbc43bfd3
* fr.po: Update.
...
From-SVN: r133665
2008-03-28 02:07:37 +00:00
Joseph Myers
6fd85d2144
* vi.po: Update.
...
From-SVN: r133376
2008-03-20 13:55:23 +00:00
Joseph Myers
88ab8cf2a5
* es.po, nl.po: Update.
...
From-SVN: r133322
2008-03-18 19:59:25 +00:00
Joseph Myers
107276837f
* zh_CN.po: Update.
...
From-SVN: r133255
2008-03-15 17:58:46 +00:00
Joseph Myers
a02fbb400f
* de.po: Update.
...
From-SVN: r133244
2008-03-15 12:01:29 +00:00
Joseph Myers
988071547d
* sv.po: Update.
...
From-SVN: r133225
2008-03-14 20:51:34 +00:00
Joseph Myers
edd3c31e3f
rw.po: Remove.
...
* rw.po: Remove.
* be.po, ca.po, da.po, de.po, el.po, es.po, fr.po, ja.po, nl.po,
sv.po, tr.po, uk,po, vi.po, zh_CN.po, zh_TW.po: Update.
From-SVN: r133211
2008-03-14 13:11:20 +00:00
Tom Tromey
14ccf8003e
re PR preprocessor/35322 (ICE with incomplete macro)
...
gcc/testsuite
PR libcpp/35322:
* gcc.dg/cpp/pr35322.c: New file.
libcpp
PR libcpp/35322:
* directives.c (destringize_and_run): Set pfile->directive.
From-SVN: r133195
2008-03-13 21:10:07 +00:00
Markus Milleder
830465c6ea
re PR preprocessor/35458 (Dependency generation (-M) does not quote '#' in filenames)
...
libcpp
2008-03-06 Markus Milleder <markus.milleder@generali.at>
PR preprocessor/35458
* mkdeps.c (munge): Quote '#' with a '\'.
gcc/testsuite
2008-03-06 Markus Milleder <markus.milleder@generali.at>
PR preprocessor/35458
* gcc.dg/cpp/cmdlne-M-2.c: New file.
* gcc.dg/cpp/cmdlne-M-2#.h: New file.
* gcc.dg/cpp/#cmdlne-M-2.h: New file.
From-SVN: r132982
2008-03-06 18:08:40 +00:00
Ralf Wildenhues
d482a07324
re PR preprocessor/35379 (-MT generates a target string too long over two lines)
...
libcpp:
PR preprocessor/35379
* mkdeps.c (deps_write): Ensure the first target always appears
in the first column, without leading backslash newline. Avoid
some more extra whitespace.
From-SVN: r132727
2008-02-27 21:42:23 +00:00
Thiemo Seufer
185a6cc159
Makefile.in ($(srcdir)/config.in): Depend on configure.ac.
...
From-SVN: r132670
2008-02-26 11:41:01 +00:00
Tom Tromey
2bf41bf05d
traditional.c (lex_identifier): Use CPP_HASHNODE.
...
* traditional.c (lex_identifier): Use CPP_HASHNODE.
* lex.c (lex_identifier): Use CPP_HASHNODE.
* include/line-map.h (LINEMAP_POSITION_FOR_COLUMN): Wrap in
do-while.
* identifiers.c (alloc_node): Change return type.
(_cpp_init_hashtable): Don't cast 'alloc_node'.
(proxy_assertion_broken): New declaration.
(cpp_forall_identifiers): Move comment.
* line-map.c (linemap_add): Comment fix.
(linemap_line_start): Indentation fix.
From-SVN: r132467
2008-02-20 02:16:43 +00:00
Joseph Myers
0d7bcd0f35
* cpplib.pot: Regenerate.
...
From-SVN: r132001
2008-02-01 16:26:03 +00:00
Jakub Jelinek
765d600ac5
re PR preprocessor/34692 (Internal error with pragma in macro)
...
PR preprocessor/34692
* macro.c (collect_args): Add pragma_buff argument. Push
CPP_PRAGMA ... CPP_PRAGMA_EOL tokens to *pragma_buff, rather
than into arguments. Reset prevent_expansion and parsing_args
state at CPP_PRAGMA_EOL/CPP_EOF.
(funlike_invocation_p): Add pragma_buff argument, pass it through
to collect_args.
(enter_macro_context): Add result argument. Adjust
funlike_invocation_p caller. Emit all deferred pragma tokens
gathered during collect_args before the expansion, add a padding
token. Return 2 instead of 1 if any pragma tokens were prepended.
(cpp_get_token): If enter_macro_context returns 2, don't return
a padding token, instead cycle to grab CPP_PRAGMA token.
* directives.c (_cpp_handle_directive): If was_parsing_args
in deferred pragma, leave parsing_args and prevent_expansion as is.
* gcc.dg/cpp/pr34692.c: New test.
* gcc.dg/gomp/pr34692.c: New test.
From-SVN: r131819
2008-01-25 10:01:27 +01:00
Tom Tromey
ec46053bfa
re PR c++/34859 (g++ -D__STDC_LIMIT_MACROS -D__STDC_LIMIT_MACROS causes error)
...
libcpp
PR c++/34859:
* macro.c (_cpp_create_definition): Handle __STDC_LIMIT_MACROS and
__STDC_CONSTANT_MACROS.
gcc/testsuite
PR c++/34859:
* gcc.dg/cpp/pr34859.c: New file.
From-SVN: r131743
2008-01-22 21:43:49 +00:00
Joseph Myers
bdf8f544b6
* sv.po: Update.
...
From-SVN: r131678
2008-01-20 14:53:58 +00:00
Joseph Myers
1831259863
* sv.po: Update.
...
From-SVN: r131664
2008-01-20 00:13:43 +00:00
Joseph Myers
e523d4f296
* sv.po: Update.
...
From-SVN: r131663
2008-01-20 00:12:09 +00:00
Fred Fish
681c6ab0da
re PR preprocessor/30363 (Support for -traditional-cpp is incomplete in current gcc relative to gcc 2.95.3)
...
libcpp
2008-01-07 Fred Fish <fnf@specifix.com>
PR preprocessor/30363:
* traditional.c (replace_args_and_push): Add local variable
cxtquote, calculate the replacement text size assuming a
worst case of every input character quoted with backslash,
and properly handle output quoting of quote characters in
actual arguments used in function-like macros.
gcc/testsuite
2008-01-07 Fred Fish <fnf@specifix.com>
PR preprocessor/30363:
* gcc.dg/cpp/trad/macroargs.c: Add code to test quoting in
macro expansions.
From-SVN: r131379
2008-01-07 17:23:40 +00:00
Tom Tromey
33ae48375f
re PR preprocessor/34602 (Internal error with invalid #line directive)
...
libcpp
PR preprocessor/34602.
* directives.c (do_line): Don't try to spell EOF token.
(do_linemarker): Add comment.
gcc/testsuite
PR preprocessor/34602:
* gcc.dg/cpp/pr34602.c: New file.
From-SVN: r131304
2008-01-03 17:58:26 +00:00
DJ Delorie
675575f57a
charset.c (convert_using_iconv): Close out any shift states, returning to the initial state.
...
* charset.c (convert_using_iconv): Close out any shift states,
returning to the initial state.
From-SVN: r130785
2007-12-11 20:38:10 -05:00
Tom Tromey
97f6bd406c
re PR c/29172 (--combine can't handle #pragma once)
...
gcc
PR c/29172:
* c-opts.c (c_common_parse_file): Call cpp_clear_file_cache.
libcpp
PR c/29172:
* internal.h (struct cpp_reader) <file_hash_entries>: Changed
type.
<file_hash_entries_allocated, file_hash_entries_used>: Removed.
* files.c (FILE_HASH_POOL_SIZE): New macro.
(struct file_hash_entry_pool): New.
(destroy_all_cpp_files): New function.
(allocate_file_hash_entries): Allocate a file_hash_entry_pool.
(new_file_hash_entry): Update.
(free_file_hash_entries): New function.
(_cpp_cleanup_files): Call free_file_hash_entries and
destroy_all_cpp_files.
(cpp_clear_file_cache): New function.
* include/cpplib.h (cpp_clear_file_cache): Declare.
From-SVN: r130656
2007-12-06 18:56:26 +00:00
Joseph Myers
4fa3bca112
* vi.po: Update.
...
From-SVN: r130615
2007-12-05 01:48:45 +00:00
Tom Tromey
d56a25e130
( 5)
...
From-SVN: r130586
2007-12-03 21:04:47 +00:00
Tom Tromey
607f74e9c6
re PR preprocessor/32868 (Don't warn about redefinitions of __STDC_FORMAT_MACROS)
...
libcpp
PR preprocessor/32868:
* macro.c (_cpp_create_definition): Special case
__STDC_FORMAT_MACROS.
gcc/testsuite
PR preprocessor/32868:
* gcc.dg/cpp/pr32868.c: New file.
From-SVN: r130544
2007-11-30 18:24:01 +00:00
Tom Tromey
dc3800e59e
Really remove accidentally committed ChangeLog entry
...
From-SVN: r130541
2007-11-30 17:44:03 +00:00
Michael Matz
b0f4807f9e
* files.c (search_path_head): Fix check for absolute paths.
...
From-SVN: r130229
2007-11-16 13:46:57 +00:00
Joseph Myers
5e2ec4b268
* es.po: Update.
...
From-SVN: r130204
2007-11-15 16:18:41 +00:00
Tom Tromey
7803a05def
Fix erroneous ChangeLog change
...
From-SVN: r130094
2007-11-12 00:40:07 +00:00
Tom Tromey
f1e207107a
re PR c++/17577 (#pragma implementation no longer diagnoses use after file to which it applies)
...
gcc/cp
PR c++/17577:
* lex.c (handle_pragma_implementation): Use cpp_included_before.
gcc/testsuite
PR c++/17577:
* g++.dg/ext/pr17577.h: New file.
* g++.dg/ext/pr17577.C: New file.
libcpp
PR c++/17557:
* include/cpplib.h (cpp_included_before): Declare.
* files.c (struct file_hash_entry) <location>: New field.
(_cpp_find_file): Initialize new field.
(make_cpp_dir): Likewise.
(cpp_included_before): New function.
From-SVN: r130093
2007-11-12 00:38:48 +00:00
Joseph Myers
5a269cfd7e
* de.po, zh_CN.po: Update.
...
From-SVN: r130084
2007-11-11 13:34:54 +00:00
Joseph Myers
9113fd7b18
be.po, [...]: Update.
...
* be.po, ca.po, da.po, de.po, el.po, es.po, fr.po, ja.po, nl.po,
sv.po, tr.po, uk,po, vi.po, zh_CN.po, zh_TW.po: Update.
From-SVN: r130075
2007-11-10 18:36:53 +00:00
Joseph Myers
d84767fb01
* cpplib.pot: Regenerate.
...
From-SVN: r130027
2007-11-08 21:15:46 +00:00
Tom Tromey
f373b44d28
re PR preprocessor/30805 (Internal compiler error when using "x##,##__VA_ARGS__" in macro)
...
libcpp
PR preprocessor/30805:
* macro.c (paste_tokens): Handle padding token.
(paste_tokens): Don't abort unless padding has PASTE_LEFT flag.
gcc/testsuite
PR preprocessor/30805:
* gcc.dg/cpp/pr30805.c: New file.
From-SVN: r129827
2007-11-01 18:20:48 +00:00
Tom Tromey
5b9a40df4e
re PR preprocessor/30786 (ICE on _Pragma at end of file)
...
gcc/testsuite
PR preprocessor/30786:
* gcc.dg/cpp/pr30786.c: New file.
libcpp
PR preprocessor/30786:
* macro.c (builtin_macro): Return result of _cpp_do__Pragma.
* directives.c (_cpp_do__Pragma): Return error status.
* internal.h (_cpp_do__Pragma): Update.
* directives.c (get__Pragma_string): Back up if EOF seen.
From-SVN: r129800
2007-10-31 14:50:13 +00:00
Joseph Myers
68d9cb44ae
* es.po, vi.po: Update.
...
From-SVN: r129537
2007-10-21 18:58:21 +01:00
Joseph Myers
e7c61201aa
be.po, [...]: Update.
...
* be.po, ca.po, da.po, de.po, el.po, es.po, fr.po, ja.po, nl.po,
sv.po, tr.po, uk,po, vi.po, zh_CN.po, zh_TW.po: Update.
From-SVN: r129206
2007-10-10 14:18:12 +01:00
Tom Tromey
5ffeb913b1
tree-cfg.c (remove_bb): Only warn if line is non-zero.
...
gcc:
* tree-cfg.c (remove_bb): Only warn if line is non-zero.
* c-pch.c (c_common_read_pch): Restore current location after
reading PCH file.
* tree.c (expand_location): Update.
(expr_filename): Changed return type. Unified the two cases.
(expr_lineno): Likewise.
(annotate_with_file_line): Don't use EXPR_LINENO and EXPR_FILENAME
as lvalues.
* toplev.c (line_table): Changed type.
(general_init): Update.
(realloc_for_line_map): New function.
(general_init): Allocate line_table using GC.
* fix-header.c (line_table): Changed type.
(read_scan_file): Update.
(read_scan_file): Update.
* c-ppoutput.c (maybe_print_line): Update.
(print_line): Update.
(cb_line_change): Update.
(cb_define): Update.
(pp_file_change): Update.
* c-opts.c (c_common_init_options): Update.
(finish_options): Update.
(push_command_line_include): Update.
* c-lex.c (cb_line_change): Update.
(cb_def_pragma): Update.
(cb_define): Update.
(cb_undef): Update.
(c_lex_with_flags): Use cpp_get_token_with_location.
* input.h (line_table): Changed type.
(location_from_locus): New macro.
* tree.h (EXPR_FILENAME): No longer an lvalue.
(EXPR_LINENO): Likewise.
(expr_locus, set_expr_locus): Declare separately for
USE_MAPPED_LOCATION.
(expr_filename, expr_lineno): Changed return type.
* gimplify.c (tree_to_gimple_tuple): Use SET_EXPR_LOCUS.
* cfgexpand.c (expand_gimple_cond_expr): Use location_from_locus.
(expand_gimple_basic_block): Likewise.
* final.c (final_scan_insn): Use expanded_location.
gcc/cp:
* decl.c (finish_function): Put return's location on line zero of
file.
gcc/fortran:
* scanner.c (get_file): Update.
(load_file): Update.
(gfc_next_char_literal): Use gfc_linebuf_linenum.
* f95-lang.c (gfc_init): Update.
* gfortran.h (gfc_linebuf_linenum): New macro.
gcc/java:
* lang.c (java_post_options): Update.
* jcf-parse.c (set_source_filename): Update.
(give_name_to_class): Update.
(jcf_parse): Update.
(duplicate_class_warning): Update.
(parse_class_file): Update.
(java_parse_file): Update.
* expr.c (expand_byte_code): Update.
gcc/testsuite:
* lib/g++.exp (g++_target_compile): Use -fno-show-column.
gcc/treelang:
* tree1.c (treelang_init): Update.
(treelang_parse_file): Update.
(treelang_parse_file): Update.
(treelang_parse_file): Update.
* lex.l: Update.
(update_lineno_charno): Likewise.
libcpp:
* internal.h (struct cpp_reader) <invocation_location>: New
field.
(struct cpp_reader) <set_invocation_location>: Likewise.
* init.c (cpp_set_line_map): New function.
* line-map.c (linemap_add): Use linemap's allocator.
* include/line-map.h (GTY): Define.
(line_map_realloc): New typedef.
(struct line_map): Mark with GTY.
(struct line_maps): Likewise.
(struct line_maps) <maps>: Likewise.
(struct line_maps) <reallocator>: New field.
* include/symtab.h (GTY): Conditionally define.
* include/cpplib.h (cpp_set_line_map): Declare.
(cpp_get_token_with_location): Declare.
* macro.c (cpp_get_token): Set invocation_location on the reader.
(cpp_get_token_with_location): New function.
From-SVN: r128190
2007-09-06 16:24:05 +00:00
Chao-ying Fu
ac6b1c676c
expr.c (interpret_float_suffix): Support hr, r, lr, llr, uhr, ur, ulr, ullr, hk, k, lk, llk, uhk, uk, ulk, ullk.
...
* expr.c (interpret_float_suffix): Support hr, r, lr, llr, uhr, ur,
ulr, ullr, hk, k, lk, llk, uhk, uk, ulk, ullk.
(cpp_classify_number): Support decimal fixed-point constants without
exponents.
Warn about fixed-point constants when -pedantic.
* include/cpplib.h (CPP_N_SMALL, CPP_N_MEDIUM, CPP_N_LARGE): Change
comments to support fixed-point values.
(CPP_N_FRACT, CPP_N_ACCUM): Define.
From-SVN: r127940
2007-08-30 23:05:17 +00:00
Joseph Myers
42e61fe73d
be.po, [...]: Update.
...
* be.po, ca.po, da.po, de.po, el.po, es.po, fr.po, ja.po, nl.po,
sv.po, tr.po, vi.po, zh_CN.po, zh_TW.po: Update.
* uk.po: New.
From-SVN: r127664
2007-08-21 12:46:39 +01:00
Tom Tromey
cda5e672d8
re PR preprocessor/32974 (#pragma GCC dependency generates extra token error.)
...
gcc/testsuite
PR preprocessor/32974:
* gcc.dg/cpp/pr32974.c: New file.
libcpp
PR preprocessor/32974:
* directives.c (parse_include): Don't check for EOL when
processing #pragma dependency.
From-SVN: r127614
2007-08-18 17:54:11 +00:00
Ollie Wild
ccfc4c91bb
directives-only.c: New file.
...
libcpp/
* directives-only.c: New file.
* internal.h (struct _cpp_dir_only_callbacks): New.
(_cpp_preprocess_dir_only): New function.
* directives.c (_cpp_handle_directive): Check directives_only before
disabling execution of indented directives.
* files.c (_cpp_stack_file): Add directives_only check.
* include/cpplib.h (struct cpp_options): Add directives_only.
(cpp_init_special_builtins): New function.
* init.c (cpp_init_special_builtins): New function.
(cpp_init_builtins): Move builtin_array initialization to
cpp_init_special_builtins.
(post_options): Check directives_only before setting
pfile->state.prevent_expansion = 1.
* macro.c (_cpp_builtin_macro_text): Print an error if __COUNTER__
is expanded inside a directive while -fdirectives-only is enabled.
* Makefile.in (libcpp_a_OBJS): Add directives-only.o.
(libcpp_a_SOURCES): Add directives-only.c.
gcc/
* c-ppoutput.c (print_lines_directives_only): New function.
(scan_translation_unit_directives_only): New function.
(preprocess_file): Add call to scan_translation_unit_directives_only.
* c-opts.c (c_common_handle_option): Add OPT_fdirectives_only.
(sanitize_cpp_opts): Add default flag_dump_macros setting for
-fdirectives-only. Add errors for -fdirectives-only conflict with
-Wunused-macros and -traditional.
(finish_options): Add builtin macro initialization for
-fdirectives-only + -fpreprocessed.
* c.opt (fdirectives-only): New.
* doc/cppopts.texi (fdirectives-only): New.
gcc/testsuite/
* gcc.dg/cpp/counter-2.c: New test.
* gcc.dg/cpp/counter-3.c: New test.
* gcc.dg/cpp/dir-only-1.c: New test.
* gcc.dg/cpp/dir-only-1.h: New file.
* gcc.dg/cpp/dir-only-2.c: New test.
* gcc.dg/cpp/dir-only-3.c: New test.
* gcc.dg/cpp/dir-only-3a.h: New file.
* gcc.dg/cpp/dir-only-3b.h: New file.
* gcc.dg/cpp/dir-only-4.c: New test.
* gcc.dg/cpp/dir-only-5.c: New test.
* gcc.dg/cpp/dir-only-6.c: New test.
From-SVN: r127066
2007-07-30 18:29:20 +00:00
Uros Bizjak
a206413ab4
traditional.c (_cpp_scan_out_logical_line): Initialize fmacro.args...
...
* traditional.c (_cpp_scan_out_logical_line): Initialize
fmacro.args, fmacro.node, fmacro.offset, fmacro.line and
fmacro.args to prevent 'may be used uninitialized' warning.
From-SVN: r126311
2007-07-04 12:08:44 +02:00
Uros Bizjak
c77cd3d140
cpplib.h (CPP_N_WIDTH_MD, [...]): Add new constants.
...
libcpp/ChangeLog:
* include/cpplib.h (CPP_N_WIDTH_MD, CPP_N_MD_W, CPP_N_MD_Q):
Add new constants.
* expr.c (interpret_float_suffix): Process 'w', 'W', 'q' and 'Q'
suffixes. Return CPP_N_MD_W for 'w' or 'W' suffixes and CPP_N_MD_Q
for 'q' or 'Q' suffixes.
gcc/ChangeLog:
* targhooks.h (default_mode_for_suffix): New function declaration.
* targhooks.c (default_mode_for_suffix): New default target hook.
* target.h (struct c): New structure in the targetm struct.
(mode_for_suffix): New target hook as part of struct c.
target-def.h (TARGET_C_MODE_FOR_SUFFIX): Define as
default_mode_for_suffix.
(TARGET_C): New define.
* c-lex.c: Include "target.h".
(interpret_float): Use targetm.c.mode_for_suffix to determine
the mode for a given non-standard suffix.
Makefile.in (c-lex.o): Depend on $(TARGET_H).
* config/i386/i386.c (ix86_c_mode_for_suffix): New static function.
(TARGET_C_MODE_FOR_SUFFIX): Define to ix86_c_mode_for_suffix.
* doc/extend.texi (Floating Types): New node. Document __float80 and
__float128 types. Document 'w', 'W', 'q' and 'Q' suffixes.
testsuite/ChangeLog:
* gcc.dg/const-float80.c : New test.
* gcc.dg/const-float128.c : New test.
* gcc.dg/const-float80-ped.c : New test.
* gcc.dg/const-float128-ped.c : New test.
From-SVN: r126244
2007-07-03 07:53:58 +02:00
Joseph Myers
a40cfc58fa
be.po, [...]: Update.
...
* be.po, ca.po, da.po, de.po, el.po, es.po, fr.po, ja.po, nl.po,
rw.po, sv.po, tr.po, vi.po, zh_CN.po, zh_TW.po: Update.
From-SVN: r126041
2007-06-26 21:05:37 +01:00
Danny Smith
e1311401df
Correct filename of files.c in recent Changelog entries.
...
From-SVN: r125779
2007-06-17 23:19:09 +00:00
Danny Smith
66938a1d5d
cppfiles.c (open_file): Correct typo.
...
* cppfiles.c (open_file): Correct typo.
From-SVN: r125778
2007-06-17 23:15:58 +00:00
Vladimir Prus
71995ede98
cppfiles.c (open_file): Prevent the call for stat from overwriting errno.
...
* cppfiles.c (open_file): Prevent the call
for stat from overwriting errno.
From-SVN: r125757
2007-06-16 12:30:49 +00:00
Vladimir Prus
84152c25a5
cppfiles.c (open_file): Account for the fact that on windows, opening a directory gives EACCES.
...
* cppfiles.c (open_file): Account for the
fact that on windows, opening a directory gives
EACCES.
From-SVN: r125590
2007-06-09 10:16:52 +00:00