summaryrefslogtreecommitdiffstats
path: root/gcc/cp
Commit message (Collapse)AuthorAgeFilesLines
...
* PR c++/61507jason2014-06-192-1/+16
| | | | | | | * pt.c (resolve_overloaded_unification): Preserve ARGUMENT_PACK_EXPLICIT_ARGS. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@211819 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/60605jason2014-06-172-1/+7
| | | | | | * pt.c (check_default_tmpl_args): Check DECL_LOCAL_FUNCTION_P. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@211756 138bc75d-0d04-0410-961f-82ee72b054a4
* PR debug/57519jason2014-06-172-1/+7
| | | | | | | * class.c (handle_using_decl): Pass the correct scope to cp_emit_debug_info_for_using. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@211755 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/61343jason2014-06-092-0/+13
| | | | | | | * decl.c (check_initializer): Maybe clear DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@211386 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/c/kyukhin2014-06-042-0/+8
| | | | | | | | | | | | | | | | | | | | PR c/58942 * c-array-notation.c (fix_builtin_array_notation_fn): Handle the case with a pointer. gcc/cp/ PR c/58942 * c-c++-common/cilk-plus/AN/pr58942.c: Check for correct handling of the case with a pointer. gcc/testsuite/ PR c/58942 * c-c++-common/cilk-plus/AN/pr58942.c: Check for correct handling of the case with a pointer. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@211221 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/61134jason2014-06-032-1/+6
| | | | | | * pt.c (pack_deducible_p): Handle canonicalization. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@211175 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/cpkyukhin2014-05-212-14/+26
| | | | | | | | | | | | | | | | | PR c/60189 * parser.c (cp_parser_postfix_expression): Move handling of cilk_sync from here to... (cp_parser_statement): ...here. Make sure only semicolon can go after Cilk_sync. gcc/testsuite PR c++/60189 * c-c++-common/cilk-plus/CK/invalid_sync.cc: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@210680 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/61151jason2014-05-132-1/+5
| | | | | | * lambda.c (is_this): Allow capture proxies too. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@210392 138bc75d-0d04-0410-961f-82ee72b054a4
* DR 5jason2014-05-132-2/+18
| | | | | | | | PR c++/60019 * call.c (build_user_type_conversion_1): The copy-init temporary is cv-unqualified. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@210391 138bc75d-0d04-0410-961f-82ee72b054a4
* /cppaolo2014-05-072-41/+62
| | | | | | | | | | | | | | | | | 2014-05-07 Paolo Carlini <paolo.carlini@oracle.com> PR c++/61083 * pt.c (convert_nontype_argument): Protect all the error calls with complain & tf_error. /testsuite 2014-05-07 Paolo Carlini <paolo.carlini@oracle.com> PR c++/61083 * g++.dg/cpp0x/sfinae50.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@210186 138bc75d-0d04-0410-961f-82ee72b054a4
* /cppaolo2014-05-062-3/+13
| | | | | | | | | | | | | | | | | | 2014-05-06 Paolo Carlini <paolo.carlini@oracle.com> PR c++/60999 * pt.c (maybe_begin_member_template_processing): Use uses_template_parms. /testsuite 2014-05-06 Paolo Carlini <paolo.carlini@oracle.com> PR c++/60999 * g++.dg/cpp0x/nsdmi-template9.C: New. * g++.dg/cpp0x/nsdmi-template10.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@210127 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/60992jason2014-05-023-9/+30
| | | | | | | | | | * lambda.c (lambda_capture_field_type): Wrap anything dependent other than 'this' or a VLA. (is_this): New. * pt.c (tsubst_copy) [VAR_DECL]: Also build a new VAR_DECL if the operand was static or constant. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@210018 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/60980jason2014-04-302-1/+5
| | | | | | * init.c (build_value_init): Don't try to call an array constructor. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@209936 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/60951jason2014-04-302-1/+6
| | | | | | * typeck2.c (massage_init_elt): Use maybe_constant_init. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@209935 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/c/jakub2014-04-242-7/+33
| | | | | | | | | | | | | | | | | | | | | * c-parser.c (c_parser_omp_atomic): Allow seq_cst before atomic-clause, allow comma in between atomic-clause and seq_cst. gcc/cp/ * parser.c (cp_parser_omp_atomic): Allow seq_cst before atomic-clause, allow comma in between atomic-clause and seq_cst. gcc/testsuite/ * c-c++-common/gomp/atomic-16.c: Remove all dg-error directives. Replace load with read and store with write. libgomp/ * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and atomic type clauses in any order and optional comma in between. * testsuite/libgomp.c++/atomic-15.C: Likewise. * testsuite/libgomp.c/atomic-17.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@209763 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c/59073jakub2014-04-222-1/+9
| | | | | | | | | | | | | | c/ * c-parser.c (c_parser_omp_parallel): If c_parser_omp_for fails, don't set OM_PARALLEL_COMBINED and return NULL. cp/ * parser.c (cp_parser_omp_parallel): If cp_parser_omp_for fails, don't set OM_PARALLEL_COMBINED and return NULL. testsuite/ * c-c++-common/gomp/pr59073.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@209647 138bc75d-0d04-0410-961f-82ee72b054a4
* Mark ChangeLoggccadmin2014-04-221-0/+4
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@209599 138bc75d-0d04-0410-961f-82ee72b054a4
* PR plugins/59335jakub2014-04-152-1/+6
| | | | | | | | | | * Makefile.in (PLUGIN_HEADERS): Add various headers that have been added in 4.9. * Make-lang.h (CP_PLUGIN_HEADERS): Add type-utils.h. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@209405 138bc75d-0d04-0410-961f-82ee72b054a4
* PR ipa/60761jakub2014-04-102-1/+15
| | | | | | | | | | * error.c (dump_decl) <case FUNCTION_DECL>: If DECL_LANG_SPECIFIC is NULL, but DECL_ABSTRACT_ORIGIN is not, recurse on DECL_ABSTRACT_ORIGIN instead of printing <built-in>. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209278 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-04-09 Fabien Chêne <fabien@gcc.gnu.org>fabien2014-04-093-8/+14
| | | | | | | | | * pt.c (check_template_variable): Check for the return of pedwarn before emitting a note. * parser.c (cp_parser_lambda_introducer): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209252 138bc75d-0d04-0410-961f-82ee72b054a4
* /cppaolo2014-04-092-49/+41
| | | | | | | | | | | | | | | | | | | | 2014-04-08 Paolo Carlini <paolo.carlini@oracle.com> PR c++/59115 * pt.c (process_template_parm): For an invalid non-type parameter only set TREE_TYPE to error_mark_node. (push_inline_template_parms_recursive, comp_template_parms, redeclare_class_template, coerce_template_template_parm, coerce_template_template_parms, unify): Use error_operand_p. /testsuite 2014-04-08 Paolo Carlini <paolo.carlini@oracle.com> PR c++/59115 * g++.dg/template/crash119.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209230 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/invoke (Wnon-virtual-dtor): Update to match implementation.nathan2014-04-082-5/+14
| | | | | | | | | | | | | | | | | (Weffc++): Likewise. cp/ * class.c (check_bases_and_members): Warn about non-virtual dtors in public bases only. Check warn_ecpp before complaining about non-polymorphic bases. testsuite/ * g++.dg/warn/Wnvdtor-2.C: Add more cases. * g++.dg/warn/Wnvdtor-3.C: Likewise. * g++.dg/warn/Wnvdtor-4.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209212 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-04-04 Fabien Chêne <fabien@gcc.gnu.org>fabien2014-04-042-16/+23
| | | | | | | | | | * decl.c (duplicate_decls): Check for the return of warning_at before emitting a note. (warn_misplaced_attr_for_class_type): Likewise. (check_tag_decl): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209131 138bc75d-0d04-0410-961f-82ee72b054a4
* /cppaolo2014-04-042-7/+12
| | | | | | | | | | | | | | | | 2014-04-04 Paolo Carlini <paolo.carlini@oracle.com> PR c++/58207 * semantics.c (sort_constexpr_mem_initializers): Robustify loop. /testsuite 2014-04-04 Paolo Carlini <paolo.carlini@oracle.com> PR c++/58207 * g++.dg/cpp0x/constexpr-ice15.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209128 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/44613jason2014-04-043-1/+26
| | | | | | | | * semantics.c (add_stmt): Set STATEMENT_LIST_HAS_LABEL. * decl.c (cp_finish_decl): Create a new BIND_EXPR before instantiating a variable-sized type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209125 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/21113jason2014-04-042-4/+8
| | | | | | * decl.c (decl_jump_unsafe): Consider variably-modified decls. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209124 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-04-04 Fabien Chêne <fabien@gcc.gnu.org>fabien2014-04-042-13/+21
| | | | | | | | | * class.c (find_abi_tags_r): Check for the return of warning before emitting a note. (one_inherited_ctor): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209118 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-04-04 Fabien Chêne <fabien@gcc.gnu.org>fabien2014-04-042-5/+10
| | | | | | | | | | | | | | | * decl.c (duplicate_decls): Check for the return of permerror before emitting a note. 2014-04-04 Fabien Chêne <fabien@gcc.gnu.org> * g++.old-deja/g++.robertl/eb121.C: Adjust. * g++.old-deja/g++.jason/overload21.C: Likewise. * g++.old-deja/g++.law/init5.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209071 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/invoke.texi (Wnon-virtual-dtor): Adjust documentation.nathan2014-04-032-26/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | (Weffc++): Remove Scott's numbering, merge lists and reference Wnon-virtual-dtor. c-family/ * c.opt (Wnon-virtual-dtor): Auto set when Weffc++. cp/ * class.c (accessible_nvdtor_p): New. (check_bases): Don't check base destructor here ... (check_bases_and_members): ... check them here. Trigger on Wnon-virtual-dtor flag. (finish_struct_1): Use accessible_nvdtor_p. testsuite/ * g++.dg/warn/Wnvdtor.C: Add non-polymorphic case. * g++.dg/warn/Wnvdtor-2.C: New. * g++.dg/warn/Wnvdtor-3.C: New. * g++.dg/warn/Wnvdtor-4.C: New. * g++.dg/warn/Weff1.C: Delete. * g++.old-deja/g++.benjamin/15309-1.C: Delete. * g++.old-deja/g++.benjamin/15309-2.C: Delete. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209056 138bc75d-0d04-0410-961f-82ee72b054a4
* fix gcc/cp/ChangeLog formattingjason2014-04-011-2/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209001 138bc75d-0d04-0410-961f-82ee72b054a4
* * pt.c (process_partial_specialization): Say "not deducible"jason2014-04-012-3/+8
| | | | | | rather than "not used". Use inform. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209000 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/60374jason2014-04-012-0/+26
| | | | | | | * pt.c (coerce_template_parms): Check that the pack expansion pattern works with the first matching parameter. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208999 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-04-01 Fabien Chêne <fabien@gcc.gnu.org>fabien2014-04-016-27/+41
| | | | | | | | | | | | | | * cp/init.c (perform_member_init): Homogenize uninitialized diagnostics. 2014-04-01 Fabien Chêne <fabien@gcc.gnu.org> * g++.dg/init/ctor4.C: Adjust. * g++.dg/init/ctor4-1.C: New. * g++.dg/cpp0x/defaulted2.C: Adjust. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208998 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/60708jason2014-04-012-0/+6
| | | | | | * call.c (build_array_conv): Call complete_type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208996 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/60713jason2014-04-012-2/+18
| | | | | | | | * typeck2.c (PICFLAG_SIDE_EFFECTS): New. (picflag_from_initializer): Return it. (process_init_constructor): Handle it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208995 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/60642jason2014-04-015-20/+52
| | | | | | | | | | | * decl2.c (is_late_template_attribute): Don't defer abi_tag. * mangle.c (write_unqualified_name): Fix abi_tag on templates. * pt.c (get_template_info): Handle NAMESPACE_DECL. (most_general_template): Handle more kinds of template. * tree.c (handle_abi_tag_attribute): Ignore abi_tag on template instantiations and specializations. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208992 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/44859jason2014-04-012-4/+10
| | | | | | | * typeck.c (maybe_warn_about_returning_address_of_local): Unwrap COMPONENT_REFs and ARRAY_REFs sooner. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208970 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix PR c++/60626abutcher2014-03-292-1/+14
| | | | | | | | | | | PR c++/60626 * parser.c (cp_parser_init_declarator): Handle erroneous generic type usage in non-functions with pushed scope. PR c++/60626 * g++.dg/cpp1y/pr60626.C: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208940 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix PR c++/60573abutcher2014-03-285-11/+48
| | | | | | | | | | | | | | | | | | PR c++/60573 * name-lookup.h (cp_binding_level): New transient field defining_class_p to indicate whether a scope is in the process of defining a class. * semantics.c (begin_class_definition): Set defining_class_p. * name-lookup.c (leave_scope): Reset defining_class_p. * parser.c (synthesize_implicit_template_parm): Use cp_binding_level:: defining_class_p rather than TYPE_BEING_DEFINED as the predicate for unwinding to class-defining scope to handle the erroneous definition of a generic function of an arbitrarily nested class within an enclosing class. PR c++/60573 * g++.dg/cpp1y/pr60573.C: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208921 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-03-26 Fabien Chene <fabien@gcc.gnu.org>fabien2014-03-263-6/+21
| | | | | | | | | | | | | | | | | | | | | | | PR c++/52369 * cp/method.c (walk_field_subobs): improve the diagnostic locations for both REFERENCE_TYPEs and non-static const members. * cp/init.c (diagnose_uninitialized_cst_or_ref_member): use %q#D instead of %qD to be consistent with the c++11 diagnostic. 2014-03-26 Fabien Chene <fabien@gcc.gnu.org> PR c++/52369 * g++.dg/init/const10.C: New. * g++.dg/init/const11.C: New. * g++.dg/init/pr25811.C: Adjust. * g++.dg/init/pr29043.C: Likewise. * g++.dg/init/pr43719.C: Likewise. * g++.dg/init/pr44086.C: Likewise. * g++.dg/init/ctor8.C: Likewise. * g++.dg/init/uninitialized1.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208854 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/60566jason2014-03-263-16/+15
| | | | | | | | PR c++/58678 * class.c (build_vtbl_initializer): Handle abstract dtors here. * search.c (get_pure_virtuals): Not here. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208845 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/60375jason2014-03-252-5/+15
| | | | | | | * parser.c (cp_parser_lambda_expression): Don't parse the body of a lambda in unevaluated context. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208817 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/60628jason2014-03-252-0/+13
| | | | | | * decl.c (create_array_type_for_decl): Complain about array of auto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208816 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/60331jakub2014-03-252-0/+7
| | | | | | | | | | | | | | | | | | * semantics.c (potential_constant_expression_1): Handle DECL_EXPR. * testsuite/libgomp.c++/udr-11.C: New test. * testsuite/libgomp.c++/udr-12.C: New test. * testsuite/libgomp.c++/udr-13.C: New test. * testsuite/libgomp.c++/udr-14.C: New test. * testsuite/libgomp.c++/udr-15.C: New test. * testsuite/libgomp.c++/udr-16.C: New test. * testsuite/libgomp.c++/udr-17.C: New test. * testsuite/libgomp.c++/udr-18.C: New test. * testsuite/libgomp.c++/udr-19.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208806 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix PR c++/60627abutcher2014-03-242-1/+10
| | | | | | | | | | | | PR c++/60627 * parser.c (cp_parser_parameter_declaration_clause): Prevent 'auto' from introducing an implicit function template parameter within an explicit instantiation. PR c++/60627 * g++.dg/cpp1y/pr60627.C: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208799 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/60574jason2014-03-242-2/+8
| | | | | | | * decl.c (grokdeclarator): Change permerror about 'virtual auto' to error. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208792 138bc75d-0d04-0410-961f-82ee72b054a4
* /cppaolo2014-03-212-0/+13
| | | | | | | | | | | | | | | | | 2014-03-21 Paolo Carlini <paolo.carlini@oracle.com> PR c++/60384 * name-lookup.c (push_class_level_binding_1): Check identifier_p on the name argument. /testsuite 2014-03-21 Paolo Carlini <paolo.carlini@oracle.com> PR c++/60384 * g++.dg/cpp1y/pr60384.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208752 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/60572jakub2014-03-202-0/+9
| | | | | | | | | | * init.c (build_zero_init_1): Ignore fields with error_mark_node type. * g++.dg/init/pr60572.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208734 138bc75d-0d04-0410-961f-82ee72b054a4
* /cppaolo2014-03-192-8/+19
| | | | | | | | | | | | | | | | | 2014-03-19 Paolo Carlini <paolo.carlini@oracle.com> PR c++/51474 * call.c (build_new_method_call_1): Handle pure virtuals called by NSDMIs too. /testsuite 2014-03-19 Paolo Carlini <paolo.carlini@oracle.com> PR c++/51474 * g++.dg/cpp0x/nsdmi-virtual2.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208686 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix PR c++/60390abutcher2014-03-172-9/+41
| | | | | | | | | | | | | | | PR c++/60390 * parser.c (cp_parser_member_declaration): Don't allow finish_fully_implicit_template to consider friend declarations to be class member templates. (synthesize_implicit_template_parm): Handling winding back through class scope to the class being defined in order to inject a template argument list. PR c++/60390 * g++.dg/cpp1y/pr60390.C: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208625 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud