281 lines
9.1 KiB
Plaintext
281 lines
9.1 KiB
Plaintext
2015-01-27 Caroline Tice <cmtice@google.com>
|
||
|
||
Committing VTV Cywin/Ming patch for Patrick Wollgast
|
||
* vtable-class-hierarchy.cc (vtv_generate_init_routine): Add
|
||
check for not TARGET_PECOFF at the VTV_PREINIT_PRIORITY checks.
|
||
|
||
2015-01-27 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/58597
|
||
* lambda.c (maybe_add_lambda_conv_op): Check cfun rather than
|
||
current_function_decl.
|
||
|
||
PR c++/63889
|
||
* pt.c (finish_template_variable): Move from semantics.c.
|
||
Handle multiple template arg levels. Handle coercion here.
|
||
(lookup_template_variable): Not here.
|
||
|
||
2015-01-23 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/64314
|
||
PR c++/57510
|
||
* typeck2.c (split_nonconstant_init_1): Remove a sub-CONSTRUCTOR
|
||
that has been completely split out.
|
||
|
||
PR c++/64701
|
||
* constexpr.c (cxx_eval_constant_expression): Don't crash on C++
|
||
statement codes.
|
||
|
||
PR c++/64727
|
||
* constexpr.c (cxx_eval_constant_expression): Allow for lvalue use
|
||
of CONST_DECL.
|
||
|
||
2015-01-21 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/64603
|
||
* constexpr.c (cxx_eval_constant_expression): Only shortcut
|
||
constant CONSTRUCTORs.
|
||
|
||
PR c++/64647
|
||
* constexpr.c (ensure_literal_type_for_constexpr_object): Don't
|
||
give a hard error in a template instantiation.
|
||
|
||
2015-01-21 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/64313
|
||
* decl.c (duplicate_decls): Call set_builtin_decl_declared_p
|
||
for builtins the user declared correctly.
|
||
|
||
2015-01-16 Paolo Carlini <paolo.carlini@oracle.com>
|
||
|
||
PR c++/58614
|
||
* pt.c (unify): When BRACE_ENCLOSED_INITIALIZER_P (arg), handle
|
||
TREE_TYPE (elt) == error_mark_node.
|
||
|
||
2015-01-15 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR tree-optimization/62053
|
||
* tree.c (build_cplus_array_type): Layout type after variants are set.
|
||
|
||
2015-01-15 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* cp-gimplify.c (cp_genericize_r): Call
|
||
cp_ubsan_maybe_instrument_member_call for member calls.
|
||
(cp_ubsan_check_member_access_r): New function.
|
||
(cp_genericize_tree): Call cp_ubsan_instrument_member_accesses.
|
||
* cp-tree.h (cp_ubsan_maybe_instrument_member_call,
|
||
cp_ubsan_instrument_member_accesses,
|
||
cp_ubsan_maybe_instrument_downcast,
|
||
cp_ubsan_maybe_instrument_cast_to_vbase): New prototypes.
|
||
* cp-ubsan.c: New file.
|
||
* Make-lang.in (CXX_AND_OBJCXX_OBJS): Add cp/cp-ubsan.o.
|
||
* constexpr.c (cxx_eval_call_expression): Return void_node
|
||
for IFN_UBSAN_VPTR.
|
||
(potential_constant_expression_1): Return true for
|
||
UBSAN_NULL, UBSAN_BOUNDS and UBSAN_VPTR internal calls.
|
||
* typeck.c (build_class_member_access_expr): Provide locus
|
||
for COMPONENT_REFs.
|
||
(build_static_cast_1): Instrument downcasts.
|
||
* class.c (build_base_path): For -fsanitize=vptr and !fixed_type_p
|
||
add ubsan instrumentation for virtual_access.
|
||
* call.c: Include internal-fn.h.
|
||
(set_flags_from_callee): Handle internal calls.
|
||
|
||
2015-01-15 Momchil Velikov <momchil.velikov@gmail.com>
|
||
|
||
PR c++/59366
|
||
* name-lookup.c (pushdecl_maybe_friend_1): Hide friend functions
|
||
and function templates, declared only in the class.
|
||
* decl.c (duplicate_decls): Reveal hidden friend functions or
|
||
function templates, if they are redeclared outside the class.
|
||
|
||
2015-01-15 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/64356
|
||
* constexpr.c (cxx_eval_binary_expression): Fix pasto.
|
||
|
||
PR c++/63283
|
||
* constexpr.c (potential_constant_expression_1): Handle reference
|
||
args in templates.
|
||
|
||
2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
|
||
James Norris <jnorris@codesourcery.com>
|
||
Cesar Philippidis <cesar@codesourcery.com>
|
||
Ilmir Usmanov <i.usmanov@samsung.com>
|
||
Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* parser.c: Include "gomp-constants.h".
|
||
(cp_parser_omp_clause_map): Use enum gomp_map_kind instead of enum
|
||
omp_clause_map_kind. Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*.
|
||
Use OMP_CLAUSE_SET_MAP_KIND.
|
||
(cp_parser_omp_construct, cp_parser_pragma): Handle
|
||
PRAGMA_OACC_CACHE, PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA,
|
||
PRAGMA_OACC_EXIT_DATA, PRAGMA_OACC_KERNELS, PRAGMA_OACC_PARALLEL,
|
||
PRAGMA_OACC_LOOP, PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
|
||
(cp_parser_omp_clause_name): Handle "async", "copy", "copyout",
|
||
"create", "delete", "deviceptr", "host", "num_gangs",
|
||
"num_workers", "present", "present_or_copy", "pcopy",
|
||
"present_or_copyin", "pcopyin", "present_or_copyout", "pcopyout",
|
||
"present_or_create", "pcreate", "vector_length", "wait".
|
||
(OACC_DATA_CLAUSE_MASK, OACC_ENTER_DATA_CLAUSE_MASK)
|
||
(OACC_EXIT_DATA_CLAUSE_MASK, OACC_KERNELS_CLAUSE_MASK)
|
||
(OACC_LOOP_CLAUSE_MASK, OACC_PARALLEL_CLAUSE_MASK)
|
||
(OACC_UPDATE_CLAUSE_MASK, OACC_WAIT_CLAUSE_MASK): New macros.
|
||
(cp_parser_omp_var_list_no_open): Handle OMP_CLAUSE__CACHE_.
|
||
(cp_parser_oacc_data_clause, cp_parser_oacc_data_clause_deviceptr)
|
||
(cp_parser_oacc_clause_vector_length, cp_parser_oacc_wait_list)
|
||
(cp_parser_oacc_clause_wait, cp_parser_omp_clause_num_gangs)
|
||
(cp_parser_omp_clause_num_workers, cp_parser_oacc_clause_async)
|
||
(cp_parser_oacc_all_clauses, cp_parser_oacc_cache)
|
||
(cp_parser_oacc_data, cp_parser_oacc_enter_exit_data)
|
||
(cp_parser_oacc_kernels, cp_parser_oacc_loop)
|
||
(cp_parser_oacc_parallel, cp_parser_oacc_update)
|
||
(cp_parser_oacc_wait): New functions.
|
||
* cp-tree.h (finish_oacc_data, finish_oacc_kernels)
|
||
(finish_oacc_parallel): New prototypes.
|
||
* semantics.c: Include "gomp-constants.h".
|
||
(handle_omp_array_sections): Handle GOMP_MAP_FORCE_DEVICEPTR. Use
|
||
GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
|
||
OMP_CLAUSE_SET_MAP_KIND.
|
||
(finish_omp_clauses): Handle OMP_CLAUSE_ASYNC,
|
||
OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_WAIT, OMP_CLAUSE__CACHE_.
|
||
Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*.
|
||
(finish_oacc_data, finish_oacc_kernels, finish_oacc_parallel): New
|
||
functions.
|
||
|
||
2015-01-14 Paolo Carlini <paolo.carlini@oracle.com>
|
||
|
||
PR c++/58671
|
||
* decl2.c (var_defined_without_dynamic_init): Handle gracefully
|
||
self-initialization.
|
||
|
||
2015-01-13 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/64356
|
||
PR libstdc++/58777
|
||
* constexpr.c (cxx_eval_binary_expression): Don't VERIFY_CONSTANT
|
||
pointer expressions.
|
||
(cxx_eval_increment_expression): Likewise.
|
||
|
||
PR c++/64514
|
||
* pt.c (coerce_template_parameter_pack): Return NULL for a
|
||
zero-length fixed parameter pack with a pack expansion arg.
|
||
|
||
PR c++/64520
|
||
* pt.c (unify): Don't try to deduce to std::initializer_list<T...>.
|
||
|
||
2015-01-12 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/64547
|
||
* constexpr.c (cxx_eval_call_expression): A call to a void
|
||
function doesn't need to return a value.
|
||
|
||
2015-01-09 Michael Collison <michael.collison@linaro.org>
|
||
|
||
* call.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
|
||
input.h, alias.h, symtab.h, options.h, fold-const.h,
|
||
wide-int.h, and inchash.h due to flattening of tree.h.
|
||
* class.c: Ditto.
|
||
* constexpr.c: Ditto.
|
||
* cp-array-notation.c: Ditto.
|
||
* cp-gimplify.c: Ditto.
|
||
* cp-lang.c: Ditto.
|
||
* cp-objcp-common.c: Ditto.
|
||
* cvt.c: Ditto.
|
||
* decl2.c: Ditto.
|
||
* decl.c: Ditto.
|
||
* dump.c: Ditto.
|
||
* error.c: Ditto.
|
||
* except.c: Ditto.
|
||
* expr.c: Ditto.
|
||
* friend.c: Ditto.
|
||
* init.c: Ditto.
|
||
* lambda.c: Ditto.
|
||
* lex.c: Ditto.
|
||
* mangle.c: Ditto.
|
||
* name-lookup.c: Ditto.
|
||
* optimize.c: Ditto.
|
||
* parser.c: Ditto.
|
||
* pt.c: Ditto.
|
||
* ptree.c: Ditto.
|
||
* repo.c: Ditto.
|
||
* rtti.c: Ditto.
|
||
* search.c: Ditto.
|
||
* semantics.c: Ditto.
|
||
* tree.c: Ditto.
|
||
* typeck2.c: Ditto.
|
||
* typeck.c: Ditto.
|
||
|
||
2015-01-08 Jason Merrill <jason@redhat.com>
|
||
|
||
* cp-gimplify.c (cp_genericize): Use do_ubsan_in_current_function.
|
||
* decl.c (compute_array_index_type): Likewise.
|
||
* init.c (build_vec_init): Likewise.
|
||
* typeck.c (cp_build_binary_op): Likewise.
|
||
|
||
2015-01-08 Jason Merrill <jason@redhat.com>
|
||
|
||
* init.c (build_vec_init): Call ubsan_instrument_bounds to check
|
||
whether an initializer-list is too big for a VLA.
|
||
(throw_bad_array_length): Remove.
|
||
* cp-tree.h: Remove prototype.
|
||
|
||
2015-01-08 Paolo Carlini <paolo.carlini@oracle.com>
|
||
|
||
PR c++/60753
|
||
* decl.c (grokfndecl): Add bool parameter.
|
||
(grokdeclarator): Adjust calls.
|
||
(start_decl): Don't set DECL_DELETED_FN here.
|
||
|
||
2015-01-06 Jason Merrill <jason@redhat.com>
|
||
|
||
* parser.c (cp_parser_nested_name_specifier_opt): Diagnose invalid
|
||
template-ids.
|
||
|
||
PR c++/64455
|
||
* pt.c (type_dependent_expression_p): Handle variable templates.
|
||
* constexpr.c (potential_constant_expression_1): Use it.
|
||
|
||
PR c++/64487
|
||
* semantics.c (finish_offsetof): Handle templates here.
|
||
* parser.c (cp_parser_builtin_offsetof): Not here.
|
||
|
||
PR c++/64496
|
||
* semantics.c (process_outer_var_ref): Diagnose lambda in local
|
||
class NSDMI.
|
||
|
||
2015-01-06 Ville Voutilainen <ville.voutilainen@gmail.com>
|
||
|
||
PR c++/64489
|
||
* class.c (check_field_decls): Make copy assignment operators
|
||
complex only in c++98 mode.
|
||
|
||
2015-01-05 Trevor Saunders <tsaunders@mozilla.com>
|
||
|
||
PR c++/31397
|
||
* class.c (check_for_override): Warn when a virtual function is an
|
||
override not marked override.
|
||
|
||
2015-01-05 Trevor Saunders <tsaunders@mozilla.com>
|
||
|
||
* class.c (warn_hidden): Use auto_vec<tree> instead of tree_list to
|
||
hold base_fndecls.
|
||
(get_basefndecls): Adjust.
|
||
|
||
2015-01-05 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Update copyright years.
|
||
|
||
2015-01-05 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/64423
|
||
* typeck.c (cp_build_array_ref): Pass loc down to
|
||
warn_array_subscript_with_type_char.
|
||
|
||
|
||
Copyright (C) 2015 Free Software Foundation, Inc.
|
||
|
||
Copying and distribution of this file, with or without modification,
|
||
are permitted in any medium without royalty provided the copyright
|
||
notice and this notice are preserved.
|