[C++ PATCH] hash-table for extern-c fns.
[official-gcc.git] / libcc1 / ChangeLog
blobea7a1aeb25b3995ae82734e9a25136a22ca42b8c
1 2017-10-04  Nathan Sidwell  <nathan@acm.org>
3         * libcp1plugin.cc (supplement_binding): Don't use
4         maybe_remove_implicit_alias.
6 2017-07-20  Nathan Sidwell  <nathan@acm.org>
8         Remove TYPE_METHODS.
9         * libcp1plugin.cc (plugin_build_decl): Member fns are on TYPE_FIELDS.
11 2017-07-12  Nathan Sidwell  <nathan@acm.org>
13         * libcp1plugin.cc (plugin_build_decl): Use
14         DECL_CXX_{CON,DE}STRUCTOR directly.
16 2017-07-05  Richard Sandiford  <richard.sandiford@linaro.org>
18         * libcp1plugin.cc (plugin_build_field): Use SET_DECL_MODE.
20 2017-06-30  Nathan Sidwell  <nathan@acm.org>
22         * libcp1plugin.cc (plugin_build_decl): Use make_conv_op_name.
23         (plugin_build_dependent_expr): Likewise.
25 2017-06-26  Nathan Sidwell  <nathan@acm.org>
27         * libcp1plugin.cc (plugin_build_decl): Don't set
28         DECL_ASSIGNMENT_OPERATOR_P.
30 2017-06-16  Nathan Sidwell  <nathan@acm.org>
32         * libcp1plugin.cc (plugin_build_decl): Adjust parm building.
34 2017-05-26  Nathan Sidwell  <nathan@acm.org>
36         * libcp1plugin.cc (plugin_make_namespace_inline): Push onto linees.
38         * libcp1plugin.cc (plugin_add_using_namespace): Call
39         finish_namespace_using_directive.
41 2017-05-25  Nathan Sidwell  <nathan@acm.org>
43         * libcp1plugin.cc (plugin_make_namespace_inline): Check and set
44         DECL_NAMESPACE_INLINE_P.
46 2017-05-23  Nathan Sidwell  <nathan@acm.org>
48         * libcp1plugin.cc (plugin_add_using_decl): Call
49         finish_namespace_using_decl.  Use assert not unreachable.
51 2017-05-11  Nathan Sidwell  <nathan@acm.org>
53         * libcp1plugin.cc (safe_pushdecl_maybe_friend): Call pushdecl.
55 2017-05-10  Nathan Sidwell  <nathan@acm.org>
57         * libcp1plugin.cc (plugin_build_decl): Adjust add_method call.
59 2017-04-15  Alexandre Oliva <aoliva@redhat.com>
61         * libcp1plugin.cc (plugin_build_decl): Call name_unnamed_type.
63 2017-01-30  Alexandre Oliva <aoliva@redhat.com>
65         Introduce C++ support.
66         * Makefile.am (AM_CPPFLAGS): Move some -I flags to...
67         (CPPFLAGS_FOR_C_FAMILY, CPPFLAGS_FOR_C, CPPFLAGS_FOR_CXX): ...
68         new macros.
69         (plugin_LTLIBRARIES): Add libcp1plugin.la.
70         (BUILT_SOURCES, MOSTLYCLEANFILES): Add...
71         (cp-compiler-name.h): ... this.  New.
72         (c-compiler-name.h): Rename all over from...
73         (compiler-name.h): ... this.  Create it atomically.
74         (marshall_c_source, marshall_cxx_source): New macros.
75         (libcc1plugin_la_SOURCES): Rename plugin.cc to libcc1plugin.cc.
76         Add marshall_c_source expansion.
77         (libcc1plugin.lo_CPPFLAGS): New macro.
78         (libcp1plugin_la_LDFLAGS): Likewise.
79         (libcp1plugin_la_SOURCES): Likewise.
80         (libcp1plugin.lo_CPPFLAGS): Likewise.
81         (libcp1plugin_la_LIBADD): Likewise.
82         (libcp1plugin_la_DEPENDENCIES): Likewise.
83         (libcp1plugin_la_LINK): Likewise.
84         (libcc1_la_SOURCES): Added marshall_c_source and
85         marshall_cxx_source expansions.
86         * Makefile.in: Rebuild.
87         * compiler-name.h: Rename all over to...
88         * c-compiler-name.h: ... this.  Define C_COMPILER_NAME instead
89         of COMPILER_NAME.
90         * plugin.cc: Rename all over to...
91         * libcc1plugin.cc: ... this.  Include marshall-c.hh.
92         (address_rewriter): Drop cleaning up of VLA sizes.
93         (plugin_build_decl): Mark decls as external.
94         (plugin_tagbind): Propagate name to all variants.
95         (build_anonymous_node): New.
96         (plugin_build_record_type): Use it instead of make_node.
97         (plugin_build_union_type): Likewise.
98         (plugin_build_enum_type): Likewise.
99         (plugin_finish_record_or_union): Update all type variants.
100         (safe_lookup_builtin_type): New.
101         (plugin_int_check): Factor out of, and add checks to, ...
102         (plugin_int_type): ... this.  Rename to...
103         (plugin_int_type_v0): ... this.
104         (plugin_int_type): New interface, new implementation.
105         (plugin_char_type): New.
106         (plugin_float_type_v0): Rename from...
107         (plugin_float_type): ... this.  New interface, new implementation.
108         (plugin_init): Bump handshake version.
109         * libcc1.cc: Include marshall-c.hh.  Drop gcc-interface.h.
110         (call_binding_oracle): Rename to...
111         (c_call_binding_oracle): ... this, into anonymous namespace.
112         (call_symbol_address): Rename to...
113         (c_call_symbol_address): ... this, likewise.
114         (GCC_METHOD#): Move methods into cc1plugin::c:: namespace.
115         (libcc1::compiler::find): Refer to C_COMPILER_NAME.
116         (fork_exec): Bump to GCC_C_FE_VERSION_1.
117         (libcc1_compile): Prefix callbacks with c_.
118         (gcc_c_fe_context): Accept GCC_C_FE_VERSION_1.
119         * libcc1.sym: Export gcc_cp_fe_context.
120         * libcp1.cc: New, mostly copied and adjusted from libcc1.cc.
121         * libcp1plugin.cc: New, initially copied from libcc1plugin.cc.
122         * libcp1plugin.sym: New.
123         * marshall-c.hh: New.  Move C-specific types from...
124         * marshall.cc: ... this.
125         (cc1_plugin::marshall_array_start): New.
126         (cc1_plugin::marshall_array_elmts): New.
127         (cc1_plugin::marshall for gcc_type_array): Use the above.
128         (cc1_plugin::unmarshall_array_start): New.
129         (cc1_plugin::unmarshall_array_elmts): New.
130         (cc1_plugin::unmarshall for gcc_type_array): Use the above.
131         * marshall.hh: Declare the new array building blocks.
132         Drop C-specific unmarshall declarations.
133         * marshall-cp.hh: New.
134         * names.cc (GCC_METHOD#): Add LANG:: to method names.
135         (LANG): Define while including gcc-c-fe.def and gcc-cp-fe.def.
136         * names.hh: Include gcc-c-fe.def and gcc-cp-fe.def in the
137         corresponding namespaces.
138         * rpc.hh: Don't include marshall.hh.
139         [GCC_CP_INTERFACE_H] (argument_wrapper): Specialize for
140         gcc_vbase_array, gcc_cp_template_args, gcc_cp_function_args.
142 2017-01-30  Jan Kratochvil <jan.kratochvil@redhat.com>
144         * findcomp.cc: Include system.h.
145         (search_dir): Return absolute filename.
147         * libcc1.cc (libcc1): Add class compiler with field compilerp,
148         class compiler_triplet_regexp and class
149         compiler_driver_filename.
150         (libcc1::libcc1): Initialize compilerp.
151         (libcc1::~libcc1): Delete compilerp.
152         (libcc1::compiler::find, libcc1::compiler_triplet_regexp::find)
153         (libcc1::compiler_driver_filename::find): New methods.
154         (libcc1_set_arguments): Remove parameter triplet_regexp.
155         (libcc1_set_triplet_regexp, libcc1_set_driver_filename)
156         (libcc1_set_arguments_v0): New functions.
157         (vtable): Use libcc1_set_arguments_v0, add
158         libcc1_set_arguments, libcc1_set_triplet_regexp and
159         libcc1_set_driver_filename.
161         * libcc1.cc: Include intl.h.
162         (struct libcc1): Add field verbose.
163         (libcc1::libcc1): Initialize it.
164         (libcc1_set_verbose): New function.
165         (libcc1_set_arguments): Print messages for VERBOSE.
166         (libcc1_compile): Remove parameter verbose.  Use VERBOSE from
167         SELF.
168         (libcc1_compile_v0): New function.
169         (vtable): Use libcc1_compile_v0 and add libcc1_compile and
170         libcc1_set_verbose.
172         * libcc1.cc (vtable): Update to GCC_FE_VERSION_1.
173         (gcc_c_fe_context): Accept also GCC_FE_VERSION_1.
175 2017-01-17  Jakub Jelinek  <jakub@redhat.com>
177         PR other/79046
178         * configure.ac: Add GCC_BASE_VER.  For --with-gcc-major-version-only
179         use just major number from BASE-VER.
180         * configure: Regenerated.
181         * Makefile.in: Regenerated.
183 2017-01-04  Jakub Jelinek  <jakub@redhat.com>
185         Update copyright years.
187 2016-11-18  Richard Sandiford  <richard.sandiford@arm.com>
188             Alan Hayward  <alan.hayward@arm.com>
189             David Sherwood  <david.sherwood@arm.com>
191         * plugin.cc (plugin_build_add_field): Use SET_DECL_MODE.
193 2016-06-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
195         Update copyrights.
197 2016-04-18  Michael Matz  <matz@suse.de>
199         * plugin.cc (plugin_finish_record_or_union): Use SET_TYPE_ALIGN.
201 2016-04-11  Segher Boessenkool  <segher@kernel.crashing.org>
203         PR bootstrap/70173
204         * Makefile.am (MOSTLYCLEANFILES): New, add compiler-name.h .
205         (compiler-name.h): Shorten recipe so that it fits the line.
206         * Makefile.in: Regenerate.
208 2016-03-14  Andreas Schwab  <schwab@suse.de>
210         * configure.ac (CONFIG_STATUS_DEPENDENCIES): Substitute.
211         * configure: Regenerate.
212         * Makefile.in: Regenerate.
214 2015-06-25  Richard Sandiford  <richard.sandiford@arm.com>
216         * plugin.cc (decl_addr_hasher): Inherit from free_ptr_hash
217         rather than typed_free_remove.  Remove redudant typedefs.
219 2015-06-25  Richard Sandiford  <richard.sandiford@arm.com>
221         * plugin.cc (string_hasher): Inherit from nofree_ptr_hash rather
222         than typed_noop_remove.  Remove redudant typedefs.
223         (plugin_context): Use nofree_ptr_hash rather than pointer_hash.
224         (plugin_context::mark): Likewise.
226 2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>
228         * Makefile.in: Regenerated with automake-1.11.6.
229         * aclocal.m4: Likewise.
230         * configure: Likewise.
232 2015-04-18  Trevor Saunders  <tsaunders@mozilla.com>
234         * plugin.cc: Adjust for hash_table changes.
236 2015-04-15  Andreas Schwab  <schwab@suse.de>
238         PR bootstrap/65763
239         * Makefile.am (gcc_build_dir): Remove $(host_subdir)/ part.
240         * Makefile.in: Regenerated.
242 2015-01-30  Joseph Myers  <joseph@codesourcery.com>
244         * plugin.cc: All callers of fatal_error changed to pass
245         input_location as first argument.
247 2015-01-09  Michael Collison  <michael.collison@linaro.org>
249         * plugin.cc: Include hash-set.h, machmode.h, vec.h, double-int.h,
250         input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h and inchash.h
251         due to flattening of tree.h.
253 2014-11-21  H.J. Lu  <hongjiu.lu@intel.com>
255         PR bootstrap/63784
256         * configure: Regenerated.
258 2014-11-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
260         * configure.ac (libcc1_cv_lib_sockets): Check for -lsocket -lnsl.
261         * configure: Regenerate.
262         * connection.cc: Include <string.h>.
263         * libcc1.cc (libcc1_compile): Use AF_UNIX instead of AF_LOCAL.
265 2014-11-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
267         PR target/63610
268         * configure: Regenerate.
270 2014-11-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
272         PR bootstrap/63699
273         PR bootstrap/63750
274         * plugin.cc: Don't include <string>.
276 2014-10-29  Jakub Jelinek  <jakub@redhat.com>
277             Phil Muldoon  <pmuldoon@redhat.com>
279         * configure.ac: Remove -Werror addition to WARN_FLAGS.  Add
280         ACX_PROG_CC_WARNINGS_ARE_ERRORS and AC_ARG_VAR for GMPINC.
281         * Makefile.am (AM_CPPFLAGS): Add $(GMPINC).
282         (WERROR_FLAG): Remove.
283         (AM_CXXFLAGS): Use $(WERROR) instead of $(WERROR_FLAG).
284         * configure: Regenerated.
285         * Makefile.in: Regenerated.
287 2014-10-29  Jakub Jelinek  <jakub@redhat.com>
289         * Makefile.am (CXXFLAGS, LDFLAGS): Filter out -fsanitize=address.
290         (libiberty_normal, libiberty_noasan, libiberty_pic, libiberty_dep):
291         New variables.
292         (libiberty): Set to -Wc, followed by the first existing noasan/,
293         pic/ or . libiberty.a.
294         (libcc1plugin_la_DEPENDENCIES, libcc1plugin_la_LINK,
295         libcc1_la_DEPENDENCIES, libcc1_la_LINK, LTLDFLAGS): New variables.
296         * Makefile.in: Regenerated.
298 2014-10-27  Phil Muldoon  <pmuldoon@redhat.com>
299             Jan Kratochvil  <jan.kratochvil@redhat.com>
300             Tom Tromey  <tromey@redhat.com>
302         * aclocal.m4: New file.
303         * callbacks.cc: New file.
304         * callbacks.hh: New file.
305         * cc1plugin-config.h.in: New file.
306         * configure: New file.
307         * configure.ac: New file.
308         * connection.cc: New file.
309         * connection.hh: New file.
310         * findcomp.cc: New file.
311         * findcomp.hh: New file.
312         * libcc1.cc: New file.
313         * libcc1plugin.sym: New file.
314         * libcc1.sym: New file.
315         * Makefile.am: New file.
316         * Makefile.in: New file.
317         * marshall.cc: New file.
318         * marshall.hh: New file.
319         * names.cc: New file.
320         * names.hh: New file.
321         * plugin.cc: New file.
322         * rpc.hh: New file.
323         * status.hh: New file.