[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 3/3] verify: remove verify_true
From: |
Bruno Haible |
Subject: |
Re: [PATCH 3/3] verify: remove verify_true |
Date: |
Wed, 19 Jun 2019 00:26:49 +0200 |
User-agent: |
KMail/5.1.3 (Linux/4.4.0-145-generic; KDE/5.18.0; x86_64; ; ) |
Hi Paul,
> 2019-05-09 Paul Eggert <address@hidden>
>
> + verify: remove verify_true
> + * NEWS: Mention this.
> + * lib/verify.h (verify_true): Remove.
> + * tests/test-verify.c (item): Test verify_expr, not verify_true.
> +
As a consequence of this change, the test-verify.c file does not compile
any more on AIX 7.1 with xlc:
xlc: 1501-230 (S) Internal compiler error; please contact your Service
Representative. For more information visit:
http://www.ibm.com/support/docview.wss?uid=swg21110810
The machine is gcc111.fsffrance.org.
The compiler version is
IBM XL C for AIX, V12.1 (5765-J01, 5725-C71)
Copyright IBM Corp. 1991, 2012 and by others.
All Rights Reserved.
US Government Users Restricted Rights -
Use, duplication or disclosure restricted by
GSA ADP Schedule Contract with IBM Corp.
-----------------------------------------
Version: 12.01.0000.0000
Version: 12.01.0000.0000
Driver 120315
120321
Compiler Services 120315
120203
Date: Wed Mar 21 21:39:51 EDT 2012
-----------------------------------------
The following compiles fine:
enum
{
item = verify_true (1 == 1) * 0 + 17 /* should be ok */
};
int item1 = verify_expr (1 == 1, 10) * 0 + 17;
const int item2 = verify_expr (1 == 1, 10) * 0 + 17;
But the following does not:
enum
{
item = verify_expr (1 == 1, 10) * 0 + 17 /* should be ok */
};
So, it's apparently the use of verify_expr in an enum value.
We had a similar bug with HP-UX cc in the past.
Do you see other options than
(a) reintroduce verify_true and check that it's usable in enum.
(b) relax the check and only check that it's usable as a static initializer.
?
Bruno
- Re: [PATCH 3/3] verify: remove verify_true,
Bruno Haible <=