Article View: pl.comp.lang.c
Article #309580Re: Błąd kompilacji: Control reaches end of non-void function
From: m.labanowicz
Date: Wed, 03 Jan 2018 14:11
Date: Wed, 03 Jan 2018 14:11
33 lines
2263 bytes
2263 bytes
> Bardzo sprytne, ale trzeba dodać sizeof(result),
To zalezy czy stack rosnie czy maleje.
Mala modyfikacja.
Bardzo mozliwe, ze ta detekcja zostanie 'zepsuta' przez optymalizator.
--------------------------------------
#include <stdio.h>
#include <stdlib.h>
int sp_direction_internal(int * a_ptr)
{
int b = 0;
return (&b < a_ptr) ? -1 : 1;
}
int sp_direction(void)
{
int a = 0;
return sp_direction_internal(&a);
}
void * sp(void) {
int * volatile result = (int *)(&result) - (sp_direction() < 0);
return result;
}
int main(void) {
printf("sp_direction=%d\n", sp_direction());
printf("sp=%p\n", sp());
return EXIT_SUCCESS;
}
--------------------------------------
--
Maciej Labanowicz
Technical Details
Message-ID:
<907df099-599d-4c8e-8de3-1edce8200ba2@googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!peer01.am4!peer.am4.highwinds-media.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!m31no6129232qtf.0!news-out.google.com!t48ni2466qtc.1!nntp.google.com!m31no6129230qtf.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mailReferences:
<12c62252-1856-414e-9237-61a257bf9d99@googlegroups.com> <417dc325-da47-457f-ac5f-54bf79e63223@googlegroups.com> <0e3a111e-e4fb-48fb-9623-7ac68f4e5996@googlegroups.com>Show Full Headers
Complete Article Headers
X-Received: by 10.55.55.208 with SMTP id e199mr1016166qka.0.1514988699817; Wed, 03 Jan 2018 06:11:39 -0800 (PST) X-Received: by 10.31.170.1 with SMTP id t1mr169570vke.4.1514988699576; Wed, 03 Jan 2018 06:11:39 -0800 (PST) Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!peer01.am4!peer.am4.highwinds-media.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!m31no6129232qtf.0!news-out.google.com!t48ni2466qtc.1!nntp.google.com!m31no6129230qtf.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: pl.comp.lang.c Date: Wed, 3 Jan 2018 06:11:39 -0800 (PST) In-Reply-To: <0e3a111e-e4fb-48fb-9623-7ac68f4e5996@googlegroups.com> Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=91.230.58.65; posting-account=6X4IYAoAAABf4b7aSRhWXY6tHBuC51GQ NNTP-Posting-Host: 91.230.58.65 References: <12c62252-1856-414e-9237-61a257bf9d99@googlegroups.com> <417dc325-da47-457f-ac5f-54bf79e63223@googlegroups.com> <0e3a111e-e4fb-48fb-9623-7ac68f4e5996@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <907df099-599d-4c8e-8de3-1edce8200ba2@googlegroups.com> Subject: Re: Błąd kompilacji: Control reaches end of non-void function From: m.labanowicz@gmail.com Injection-Date: Wed, 03 Jan 2018 14:11:39 +0000 X-Received-Body-CRC: 2361529030 X-Received-Bytes: 2196 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit