1 2015-04-30 David Malcolm <dmalcolm@redhat.com>
3 * cp-tree.h (ARGUMENT_PACK_SELECT_ARG): Remove spurious
6 2015-04-29 Jason Merrill <jason@redhat.com>
9 * tree.c (apply_identity_attributes): Fix handling of classes.
11 2015-04-29 Thomas Schwinge <thomas@codesourcery.com>
13 * parser.c (cp_parser_oacc_enter_exit_data): Use
14 OMP_STANDALONE_CLAUSES.
16 2015-04-29 Paolo Carlini <paolo.carlini@oracle.com>
19 * init.c (perform_member_init): Handle references for -Winit-self.
21 2015-04-29 Thomas Schwinge <thomas@codesourcery.com>
23 * pt.c (tsubst_expr) <OMP_TARGET_UPDATE>: Use
24 OMP_TARGET_UPDATE_CLAUSES instead of OMP_CLAUSES.
26 2015-04-28 Jason Merrill <jason@redhat.com>
29 * constexpr.c (cxx_eval_store_expression): Don't try to actually
33 * constexpr.c (cxx_eval_builtin_function_call): Fix
37 * tree.c (strip_typedefs): Add remove_attributes parm.
38 (strip_typedefs_expr): Likewise.
39 (apply_identity_attributes): New subroutine of strip_typedefs.
40 * pt.c (canonicalize_type_argument): Let strip_typedefs handle attrs.
41 (convert_nontype_argument, unify): Likewise.
45 * class.c (fixup_attribute_variants): Respect TYPE_USER_ALIGN.
47 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
49 * class.c (layout_class_type): Remove check if
50 PCC_BITFIELD_TYPE_MATTERS is defined.
52 2015-04-27 Jim Wilson <jim.wilson@linaro.org>
54 * Make-lang.in (c++.mostlyclean): Remove xg++, g++-cross, and cc1plus.
56 2015-04-24 Jason Merrill <jason@redhat.com>
59 * typeck.c (structural_comptypes): Don't check TYPE_REF_CAN_ALIAS_ALL.
61 * constexpr.c (potential_constant_expression_1) [MINUS_EXPR]:
65 2015-04-23 Jason Merrill <jason@redhat.com>
68 * pt.c (check_explicit_specialization): Don't
69 SET_DECL_TEMPLATE_SPECIALIZATION for a variable with no template
71 * decl.c (grokvardecl): Revert earlier fix.
73 2015-04-20 Paolo Carlini <paolo.carlini@oracle.com>
76 * typeck2.c (check_narrowing): In C++11 mode too, -Wno-narrowing
77 suppresses the diagnostic.
79 2015-04-20 Ville Voutilainen <ville.voutilainen@gmail.com>
81 Reject trailing return type for an operator auto().
82 * decl.c (grokdeclarator): Reject trailing return types for
83 all conversion operators, don't handle conversion operators
84 in the previous checks that deal with auto.
86 2015-04-20 Ilya Verbin <ilya.verbin@intel.com>
88 * parser.c (cp_parser_omp_target_update): Add missed %> to error_at ().
90 2015-04-16 Paolo Carlini <paolo.carlini@oracle.com>
92 * class.c (resolve_address_of_overloaded_function, instantiate_type):
93 Rename tsubst_flags_t parameter flags -> complain.
95 2015-04-16 Paolo Carlini <paolo.carlini@oracle.com>
97 * call.c (build_op_delete_call, build_over_call): Check mark_used
99 * class.c (resolve_address_of_overloaded_function): Likewise.
100 * decl.c (cxx_maybe_build_cleanup): Likewise.
101 * pt.c (gen_elem_of_pack_expansion_instantiation, tsubst_baselink,
102 tsubst_qualified_id, tsubst_copy, tsubst_copy_and_build): Likewise.
103 * rtti.c (build_dynamic_cast_1): Likewise.
104 * semantics.c (process_outer_var_ref): Likewise.
105 * typeck.c (build_class_member_access_expr,
106 cp_build_function_call_vec, cp_build_addr_expr_1): Likewise.
108 2015-04-15 Jason Merrill <jason@redhat.com>
110 * constexpr.c (cxx_eval_store_expression): Ignore clobbers.
111 (build_constexpr_constructor_member_initializers): Loop to find
113 * decl.c (start_preparsed_function): Clobber the object at the
114 beginning of a constructor.
116 * decl.c (grokmethod): Only set DECL_COMDAT if TREE_PUBLIC is set.
117 * method.c (implicitly_declare_fn): Likewise.
118 * decl2.c (vague_linkage_p): Check TREE_PUBLIC first.
120 * decl2.c (determine_visibility): Use get_template_info.
122 2015-04-15 Jason Merrill <jason@redhat.com>
123 Marek Polacek <polacek@redhat.com>
126 * lambda.c (lambda_expr_this_capture): In unevaluated context go
127 through the normal loop, just don't capture.
128 (maybe_resolve_dummy): Handle null return.
130 2015-04-15 Paolo Carlini <paolo.carlini@oracle.com>
132 * call.c (enforce_access): Emit error + inform.
134 2015-04-15 Marek Polacek <polacek@redhat.com>
136 * constexpr.c (use_new_call): Remove #define.
137 (lookup_parameter_binding): Remove function.
138 (cxx_bind_parameters_in_call): Remove unused code.
139 (cxx_eval_call_expression): Likewise.
140 (cxx_eval_constant_expression): Likewise.
142 2015-04-14 Mikhail Maltsev <maltsevm@gmail.com>
144 * tree.c (replace_placeholders_t): Remove unused type.
145 (replace_placeholders): Remove unused pset.
147 2015-04-14 Jason Merrill <jason@redhat.com>
149 * pt.c (lookup_template_class_1): Use coerce_innermost_template_parms.
152 * cvt.c (cp_fold_convert): Avoid wrapping PTRMEM_CST in NOP_EXPR.
155 * name-lookup.c (do_class_using_decl): Complain about specifying
156 the current class even if there are dependent bases.
158 2015-04-14 David Krauss <david_work@me.com>
161 * decl.c (grokdeclarator): Do not flag friends with deduced return.
163 2015-04-14 Momchil Velikov <momchil.velikov@gmail.com>
164 Jason Merrill <jason@redhat.com>
167 * parser.c (cp_parser_class_name): Add enum_ok parameter.
168 (cp_parser_qualifying_entity): Use it instead of cp_parser_type_name.
169 (cp_parser_diagnose_invalid_type_name): Don't assume a template is
172 2015-04-12 Jakub Jelinek <jakub@redhat.com>
175 * constexpr.c (cxx_eval_pointer_plus_expression): Don't fold for VLAs,
176 don't fold if op01 isn't divisible by TYPE_SIZE_UNIT. Convert
177 the expression to the original type at the end.
179 2015-04-09 Jakub Jelinek <jakub@redhat.com>
182 * tree.c (cp_build_qualified_type_real): Copy TYPE_ALIGN and
186 * tree.c (build_cplus_array_type): Layout type before variants are
187 set, but copy over TYPE_SIZE and TYPE_SIZE_UNIT from the main
190 2015-04-03 Paolo Carlini <paolo.carlini@oracle.com>
193 * lambda.c (add_capture): Use dependent_type_p for capture by
196 2015-04-02 Marek Polacek <polacek@redhat.com>
199 * constexpr.c (cxx_eval_pointer_plus_expression): Call
200 cxx_eval_constant_expression on the first operand.
202 2015-04-01 Jason Merrill <jason@redhat.com>
205 * decl.c (make_typename_type): Handle seeing a variable template.
207 2015-04-01 Paolo Carlini <paolo.carlini@oracle.com>
210 * pt.c (instantiating_current_function_p): New.
211 * name-lookup.c (pushdecl_maybe_friend_1): Use it.
212 * cp-tree.h (instantiating_current_function_p): Declare.
214 2015-04-01 Jason Merrill <jason@redhat.com>
217 * decl.c (grokvardecl): Don't call check_explicit_specialization
218 for non-template members of a class template.
220 2015-04-01 Marek Polacek <polacek@redhat.com>
223 * class.c (finish_struct): Require that the second field of a
224 user-defined initializer_list be of size type.
226 2015-03-31 Marek Polacek <polacek@redhat.com>
229 * tree.c (build_cplus_array_type): Use dependent_type_p rather than
230 checking for constness.
232 2015-03-30 Marek Polacek <polacek@redhat.com>
235 * constexpr.c (cxx_fold_indirect_ref): Don't perform the
236 *(&A[i] p+ j) => A[i + j] transformation here.
237 (cxx_eval_pointer_plus_expression): New function.
238 (cxx_eval_constant_expression): Use it here.
240 2015-03-27 Tobias Burnus <burnus@net-b.de>
243 * parser.c (cp_parser_omp_for, cp_parser_omp_parallel,
244 cp_parser_omp_distribute, cp_parser_omp_teams, cp_parser_omp_target,
245 cp_parser_omp_declare): Don't show error for skipped omp pragmas with
248 2015-03-27 Marek Polacek <polacek@redhat.com>
251 * semantics.c (finish_switch_cond): If the unlowered type is not an
252 enum, use the type of the condition.
254 2015-03-27 Jason Merrill <jason@redhat.com>
257 * decl.c (make_rtl_for_nonlocal_decl): Don't defer static
260 2015-03-26 Mikhail Maltsev <maltsevm@gmail.com>
263 * init.c (build_vec_init): Fix initializing aggregates
264 with empty init list.
266 2015-03-26 Jason Merrill <jason@redhat.com>
269 * constexpr.c (potential_constant_expression_1): Handle MEM_REF.
271 2015-03-25 Marek Polacek <polacek@redhat.com>
274 * name-lookup.c (handle_namespace_attrs): Ignore abi_tag attribute
275 on an anonymous namespace.
277 2015-03-25 Marek Polacek <polacek@redhat.com>
280 * class.c (remove_zero_width_bit_fields): Check for null DECL_SIZE.
282 2015-03-24 Jason Merrill <jason@redhat.com>
285 * cp-tree.h (NAMESPACE_IS_INLINE): Remove.
286 * parser.c (cp_parser_namespace_definition): Don't set it.
287 * name-lookup.c (handle_namespace_attrs): Check
288 DECL_NAMESPACE_ASSOCIATIONS instead.
291 * pt.c (get_mostly_instantiated_function_type): Just return the
292 type of the partially instantiated template in DECL_TI_TEMPLATE.
294 2015-03-20 Marek Polacek <polacek@redhat.com>
297 * constexpr.c (cxx_fold_indirect_ref): Transform *(&A[i] p+ j) into
300 2015-03-20 Marek Polacek <polacek@redhat.com>
303 * typeck.c (lookup_anon_field): Make sure we're dealing with the main
306 2015-03-19 Jason Merrill <jason@redhat.com>
309 Automatically propagate ABI tags to variables and functions
310 from their (return) type.
311 * class.c (check_tag): Handle variables and functions.
312 (mark_or_check_attr_tags): Split out from find_abi_tags_r.
313 (mark_or_check_tags): Likewise.
314 (mark_abi_tags): Use it. Rename from mark_type_abi_tags.
315 (check_abi_tags): Add single argument overload for decls.
316 Handle inheriting tags for decls.
317 * mangle.c (write_mangled_name): Call it.
318 (mangle_return_type_p): Split out from write_encoding.
319 (unmangled_name_p): Split out from write_mangled_name.
320 (write_mangled_name): Ignore abi_tag on namespace.
321 * cp-tree.h (NAMESPACE_IS_INLINE): Replace NAMESPACE_ABI_TAG.
322 * parser.c (cp_parser_namespace_definition): Set it.
323 * name-lookup.c (handle_namespace_attrs): Use arguments. Warn
324 about abi_tag attribute on non-inline namespace.
325 * tree.c (check_abi_tag_args): Split out from handle_abi_tag_attribute.
326 (handle_abi_tag_attribute): Allow tags on variables.
328 2015-03-19 Jakub Jelinek <jakub@redhat.com>
330 * decl2.c (cplus_decl_attributes): Also add "omp declare target"
331 attribute for DECL_EXTERNAL VAR_DECLs.
333 2015-03-18 Paolo Carlini <paolo.carlini@oracle.com>
336 * call.c (build_over_call): Pass the tsubst_flags_t argument to
338 * decl2.c (mark_used): Inline the require_deduced_type call and
339 guard the error call.
341 2015-03-16 Jason Merrill <jason@redhat.com>
344 * parser.c (cp_parser_template_name): Call strip_using_decl.
346 2015-03-16 Marek Polacek <polacek@redhat.com>
350 * decl.c (grokdeclarator): Allow volatile and constexpr together.
352 2015-03-12 Paolo Carlini <paolo.carlini@oracle.com>
355 * decl.c (check_default_argument): Don't call
356 maybe_warn_zero_as_null_pointer_constant.
358 2015-03-11 Aldy Hernandez <aldyh@redhat.com>
360 * cp-gimplify.c (simple_empty_class_p): New.
361 * cp-gimplify.c (cp_gimplify_expr): Handle RETURN_EXPR. Abstract
362 the code for empty class copies into simple_empty_class_p, and
363 adapt it to handle COMPOUND_EXPRs.
365 2015-03-10 Paolo Carlini <paolo.carlini@oracle.com>
368 * decl.c (duplicate_decls): Call check_redeclaration_no_default_args
369 only if the location of newdecl doesn't match the location of olddecl.
371 2015-03-10 Jakub Jelinek <jakub@redhat.com>
374 * parser.c (parsing_nsdmi): Don't return true if current_class_ptr
377 2015-03-10 Jason Merrill <jason@redhat.com>
381 * pt.c (dependent_type_p_r): Check both class and alias template args.
383 2015-03-10 Jakub Jelinek <jakub@redhat.com>
386 * parser.c (cp_parser_binary_expression): Check for tcc_comparison
387 before preparing arguments to warn_logical_not_parentheses.
388 Use maybe_constant_value on rhs.
390 2015-03-09 Jason Merrill <jason@redhat.com>
393 * call.c: Don't call maybe_resolve_dummy when calling a constructor.
395 2015-03-09 Jakub Jelinek <jakub@redhat.com>
398 * parser.c (cp_parser_binary_expression): Don't warn for
399 !!x == y or !b == y where b is bool.
401 2015-03-06 Aldy Hernandez <aldyh@redhat.com>
403 * ptree.c (cxx_print_lambda_node): New.
404 (cxx_print_xnode): Handle LAMBDA_EXPR.
406 2015-03-03 Aldy Hernandez <aldyh@redhat.com>
409 * constexpr.c (cxx_eval_constant_expression): Remove assert in
410 RESULT_DECL handling.
412 2015-02-26 Marek Polacek <polacek@redhat.com>
415 * constexpr.c (cxx_eval_constant_expression): Don't evaluate
416 a RETURN_EXPR if its operand is null.
418 2015-02-25 Jason Merrill <jason@redhat.com>
421 * decl2.c (constrain_visibility) [VISIBILITY_ANON]: Clear
423 (constrain_visibility_for_template): Handle reference arguments.
426 * decl.c (start_preparsed_function): Use create_artificial_label
429 2015-02-17 Paolo Carlini <paolo.carlini@oracle.com>
430 Jakub Jelinek <jakub@redhat.com>
433 * constexpr.c (check_constexpr_bind_expr_vars): Allow
434 implicit typedefs for lambda types.
436 2015-02-13 Paolo Carlini <paolo.carlini@oracle.com>
439 * decl.c (lookup_and_check_tag): Use strip_using_decl.
441 2015-02-13 Jason Merrill <jason@redhat.com>
444 * pt.c (template_args_equal): Look through conversions here.
445 * tree.c (cp_tree_equal): Not here.
447 2015-02-13 Paolo Carlini <paolo.carlini@oracle.com>
450 * parser.c (cp_parser_pragma): Diagnose PRAGMA_IVDEP at
451 pragma_external context.
453 2015-02-13 Jason Merrill <jason@redhat.com>
456 * call.c (reference_binding): Don't look for bad conversion
459 2015-02-13 Paolo Carlini <paolo.carlini@oracle.com>
462 * decl.c (make_typename_type): Pass tsubst_flags_t argument
463 to lookup_template_class.
465 2015-02-13 Jakub Jelinek <jakub@redhat.com>
468 * decl.c (start_preparsed_function): Use void_type_node instead
469 of NULL_TREE as LABEL_DECL type.
471 2015-02-12 Jason Merrill <jason@redhat.com>
474 * mangle.c (write_mangled_name): Fix test for variable template
477 * decl.c (begin_destructor_body): Condition clobber on
480 2015-02-12 Andrea Azzarone <azzaronea@gmail.com>
483 * parser.c (lookup_literal_operator): Return all candidates.
484 (cp_parser_userdef_char_literal): Simplify error handling.
485 (cp_parser_userdef_numeric_literal): Pass tf_warning_or_error.
486 (cp_parser_userdef_string_literal): Pass tf_warning_or_error.
487 Also give higher priority to standard string UDL operator.
489 2015-02-12 Jakub Jelinek <jakub@redhat.com>
492 * cp-tree.h (BLOCK_OUTER_CURLY_BRACE_P): Define.
493 * decl.c (poplevel): If functionbody, try not to create an extra
494 BLOCK for function body and use subblocks as that, if it is non-NULL
495 and doesn't have siblings. Set BLOCK_OUTER_CURLY_BRACE_P flag.
496 (outer_curly_brace_block): Use BLOCK_OUTER_CURLY_BRACE_P flag.
499 * except.c (check_noexcept_r): Return NULL for internal
502 2015-02-10 Jason Merrill <jason@redhat.com>
505 * constexpr.c (cxx_eval_call_expression): Walk the clone list.
507 2015-02-10 Jan Hubicka <hubicka@ucw.cz>
510 * method.c (use_thunk): Do not check for stdarg thunks.
512 2015-02-06 Jason Merrill <jason@redhat.com>
515 * init.c (build_vec_init): Handle default-initialized array with
516 constexpr default constructor.
518 2015-02-04 Jakub Jelinek <jakub@redhat.com>
522 * parser.c (cp_parser_omp_atomic): Handle RDIV_EXPR.
524 2015-02-03 Paolo Carlini <paolo.carlini@oracle.com>
527 * typeck.c (cp_build_binary_op): Avoid spurious -Waddress warnings
528 for generated expressions.
530 2015-02-02 Ville Voutilainen <ville.voutilainen@gmail.com>
533 * decl.c (duplicate_decls): Also duplicate DECL_FINAL_P and
536 2015-02-02 Jason Merrill <jason@redhat.com>
538 * tree.c (handle_abi_tag_attribute): Diagnose invalid arguments.
540 2015-01-30 Joseph Myers <joseph@codesourcery.com>
542 * class.c, except.c, parser.c, pt.c: All callers of fatal_error
543 changed to pass input_location as first argument.
545 2015-01-29 Jakub Jelinek <jakub@redhat.com>
548 * cp-ubsan.c (cp_ubsan_instrument_vptr): Don't wrap vptr
551 2015-01-29 Jason Merrill <jason@redhat.com>
554 * semantics.c (finish_return_stmt): Suppress -Wreturn-type on
555 erroneous return statement.
558 * repo.c (repo_emit_p): It's OK for a clone to be extern at this
561 2015-01-27 Caroline Tice <cmtice@google.com>
563 Committing VTV Cywin/Ming patch for Patrick Wollgast
564 * vtable-class-hierarchy.cc (vtv_generate_init_routine): Add
565 check for not TARGET_PECOFF at the VTV_PREINIT_PRIORITY checks.
567 2015-01-27 Jason Merrill <jason@redhat.com>
570 * lambda.c (maybe_add_lambda_conv_op): Check cfun rather than
571 current_function_decl.
574 * pt.c (finish_template_variable): Move from semantics.c.
575 Handle multiple template arg levels. Handle coercion here.
576 (lookup_template_variable): Not here.
578 2015-01-23 Jason Merrill <jason@redhat.com>
582 * typeck2.c (split_nonconstant_init_1): Remove a sub-CONSTRUCTOR
583 that has been completely split out.
586 * constexpr.c (cxx_eval_constant_expression): Don't crash on C++
590 * constexpr.c (cxx_eval_constant_expression): Allow for lvalue use
593 2015-01-21 Jason Merrill <jason@redhat.com>
596 * constexpr.c (cxx_eval_constant_expression): Only shortcut
597 constant CONSTRUCTORs.
600 * constexpr.c (ensure_literal_type_for_constexpr_object): Don't
601 give a hard error in a template instantiation.
603 2015-01-21 Richard Biener <rguenther@suse.de>
606 * decl.c (duplicate_decls): Call set_builtin_decl_declared_p
607 for builtins the user declared correctly.
609 2015-01-16 Paolo Carlini <paolo.carlini@oracle.com>
612 * pt.c (unify): When BRACE_ENCLOSED_INITIALIZER_P (arg), handle
613 TREE_TYPE (elt) == error_mark_node.
615 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
617 PR tree-optimization/62053
618 * tree.c (build_cplus_array_type): Layout type after variants are set.
620 2015-01-15 Jakub Jelinek <jakub@redhat.com>
622 * cp-gimplify.c (cp_genericize_r): Call
623 cp_ubsan_maybe_instrument_member_call for member calls.
624 (cp_ubsan_check_member_access_r): New function.
625 (cp_genericize_tree): Call cp_ubsan_instrument_member_accesses.
626 * cp-tree.h (cp_ubsan_maybe_instrument_member_call,
627 cp_ubsan_instrument_member_accesses,
628 cp_ubsan_maybe_instrument_downcast,
629 cp_ubsan_maybe_instrument_cast_to_vbase): New prototypes.
630 * cp-ubsan.c: New file.
631 * Make-lang.in (CXX_AND_OBJCXX_OBJS): Add cp/cp-ubsan.o.
632 * constexpr.c (cxx_eval_call_expression): Return void_node
634 (potential_constant_expression_1): Return true for
635 UBSAN_NULL, UBSAN_BOUNDS and UBSAN_VPTR internal calls.
636 * typeck.c (build_class_member_access_expr): Provide locus
638 (build_static_cast_1): Instrument downcasts.
639 * class.c (build_base_path): For -fsanitize=vptr and !fixed_type_p
640 add ubsan instrumentation for virtual_access.
641 * call.c: Include internal-fn.h.
642 (set_flags_from_callee): Handle internal calls.
644 2015-01-15 Momchil Velikov <momchil.velikov@gmail.com>
647 * name-lookup.c (pushdecl_maybe_friend_1): Hide friend functions
648 and function templates, declared only in the class.
649 * decl.c (duplicate_decls): Reveal hidden friend functions or
650 function templates, if they are redeclared outside the class.
652 2015-01-15 Jason Merrill <jason@redhat.com>
655 * constexpr.c (cxx_eval_binary_expression): Fix pasto.
658 * constexpr.c (potential_constant_expression_1): Handle reference
661 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
662 James Norris <jnorris@codesourcery.com>
663 Cesar Philippidis <cesar@codesourcery.com>
664 Ilmir Usmanov <i.usmanov@samsung.com>
665 Jakub Jelinek <jakub@redhat.com>
667 * parser.c: Include "gomp-constants.h".
668 (cp_parser_omp_clause_map): Use enum gomp_map_kind instead of enum
669 omp_clause_map_kind. Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*.
670 Use OMP_CLAUSE_SET_MAP_KIND.
671 (cp_parser_omp_construct, cp_parser_pragma): Handle
672 PRAGMA_OACC_CACHE, PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA,
673 PRAGMA_OACC_EXIT_DATA, PRAGMA_OACC_KERNELS, PRAGMA_OACC_PARALLEL,
674 PRAGMA_OACC_LOOP, PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
675 (cp_parser_omp_clause_name): Handle "async", "copy", "copyout",
676 "create", "delete", "deviceptr", "host", "num_gangs",
677 "num_workers", "present", "present_or_copy", "pcopy",
678 "present_or_copyin", "pcopyin", "present_or_copyout", "pcopyout",
679 "present_or_create", "pcreate", "vector_length", "wait".
680 (OACC_DATA_CLAUSE_MASK, OACC_ENTER_DATA_CLAUSE_MASK)
681 (OACC_EXIT_DATA_CLAUSE_MASK, OACC_KERNELS_CLAUSE_MASK)
682 (OACC_LOOP_CLAUSE_MASK, OACC_PARALLEL_CLAUSE_MASK)
683 (OACC_UPDATE_CLAUSE_MASK, OACC_WAIT_CLAUSE_MASK): New macros.
684 (cp_parser_omp_var_list_no_open): Handle OMP_CLAUSE__CACHE_.
685 (cp_parser_oacc_data_clause, cp_parser_oacc_data_clause_deviceptr)
686 (cp_parser_oacc_clause_vector_length, cp_parser_oacc_wait_list)
687 (cp_parser_oacc_clause_wait, cp_parser_omp_clause_num_gangs)
688 (cp_parser_omp_clause_num_workers, cp_parser_oacc_clause_async)
689 (cp_parser_oacc_all_clauses, cp_parser_oacc_cache)
690 (cp_parser_oacc_data, cp_parser_oacc_enter_exit_data)
691 (cp_parser_oacc_kernels, cp_parser_oacc_loop)
692 (cp_parser_oacc_parallel, cp_parser_oacc_update)
693 (cp_parser_oacc_wait): New functions.
694 * cp-tree.h (finish_oacc_data, finish_oacc_kernels)
695 (finish_oacc_parallel): New prototypes.
696 * semantics.c: Include "gomp-constants.h".
697 (handle_omp_array_sections): Handle GOMP_MAP_FORCE_DEVICEPTR. Use
698 GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
699 OMP_CLAUSE_SET_MAP_KIND.
700 (finish_omp_clauses): Handle OMP_CLAUSE_ASYNC,
701 OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_WAIT, OMP_CLAUSE__CACHE_.
702 Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*.
703 (finish_oacc_data, finish_oacc_kernels, finish_oacc_parallel): New
706 2015-01-14 Paolo Carlini <paolo.carlini@oracle.com>
709 * decl2.c (var_defined_without_dynamic_init): Handle gracefully
712 2015-01-13 Jason Merrill <jason@redhat.com>
716 * constexpr.c (cxx_eval_binary_expression): Don't VERIFY_CONSTANT
718 (cxx_eval_increment_expression): Likewise.
721 * pt.c (coerce_template_parameter_pack): Return NULL for a
722 zero-length fixed parameter pack with a pack expansion arg.
725 * pt.c (unify): Don't try to deduce to std::initializer_list<T...>.
727 2015-01-12 Jason Merrill <jason@redhat.com>
730 * constexpr.c (cxx_eval_call_expression): A call to a void
731 function doesn't need to return a value.
733 2015-01-09 Michael Collison <michael.collison@linaro.org>
735 * call.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
736 input.h, alias.h, symtab.h, options.h, fold-const.h,
737 wide-int.h, and inchash.h due to flattening of tree.h.
739 * constexpr.c: Ditto.
740 * cp-array-notation.c: Ditto.
741 * cp-gimplify.c: Ditto.
743 * cp-objcp-common.c: Ditto.
756 * name-lookup.c: Ditto.
764 * semantics.c: Ditto.
769 2015-01-08 Jason Merrill <jason@redhat.com>
771 * cp-gimplify.c (cp_genericize): Use do_ubsan_in_current_function.
772 * decl.c (compute_array_index_type): Likewise.
773 * init.c (build_vec_init): Likewise.
774 * typeck.c (cp_build_binary_op): Likewise.
776 2015-01-08 Jason Merrill <jason@redhat.com>
778 * init.c (build_vec_init): Call ubsan_instrument_bounds to check
779 whether an initializer-list is too big for a VLA.
780 (throw_bad_array_length): Remove.
781 * cp-tree.h: Remove prototype.
783 2015-01-08 Paolo Carlini <paolo.carlini@oracle.com>
786 * decl.c (grokfndecl): Add bool parameter.
787 (grokdeclarator): Adjust calls.
788 (start_decl): Don't set DECL_DELETED_FN here.
790 2015-01-06 Jason Merrill <jason@redhat.com>
792 * parser.c (cp_parser_nested_name_specifier_opt): Diagnose invalid
796 * pt.c (type_dependent_expression_p): Handle variable templates.
797 * constexpr.c (potential_constant_expression_1): Use it.
800 * semantics.c (finish_offsetof): Handle templates here.
801 * parser.c (cp_parser_builtin_offsetof): Not here.
804 * semantics.c (process_outer_var_ref): Diagnose lambda in local
807 2015-01-06 Ville Voutilainen <ville.voutilainen@gmail.com>
810 * class.c (check_field_decls): Make copy assignment operators
811 complex only in c++98 mode.
813 2015-01-05 Trevor Saunders <tsaunders@mozilla.com>
816 * class.c (check_for_override): Warn when a virtual function is an
817 override not marked override.
819 2015-01-05 Trevor Saunders <tsaunders@mozilla.com>
821 * class.c (warn_hidden): Use auto_vec<tree> instead of tree_list to
823 (get_basefndecls): Adjust.
825 2015-01-05 Jakub Jelinek <jakub@redhat.com>
827 Update copyright years.
829 2015-01-05 Marek Polacek <polacek@redhat.com>
832 * typeck.c (cp_build_array_ref): Pass loc down to
833 warn_array_subscript_with_type_char.
836 Copyright (C) 2015 Free Software Foundation, Inc.
838 Copying and distribution of this file, with or without modification,
839 are permitted in any medium without royalty provided the copyright
840 notice and this notice are preserved.