Merge from trunk rev 172662.
[official-gcc.git] / gcc / ChangeLog.pph
blob3421bdbd4889a794a20dfec926cc28ac25fee5ab
1 2011-04-19  Diego Novillo  <dnovillo@google.com>
3         Merge from trunk rev 172662.
5 2011-04-14  Diego Novillo  <dnovillo@google.com>
7         * lto-streamer-out.c (pack_ts_type_value_fields): Pack all bits
8         of -1 value.
9         * lto-streamer.h (bitpack_create): Assert that the value to
10         pack does not overflow NBITS.
11         * lto-streamer-in.c (unpack_ts_type_value_fields): Unpack
12         BITS_PER_BITPACK_WORD bits for TYPE_ALIAS_SET.
14 2011-04-14  Diego Novillo  <dnovillo@google.com>
16         * lto-streamer.h (bitpack_create): Only use the lower NBITS
17         from VAL.
19 2011-04-14  Diego Novillo  <dnovillo@google.com>
21         * lto-streamer-in.c (unpack_ts_base_value_fields): Handle
22         TYPE_ADDR_SPACE.
23         * lto-streamer-out.c (pack_ts_base_value_fields): Likewise.
25 2011-04-04  Diego Novillo  <dnovillo@google.com>
27         * lto-streamer-in.c (lto_input_tree_pointers): Remove checks
28         for TS_SSA_NAME, TS_STATEMENT_LIST, TS_OMP_CLAUSE and
29         TS_OPTIMIZATION.
30         (lto_read_tree): Check for
31         streamer_hooks.register_decls_in_symtab_p before registering
32         symbols in LTO symtabs.
33         (gimple_streamer_reader_init): Move file_name_hash_table
34         initialization to lto_reader_init.
35         (lto_materialize_tree): Call streamer_hooks.alloc_tree if it exists.
36         * lto-streamer-out.c (lto_output_tree_header): Remove empty
37         line.
38         (lto_output_tree_header): Assert that the tag to be written is valid.
39         Call streamer_hooks.output_tree_header if it exists.
40         * lto-streamer.c (gimple_streamer_hooks_init): Set
41         register_decls_in_symtab_p to true.
42         * lto-streamer.h (struct lto_streamer_hooks): Add field
43         register_decls_in_symtab_p.
44         (struct lto_file_decl_data): Add field sdata.
45         (struct output_block): Add field sdata.
46         (struct lto_streamer_hooks): Add fields
47         alloc_tree and output_tree_header.
48         (enum LTO_tags): Add an LTO_LAST_TAG marker, force
49         LTO_NUM_TAGS have a value bigger than MAX_TREE_CODES and
50         LAST_AND_UNUSED_GIMPLE_CODE.
51         (lto_tag_is_tree_code_p): Return true for anything less than
52         MAX_TREE_CODES.
54 2011-03-30  Diego Novillo  <dnovillo@google.com>
56         * lto-streamer-in.c (lto_input_chain): Make extern.
57         * lto-streamer-out.c (lto_output_tree_ref): Call
58         streamer_hook->indexable_with_decls_p, if it exists.  If it
59         returns true, emit a reference to EXPR in the VAR_DECL index.
60         (lto_output_chain): Make extern.
61         (lto_output_tree_pointers): Move checks for invalid gimple trees ...
62         * lto-streamer.c (lto_is_streamable): ... here.
63         * lto-streamer.h (lto_streamer_hooks): Add
64         indexable_with_decls_p.
65         (lto_output_chain): Declare.
66         (lto_input_chain): Declare.
68 2011-03-25  Diego Novillo  <dnovillo@google.com>
70         * lto-streamer-in.c (unpack_value_fields): Remove checks for
71         TS_SSA_NAME, TS_STATEMENT_LIST and TS_OMP_CLAUSE.
72         Call streamer_hooks.unpack_value_fields if defined.
73         * lto-streamer-out.c (pack_value_fields): Remove checks for
74         TS_SSA_NAME, TS_STATEMENT_LIST and TS_OMP_CLAUSE.
75         Call streamer_hooks.pack_value_fields if defined.
76         (lto_output_tree_header): Call streamer_hooks.is_streamable
77         if defined.
78         * lto-streamer.c (gimple_streamer_hooks_init): Assign hooks
79         for name and is_streamable.
80         (lto_is_streamable): Move from ...
81         * lto-streamer.h: ... here.
82         (lto_streamer_hooks): Add field name, pack_value_fields,
83         unpack_value_fields and is_streamable.
84         (lto_stream_as_builtin_p):
86 2011-03-25  Diego Novillo  <dnovillo@google.com>
88         * lto-streamer-in.c (lto_input_ts_decl_minimal_tree_pointers):
89         (lto_input_ts_decl_common_tree_pointers):
90         * a/gcc/lto-streamer-out.c (lto_output_tree_ref):
91         (lto_output_ts_decl_minimal_tree_pointers):
92         (lto_output_ts_decl_common_tree_pointers):
93         * a/gcc/lto-streamer.h (typedef):
94         (extern):
96 2011-03-25  Diego Novillo  <dnovillo@google.com>
98         * lto-streamer-in.c (lto_reader_init): Rename from
99         lto_init_reader.  Update all users.
100         If streamer_hooks.reader_init exists, call it.
101         Move gimple-specific initialization ...
102         (gimple_streamer_init_reader): ... to this new function.
103         (lto_input_ts_decl_common_tree_pointers): Document unhandled fields.
104         Do not handle DECL_INITIAL.
105         (lto_input_ts_decl_non_common_tree_pointers): Document
106         unhandled fields.
107         Do not handle DECL_SAVED_TREE.
108         (lto_read_tree): If streamer_hooks.read_tree is defined, call
109         it.
110         (gimple_streamer_read_tree): New.  Handle DECL_INITIAL.
111         (gimple_streamer_reader_init): Rename from
112         gimple_streamer_init_reader.  Update all users.
113         * lto-streamer-out.c (lto_writer_init): Make extern.
114         (lto_output): Call gimple_streamer_hooks_init.
115         (lto_output_ts_decl_common_tree_pointers): Document unhandled fields.
116         Do not handle DECL_INITIAL.
117         (lto_output_ts_decl_non_common_tree_pointers): Document
118         unhandled fields.
119         Do not handle DECL_SAVED_TREE.
120         (lto_write_tree): If streamer_hooks.write_tree is defined,
121         call it.
122         (gimple_streamer_write_tree): New.  Handle DECL_INITIAL and
123         DECL_SAVED_TREE.
124         * lto-streamer.c (gimple_streamer_hooks_init): New.
125         (streamer_hooks): New.
126         (streamer_hooks_init): New.
127         * lto-streamer.h (lto_streamer_hooks): Declare.
128         (streamer_hooks): Declare
129         (streamer_hooks_init): Declare
130         (gimple_streamer_hooks_init): Declare.
131         (gimple_streamer_init_reader): Declare.
132         (lto_writer_init): Declare.
133         (struct output_block): Forward declare.
134         (struct lto_input_block): Likewise.
135         (struct data_in): Likewise.
137 2011-03-24  Diego Novillo  <dnovillo@google.com>
139         Merge from trunk rev 171388.
141 2011-03-23  Diego Novillo  <dnovillo@google.com>
143         * lto-streamer-in.c (input_string_internal): Add clarifying
144         comments.
145         * lto-streamer-out.c (lto_output_string_with_length): Rename from
146         output_string_with_length.
147         Output 0 to indicate a non-NULL string.  Update all callers to
148         not emit 0.
149         (lto_output_string): Rename from output_string.  Make extern.
150         Update all users.
152 2011-03-23  Diego Novillo  <dnovillo@google.com>
154         * lto-streamer-in.c (lto_input_ts_decl_non_common_tree_pointers):
155         Always read DECL_SAVED_TREE.
156         * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
157         Igonore varpool nodes.
158         (lto_output_ts_decl_non_common_tree_pointers): Output NULL
159         DECL_SAVED_TREE.
161 2011-03-17  Diego Novillo  <dnovillo@google.com>
163         Merge from trunk rev 171104.
165 2011-03-15  Diego Novillo  <dnovillo@google.com>
167         Merge from google/integration rev 170999 (4.6 branch
168         point at rev 170934).
170 2011-03-09  Diego Novillo  <dnovillo@google.com>
172         * lto-opts.c (input_data_block): Rename and move ...
173         * lto-streamer-in.c (lto_input_data_block): ... here.
174         * lto-streamer-in.c (lto_input_string): Rename from
175         input_string.  Make extern.  Update all users.
176         * lto-streamer-out.c (lto_output_string_with_length): Rename
177         from output_string_with_length.  Make extern.  Update all
178         users.
179         (lto_output_string): Rename from output_string.  Make extern.
180         Update all users.
181         (lto_output_decl_state_streams): Make extern.
182         (lto_output_decl_state_refs): Make extern.
183         * lto-streamer.c (lto_get_common_nodes): #if0 assertions not
184         valid inside the front end.
185         * lto-streamer.h (lto_input_string): Declare.
186         (lto_input_data_block): Declare.
187         (lto_output_string): Declare.
188         (lto_output_string_with_length): Declare.
189         (lto_output_decl_state_streams): Declare.
190         (lto_output_decl_state_refs): Declare.
192 2011-03-04  Lawrence Crowl <crowl@google.com>
194         * tree-pass.h:
195         Add TDF_VISDEF to flags for pretty printing "visible definitions".
196         This enables more C-like output.
198         * tree-pretty-print.c (dump_generic_node):
199         Turn off visible definitions for bases of arrays and pointers.
200         Print struct definitions under visible definitions.
202         * (print_declaration):
203         Filter artificial nodes under visible definitions.
204         Make "static" mean what the language means, not the linker.
205         Create a separate case for typedefs distinct from variables.
206         Move printing of "typedef" to that case.
208         * (print_struct_decl):
209         Change field print algorithm.
210         Filter out struct tags that are artificial, i.e. start with ".".
212 2011-02-15  Lawrence Crowl <crowl@google.com>
214         * strstrmap.h: Add.
215         * strstrmap.c: Add.
216         * Makefile.in:
217         Add rule for strstrmap.o.
218         Add strstrmap.o to OBJS-common.
219         Add dependence of c-family/c-opts.o on strstrmap.h.
221 2011-02-07  Diego Novillo  <dnovillo@google.com>
223         Merge from google/integration.
225 2011-01-24  Lawrence Crowl <crowl@google.com>
227         Merge timevar patch.
229         * timevar.h (timevar_cond_start): Remove unused POP_TIMEVAR_AND_RETURN.
230         * (timevar_cond_start): New for starting a timer only when it is not
231         already running.
232         * (timevar_cond_stop): New for stopping a timer when it was not already
233         running.
235         * timevar.c (timevar_stop): Enable start/stop timers to start again.
236         * (timevar_cond_start): New as above.
237         * (timevar_cond_stop): New as above.
238         * (timevar_print): Reduce time output to fit in an 80-column window.
239         Factor out units to column headings.
240         Conditionally compile column headings as well as column data.
242         * timevar.def: Add start/stop timers for compiler phases,
243         TV_PHASE_SETUP, TV_PHASE_PARSING, TV_PHASE_C_WRAPUP_CHECK,
244         TV_PHASE_CP_DEFERRED, TV_PHASE_CGRAPH, TV_PHASE_DBGINFO
245         (C), TV_PHASE_CHECK_DBGINFO (C++), TV_PHASE_GENERATE, and
246         TV_PHASE_FINALIZE.
247         Change push/pop timer TV_PARSE to TV_PARSE_GLOBAL.
248         Add push/pop timers TV_PARSE_STRUCT, TV_PARSE_ENUM, TV_PARSE_FUNC,
249         TV_PARSE_INMETH, TV_INSTANTIATE_TEMPLATE.
250         Change push/pop timers TV_GC and TV_NAME_LOOKUP into start/stop timers.
251         Add start/stop timer TV_RESOLVE_OVERLOAD.
252         Remove unused timers TV_OVERLOAD, TV_TEMPLATE_INSTANTIATION.
253         Mark the strings for TV_GC, TV_NAME_LOOKUP, and
254         TV_RESOLVE_OVERLOAD with a "|" to indicate that they are
255         start/stop timers.
257         * toplev.c (compile_file): Change TV_PARSE to TV_PARSE_GLOBAL.
258         Start/stop timers TV_PHASE_PARSING and TV_PHASE_GENERATE.
259         * (do_compile): Start/stop timers TV_PHASE_SETUP and TV_PHASE_FINALIZE.
261         * c-decl.c (c_write_global_declarations): Add start/stop of
262         TV_PHASE_C_WRAPUP_CHECK, TV_PHASE_CGRAPH, TV_PHASE_DBGINFO.
264         * ggc-zone.c (ggc_collect): Change TV_GC to start/stop.
265         * ggc-page.c (ggc_collect): Change TV_GC to start/stop.
267         * c-parser.c (c_parser_declaration_or_fndef): Push/pop TV_PARSE_FUNC.
268         * (c_parser_enum_specifier): Push/pop TV_PARSE_ENUM.
269         * (c_parser_struct_or_union_specifier): Push/pop TV_PARSE_STRUCT.
271 2011-01-21  Diego Novillo  <dnovillo@google.com>
273         Mainline merge r169107.
275         * DATESTAMP: Update merge revision.
277 2011-01-05  Diego Novillo  <dnovillo@google.com>
279         Mainline merge r168483.
281         * DATESTAMP: Update merge revision.
283 2010-12-17  Diego Novillo  <dnovillo@google.com>
285         Fix broken bootstrap.
287         * BASE-VER: Move trunk revision suffix...
288         * DATESTAMP: ... here.
290 2010-12-17  Diego Novillo  <dnovillo@google.com>
292         Mainline merge r167963.
294         * BASE-VER: Update revision stamp.
296 2010-11-02  Lawrence Crowl  <crowl@google.com>
297             Diego Novillo  <dnovillo@google.com>
299         * tree-pretty-print.c (dump_generic_node): Protect
300         against NULL TREE_TYPE.
301         * tree.c (make_node_stat): Call
302         lang_hooks.pph_catch_tree, if defined.
303         * input.h (LOCATION_COLUMN): Define.
304         * timevar.def (TV_PTH_DEPENDENCY): Define.
305         (TV_PTH_MANAGE): Define.
306         (TV_PTH_MD5): Define.
307         (TV_PTH_LOAD): Define.
308         (TV_PTH_SAVE): Define.
309         (TV_PTH_SKIP_TOKENS): Define.
310         (TV_PTH_INIT): Define.
311         (TV_PPH_CACHE_IN): Define.
312         (TV_PPH_CACHE_OUT): Define.
313         (TV_PPH_MANAGE): Define.
314         * langhooks.h: Add fields pph_catch_tree and pph_uncatch_tree.
315         * tree-inline.c (copy_tree_r): Tolerate STATEMENT_LISTs
316         when DATA is not NULL.
317         * langhooks-def.h (LANG_HOOKS_PPH_UNCATCH_TREE): Define.
318         (LANG_HOOKS_PPH_CATCH_TREE): Define.
319         (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_PPH_UNCATCH_TREE
320         and LANG_HOOKS_PPH_CATCH_TREE.