Hi.
> Am 13.10.2016 um 20:28 schrieb TS <outofthec...@icloud.com>: > > Thank you all for your replies and confirmation. I will use the delete > with the square brackets. I would suggest to stick to the upstream code as much as possible. That means, have someone fix this in the main SWORD repo and pull a copy of it for PS. Otherwise it’s hard to reason what exactly is used in PS. Manfred > > I also had already looked at the Sword++ code and saw that it had the > brackets which suggested to me that it was correct that something should be > there. > I had some confusion because in Apple's ObjC framework, they also have a > "new" function and Xcode was directing me to it when I was asking it to show > me where "new" came.(The "new" use to created the variable which needed > delete[]). As a result, I was uncertain as to how Xcode was implementing the > code. I think though that it may be an error for Xcode to be directing me to > the Cocoa definition of "new" since the file has the "cpp" file extension and > so Xcode should know to expect c++ code. Also, "new" isn't being applied here > in the code as a proper objective-c method call (I don't think?), so I'm > thinking that it's being compiled as the "new" from the c++ library. > > Thanks again, > -TS > > On Oct 12, 2016, at 05:16 AM, DM Smith <dmsm...@crosswire.org> wrote: > >> >>> On Oct 12, 2016, at 3:22 AM, Jaak Ristioja <j...@ristioja.ee >>> <mailto:j...@ristioja.ee>> wrote: >>> On 12.10.2016 10:02, Manfred Bergmann wrote: >>>> >>>>> Am 12.10.2016 um 08:57 schrieb Jaak Ristioja <j...@ristioja.ee >>>>> <mailto:j...@ristioja.ee>>: >>>>> >>>>> On 12.10.2016 09:37, Manfred Bergmann wrote: >>>>>>> On 12.10.2016 01:08, TS wrote: >>>>>>>> Xcode was warning me that in PocketSword's Sword framework, swld.cpp at >>>>>>>> line 111 with >>>>>>>> >>>>>>>> "delete buf;" >>>>>>>> may be wrong and it should perhaps be >>>>>>>> >>>>>>>> "delete[] buf;" >>>>>>>> instead. Is this correct? I looked at the code and I think Xcode is >>>>>>>> correct in that the variable is an array and needs the brackets to >>>>>>>> delete properly. >>>>>>> >>>>>>> Yes, Xcode has it correct. It should be `delete[] buf;`. This was also >>>>>>> fixed in Sword++ in March. >>>>>> >>>>>> Despite the warning, would but not be deleted completely? >>>>> >>>>> It is undefined behavior, as stated by §3.7.4.2.3 in C++11. However, the >>>>> C++ draft at https://github.com/cplusplus/draft >>>>> <https://github.com/cplusplus/draft> doesn't have this >>>>> wording since e51a2152 [1] for some reason. >>>>> >>>> >>>> Yeah, don’t get me wrong. It should be corrected. >>>> But is it indeed a memory leak or does the runtime still collect and >>>> destroy all array elements? >>>> Depends on the runtime probably. >>> >>> It is undefined behavior (see http://stackoverflow.com/q/2397984/3919155 >>> <http://stackoverflow.com/q/2397984/3919155> >>> ). So as far as the C++ standard is concerned, this might yield >>> different behavior depending on the toolchain, the runtime, the >>> environment or the phase of the moon... There are also no defined bounds >>> to what may happen: it may leak, crash, hang, corrupt memory, whatever... >>> >>> J >>> >> >> If I recall delete without the brackets will delete the object. That is the >> array. When called with the brackets will call delete on the elements in the >> array. In some cases the semantic difference does not matter, such as an >> array of char or int. I didn’t look at the code to see if it mattered here. >> >> DM >> _______________________________________________ >> sword-devel mailing list: sword-devel@crosswire.org >> <mailto:sword-devel@crosswire.org> >> http://www.crosswire.org/mailman/listinfo/sword-devel >> <http://www.crosswire.org/mailman/listinfo/sword-devel> >> Instructions to unsubscribe/change your settings at above page > _______________________________________________ > sword-devel mailing list: sword-devel@crosswire.org > http://www.crosswire.org/mailman/listinfo/sword-devel > Instructions to unsubscribe/change your settings at above page
_______________________________________________ sword-devel mailing list: sword-devel@crosswire.org http://www.crosswire.org/mailman/listinfo/sword-devel Instructions to unsubscribe/change your settings at above page