Friday, March 27, 2020

Digest for comp.lang.c++@googlegroups.com - 5 updates in 3 topics

Vir Campestris <vir.campestris@invalid.invalid>: Mar 27 09:30PM

Just FYI we have end-user product running in several countries.
 
We've managed to have engineers from most of the companies most of the
time. Even then... we've just had to explain to our USA masters that the
language they speak in Quebec isn't the same as the one spoken in France.
 
Andy
"Öö Tiib" <ootiib@hot.ee>: Mar 27 11:52AM -0700

On Friday, 27 March 2020 19:59:58 UTC+2, David Brown wrote:
> C++ for low-level programming? I know, we'll make changes to noexcept()
> - that will get them!". (Forgetting, of course, that for a lot of
> low-level and embedded work exceptions are disabled.)
 
So the constant expression foo(42) can throw since it is somehow
evaluated run-time? May be ... I don't know how. Reasons why
exceptions are often disabled in embedded world are unrelated and
even the situation of these being disabled is actually non-conforming.

> > You do not consider how C++ features could be used to make those
> > handier so you perhaps see no difference.
 
> So show me!
 
If you can write with straight face that compile time evaluated expression
may throw is normal then also you will write with same straight face that
my code is garbage. So lets better drop that.
James Kuyper <jameskuyper@alumni.caltech.edu>: Mar 27 02:02PM -0700

On 3/27/20 2:52 PM, Öö Tiib wrote:
 
> If you can write with straight face that compile time evaluated expression
> may throw is normal then also you will write with same straight face that
> my code is garbage. So lets better drop that.
 
123456789012345678901234567890123456789012345678901234567890123456789012
"For a constexpr function or constexpr constructor that is neither
defaulted nor a template, if no argument values exist such that an
invocation of the function or constructor could be an evaluated
subexpression of a core constant expression (8.20), or, for a
constructor, a constant initializer for some object (6.6.2), the program
is ill-formed, no diagnostic required. [ Example:
 
constexpr int f(bool b)
{ return b ? throw 0 : 0; } // OK
constexpr int f() { return f(true); } // ill-formed, no diagnostic required"
 
(n4659.pdf 10.1.5p5)
 
Given the above declarations, what would you prefer for noexcept(f(true)) to return?
James Kuyper <jameskuyper@alumni.caltech.edu>: Mar 27 04:50PM -0400

On 3/27/20 2:52 PM, Öö Tiib wrote:
> On Friday, 27 March 2020 19:59:58 UTC+2, David Brown wrote:
>> On 27/03/2020 17:59, Öö Tiib wrote:
>>> On Friday, 27 March 2020 17:56:48 UTC+2, David Brown wrote:
...
> evaluated run-time? May be ... I don't know how. Reasons why
> exceptions are often disabled in embedded world are unrelated and
> even the situation of these being disabled is actually non-conforming.
...
 
> If you can write with straight face that compile time evaluated expression
> may throw is normal then also you will write with same straight face that
> my code is garbage. So lets better drop that.
 
 
"For a constexpr function or constexpr constructor that is neither
defaulted nor a template, if no argument values exist such that an
invocation of the function or constructor could be an evaluated
subexpression of a core constant expression (8.20), or, for a
constructor, a constant initializer for some object (6.6.2), the program
is ill-formed, no diagnostic required. [ Example:
 
constexpr int f(bool b)
{ return b ? throw 0 : 0; } // OK
constexpr int f() { return f(true); } // ill-formed, no diagnostic required"
 
(n4659.pdf 10.1.5p5)
 
Given the above declarations, what would you prefer for
noexcept(f(true)) to return?
Cholo Lennon <chololennon@hotmail.com>: Mar 27 03:16PM -0300

On 27/3/20 12:09, Alf P. Steinbach wrote:
> numerically. Then I started on a keyboard helper thing in C++, for
> Windows. But in the end I just put the most used symbols in a text file,
> which I switch to whenever I need a symbol.
 
That remember me a TSR (terminate and stay resident) Turbo C program for
MS-DOS that I developed for my father back in 1990, in order to provide
him some Spanish symbols in his US keyboard. Spanish keyboards were not
available at that time, luckily that has changed. Fond memories :-D
 
 
--
Cholo Lennon
Bs.As.
ARG
You received this digest because you're subscribed to updates for this group. You can change your settings on the group membership page.
To unsubscribe from this group and stop receiving emails from it send an email to comp.lang.c+++unsubscribe@googlegroups.com.

No comments: