* [devel] invalid lvalue in assignment
@ 2006-09-01 3:32 Alexey Tourbin
2006-09-01 7:39 ` Serge Pavlovsky
` (3 more replies)
0 siblings, 4 replies; 6+ messages in thread
From: Alexey Tourbin @ 2006-09-01 3:32 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 871 bytes --]
On Wed, Aug 30, 2006 at 02:42:13PM +0400, QA Team Robot wrote:
> Package: SearchAndRescue-0.8.2-alt2.1
> Packager: Vitaly Lipatov <lav@altlinux>
> menu.c: In function 'SARMenuLabelNew':
> menu.c:704: error: invalid lvalue in assignment
703 /* Allocate structure */
704 m->object[n] = (void *)label_ptr = SAR_MENU_LABEL(calloc(
705 1, sizeof(sar_menu_label_struct)
706 ));
Это довольно типичная ситуация, которая встречается в логах.
По сути стало нельзя совмещать двойное присваивание с приведением типа.
$ cat test.c
int main()
{
char *p1, *p2;
p1 = (void*)p2 = 0;
return 0;
}
$ gcc test.c
test.c: In function 'main':
test.c:4: error: invalid lvalue in assignment
$
Это уже действительно стало криминально так присваивать или стоит
ожидать исправления в gcc?
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [devel] invalid lvalue in assignment
2006-09-01 3:32 [devel] invalid lvalue in assignment Alexey Tourbin
@ 2006-09-01 7:39 ` Serge Pavlovsky
2006-09-01 7:42 ` Serge Pavlovsky
` (2 subsequent siblings)
3 siblings, 0 replies; 6+ messages in thread
From: Serge Pavlovsky @ 2006-09-01 7:39 UTC (permalink / raw)
To: ALT Devel discussion list
В Птн, 01/09/2006 в 07:32 +0400, Alexey Tourbin пишет:
> int main()
> {
> char *p1, *p2;
> p1 = (void*)p2 = 0;
> return 0;
> }
p1 = *(void**)&p2 = 0;
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [devel] invalid lvalue in assignment
2006-09-01 3:32 [devel] invalid lvalue in assignment Alexey Tourbin
2006-09-01 7:39 ` Serge Pavlovsky
@ 2006-09-01 7:42 ` Serge Pavlovsky
2006-09-01 7:52 ` Serge Pavlovsky
2006-09-01 11:07 ` Dmitry V. Levin
3 siblings, 0 replies; 6+ messages in thread
From: Serge Pavlovsky @ 2006-09-01 7:42 UTC (permalink / raw)
To: ALT Devel discussion list
В Птн, 01/09/2006 в 07:32 +0400, Alexey Tourbin пишет:
> int main()
> {
> char *p1, *p2;
> p1 = (void*)p2 = 0;
> return 0;
> }
p1 = (void*) (p2 = 0);
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [devel] invalid lvalue in assignment
2006-09-01 3:32 [devel] invalid lvalue in assignment Alexey Tourbin
2006-09-01 7:39 ` Serge Pavlovsky
2006-09-01 7:42 ` Serge Pavlovsky
@ 2006-09-01 7:52 ` Serge Pavlovsky
2006-09-01 11:07 ` Dmitry V. Levin
3 siblings, 0 replies; 6+ messages in thread
From: Serge Pavlovsky @ 2006-09-01 7:52 UTC (permalink / raw)
To: ALT Devel discussion list
В Птн, 01/09/2006 в 07:32 +0400, Alexey Tourbin пишет:
> int main()
> {
> char *p1, *p2;
> p1 = (void*)p2 = 0;
> return 0;
> }
p1 = p2 = (void*)0;
p1 = p2 = 0;
какая-то неполноценная модель похоже ;)
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [devel] invalid lvalue in assignment
2006-09-01 3:32 [devel] invalid lvalue in assignment Alexey Tourbin
` (2 preceding siblings ...)
2006-09-01 7:52 ` Serge Pavlovsky
@ 2006-09-01 11:07 ` Dmitry V. Levin
2006-09-01 12:45 ` Alexey Tourbin
3 siblings, 1 reply; 6+ messages in thread
From: Dmitry V. Levin @ 2006-09-01 11:07 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 886 bytes --]
On Fri, Sep 01, 2006 at 07:32:55AM +0400, Alexey Tourbin wrote:
> On Wed, Aug 30, 2006 at 02:42:13PM +0400, QA Team Robot wrote:
> > Package: SearchAndRescue-0.8.2-alt2.1
> > Packager: Vitaly Lipatov <lav@altlinux>
>
> > menu.c: In function 'SARMenuLabelNew':
> > menu.c:704: error: invalid lvalue in assignment
>
> 703 /* Allocate structure */
> 704 m->object[n] = (void *)label_ptr = SAR_MENU_LABEL(calloc(
> 705 1, sizeof(sar_menu_label_struct)
> 706 ));
>
> Это довольно типичная ситуация, которая встречается в логах.
> По сути стало нельзя совмещать двойное присваивание с приведением типа.
Нет, всё проще:
$ cat test.c
int main()
{
char *p;
(void*)p = 0;
return !!p;
}
$ gcc test.c
test.c: In function 'main':
test.c:4: error: invalid lvalue in assignment
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [devel] invalid lvalue in assignment
2006-09-01 11:07 ` Dmitry V. Levin
@ 2006-09-01 12:45 ` Alexey Tourbin
0 siblings, 0 replies; 6+ messages in thread
From: Alexey Tourbin @ 2006-09-01 12:45 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 1100 bytes --]
On Fri, Sep 01, 2006 at 03:07:40PM +0400, Dmitry V. Levin wrote:
> On Fri, Sep 01, 2006 at 07:32:55AM +0400, Alexey Tourbin wrote:
> > On Wed, Aug 30, 2006 at 02:42:13PM +0400, QA Team Robot wrote:
> > > Package: SearchAndRescue-0.8.2-alt2.1
> > > Packager: Vitaly Lipatov <lav@altlinux>
> >
> > > menu.c: In function 'SARMenuLabelNew':
> > > menu.c:704: error: invalid lvalue in assignment
> >
> > 703 /* Allocate structure */
> > 704 m->object[n] = (void *)label_ptr = SAR_MENU_LABEL(calloc(
> > 705 1, sizeof(sar_menu_label_struct)
> > 706 ));
> >
> > Это довольно типичная ситуация, которая встречается в логах.
> > По сути стало нельзя совмещать двойное присваивание с приведением типа.
>
> Нет, всё проще:
>
> $ cat test.c
> int main()
> {
> char *p;
> (void*)p = 0;
> return !!p;
> }
> $ gcc test.c
> test.c: In function 'main':
> test.c:4: error: invalid lvalue in assignment
Точно. K&R стр. 261 вверху (в русском издании):
Выражение с приведением типа не является lvalue. 8-(
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2006-09-01 12:45 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-09-01 3:32 [devel] invalid lvalue in assignment Alexey Tourbin
2006-09-01 7:39 ` Serge Pavlovsky
2006-09-01 7:42 ` Serge Pavlovsky
2006-09-01 7:52 ` Serge Pavlovsky
2006-09-01 11:07 ` Dmitry V. Levin
2006-09-01 12:45 ` Alexey Tourbin
ALT Linux Team development discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
public-inbox-index devel
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.devel
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git