From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9581 invoked by alias); 1 Mar 2013 15:13:23 -0000 Mailing-List: contact archer-commits-help@sourceware.org; run by ezmlm Sender: Precedence: bulk List-Post: List-Help: List-Subscribe: Received: (qmail 9491 invoked by uid 306); 1 Mar 2013 15:13:20 -0000 Date: Fri, 01 Mar 2013 15:13:00 -0000 Message-ID: <20130301151318.9479.qmail@sourceware.org> From: tromey@sourceware.org To: archer-commits@sourceware.org Subject: [SCM] tromey/operator-new-delete: reverse-20080717-branchpoint-12115-g06d9b53 X-Git-Refname: refs/heads/tromey/operator-new-delete X-Git-Reftype: branch X-Git-Oldrev: 0000000000000000000000000000000000000000 X-Git-Newrev: 06d9b538b76052b84839ce20a5213c1e6bd45f4a X-SW-Source: 2013-q1/txt/msg00220.txt.bz2 List-Id: The branch, tromey/operator-new-delete has been created at 06d9b538b76052b84839ce20a5213c1e6bd45f4a (commit) - Log ----------------------------------------------------------------- commit 06d9b538b76052b84839ce20a5213c1e6bd45f4a Author: Tom Tromey Date: Fri Mar 1 08:12:54 2013 -0700 add README.archer commit 93a6d53f595e446277064eded7ffc504421ef0ed Author: Tom Tromey Date: Fri Jul 13 11:23:59 2012 -0600 add virtual base to new.cc needs an update to the .exp file as well this is here to ensure that we call the in-charge constructor currently there is no way to find this commit 5fc93d9586ac8151f4325e4942fc47db0e428579 Author: Tom Tromey Date: Fri Jun 15 08:52:54 2012 -0600 Implement operator new FIXME ?? changed a bit since the last go-round: delete 0 delete works w/ int added test for subclass operator delete w/ virtual destructor This implements 'new' and 'delete' for the C++ expression parser. It should work fine in the majority of cases. There is one known bug, where array new will fail to work properly if the base type requires unusual alignment. I don't think there is any way to compute this currently in gdb. A new test case is included. Built and regtested on x86-64 Fedora 16. PR c++/10050: * c-exp.y (exp): New productions for "new", "delete". (new_operator, new_type, new_type_id, new_placement, new_init) (direct_new_declarator, delete_operator): New productions. * cp-abi.c (cp_call_array_new, cp_get_vec_elts): New functions. * cp-abi.h (cp_call_array_new, cp_get_vec_elts): Declare. (struct cp_abi_ops) : New fields. * eval.c (evaluate_subexp_standard) : New cases. * expprint.c (print_subexp_standard) : New cases. * gnu-v3-abi.c (gnuv3_array_padding, gnuv3_call_array_new) (gnuv3_get_vec_elts): New functions. (init_gnuv3_ops): Initialize new fields. * parse.c (operator_length_standard) : New cases. * parser-defs.h (enum cxx_new_delete_flags): New. * std-operator.def (OP_NEW, OP_DELETE): New. * valarith.c (value_operator_new, value_construct) (value_operator_delete, value_destruct): New functions. * value.h (value_operator_new, value_construct) (value_operator_delete, value_destruct): Declare. * gdb.cp/new.cc: New file. * gdb.cp/new.exp: New file. commit 75358e92281a0367d03d569f23cab7e219d692d5 Author: Tom Tromey Date: Mon Nov 26 13:36:44 2012 -0700 add new value operators and whatnot commit a7036199736b79474a45a70ba02eb7ef61f74d8d Author: Tom Tromey Date: Mon Nov 26 13:36:06 2012 -0700 Partial fix for PR 14160 I'm checking this in. This is a partial fix for PR 14160. The bug here is that there is some fundamental confusion in gdb about what the physname is, so things like is_constructor_name are unreliable. This patch works around the immediate bug by noting constructors when reading the DWARF and marking the function fields appropriately. I think this is a better approach than checking physnames anyhow. Partial fix for PR c++/14160: * c-typeprint.c (c_type_print_base): Use TYPE_FN_FIELD_CONSTRUCTOR. * dwarf2read.c (dwarf2_is_constructor): New function. (dwarf2_add_member_fn): Use it. * gnu-v3-abi.c (gnuv3_pass_by_reference): Use TYPE_FN_FIELD_CONSTRUCTOR. * jv-typeprint.c (java_type_print_base): Use TYPE_FN_FIELD_CONSTRUCTOR. * gdbtypes.h (struct fn_field) : New field. : Shrink. (TYPE_FN_FIELD_CONSTRUCTOR): New macro. * gdb.cp/templates.exp (test_ptype_of_templates): Update kfails. ----------------------------------------------------------------------- hooks/post-receive -- Repository for Project Archer.