Re: [Firebird-devel] PathName and operator +=

2016-05-07 Thread Dimitry Sibiryakov
07.05.2016 20:00, Adriano dos Santos Fernandes wrote: No, just no! It will not do this! You're free to write minimal test case compiling with maximum optimization to demonstrate this. You will fail, I know. Try attached test and notice "B destructed" in the middle of output. -- WBR, SD.

Re: [Firebird-devel] PathName and operator +=

2016-05-07 Thread Adriano dos Santos Fernandes
Em 07/05/2016 13:13, Dimitry Sibiryakov escreveu: > 07.05.2016 18:03, Adriano dos Santos Fernandes wrote: >> Optimizations are not allowed to broke conforming code. > >Compiler is free to destroy old instance of object and create a new one > when its > content is overwritten by assignment op

Re: [Firebird-devel] PathName and operator +=

2016-05-07 Thread Dimitry Sibiryakov
07.05.2016 18:03, Adriano dos Santos Fernandes wrote: > Optimizations are not allowed to broke conforming code. Compiler is free to destroy old instance of object and create a new one when its content is overwritten by assignment operator using appropriate copy or move constructor. For th

Re: [Firebird-devel] PathName and operator +=

2016-05-07 Thread Adriano dos Santos Fernandes
Em 07/05/2016 12:51, Dimitry Sibiryakov escreveu: > 07.05.2016 17:47, Adriano dos Santos Fernandes wrote: >> There is no problem > >How can you be so sure? Did you inspected exact way copy elision works for > every used > compiler? > Optimizations are not allowed to broke conforming code.

Re: [Firebird-devel] PathName and operator +=

2016-05-07 Thread Dimitry Sibiryakov
07.05.2016 17:47, Adriano dos Santos Fernandes wrote: > There is no problem How can you be so sure? Did you inspected exact way copy elision works for every used compiler? -- WBR, SD. -- Find and fix application

Re: [Firebird-devel] PathName and operator +=

2016-05-07 Thread Adriano dos Santos Fernandes
There is no problem, you seem to use wrong things in your private code and are assuming there is bugs in the pubic code. Adriano Em 07/05/2016 05:36, Dimitry Sibiryakov escreveu: > 07.05.2016 0:17, Adriano dos Santos Fernandes wrote: >> Define the problem. >> >> I do not see this unpredictable

[Firebird-devel] Wildcards in config include clause

2016-05-07 Thread Dimitry Sibiryakov
Hello, All. Do it really desirable to allow wildcards in any part of path? Consider, for example, following: include ../../*/*/*/* -- WBR, SD. -- Find and fix application performance issues faster with Appl

[Firebird-devel] Protection from symlinks

2016-05-07 Thread Dimitry Sibiryakov
Hello, All. In path_utils.h there is a comment: > /** isSymLink returns true if the given path is symbolic link, and > false if not. > Use of this links may provide way to override system security. > Example: ln -s /usr/firebird/ExternalTables/mytable > /

Re: [Firebird-devel] PathName and operator +=

2016-05-07 Thread Dimitry Sibiryakov
07.05.2016 0:17, Adriano dos Santos Fernandes wrote: > Define the problem. > > I do not see this unpredictable behavior. Usual code for such methods are: XXX YYY:toXXX() { return XXX(*this); } Note that constructor here uses default pool. Now look at calling code: XXX a(anyPool); a