Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #106013

Re: va_start without the first argument?

From BartC <bc@freeuk.com>
Newsgroups comp.lang.c
Subject Re: va_start without the first argument?
Date 2017-03-14 13:37 +0000
Organization A noiseless patient Spider
Message-ID <oa8rhm$v8t$1@dont-email.me> (permalink)
References (16 earlier) <a6aade9b-b090-4e38-a131-11f15f25261c@googlegroups.com> <oa6m89$e06$1@dont-email.me> <oa71q1$snq$1@dont-email.me> <oa77et$gq6$1@dont-email.me> <oa8oid$ktt$1@dont-email.me>

Show all headers | View raw


On 14/03/2017 12:46, David Brown wrote:
> On 13/03/17 23:48, BartC wrote:

> The programmer /is/ the one calling the shots - but they need to be
> called in the C language.  In C, an empty loop does nothing

Even an non-empty loop can be eliminated; I've found that out plenty of 
times when trying to benchmark something by simple repetition.

>> (Besides, this C code was was auto-generated from my language where the
>> 'volatile' attribute doesn't exist; it is an artefact only of the C
>> language.
>
> You mean your language is to limited?

It doesn't have 'volatile' because in the decades I was using it (or 
earlier incarnations) the need never came up.

(I believe earlier versions had special means to access hardware i/o ports.)

 > Apparently things like "sleep" were not practical.  I don't know what
 > the problem might have been, but I assume it also applies to the
 > functions in <time.h> and and OS-specific functions for timing.

sleep() would have been accessed via a wrapper function os_sleep() 
residing in a module that is specialised for each OS. In this case I was 
using a 'no-OS' OS-neutral module where os_sleep() would be a no-op.

Yes I could have switched things around, but that's making too much of 
my example: the file was in the editor, I needed a quick way of putting 
in a delay, and for-loops could have been optimised out.

The whole issue is that you have to do something special to ensure that 
code you write is actually executed. It's not enough just to write code; 
you have to, perversely, write extra code.

> You mean your translator is broken?  Your language attempts to give
> guarantees about what it will do with the program code it is given, but
> the C code it generates does not provide that guarantee.  This is not a
> fault of C, or the compiler - it is the fault of the person writing the
> translator.

Imagine a human translator of a novel deciding to omit a chapter because 
it added nothing to the plot! That is not their role.

If I translate my original source to native ASM, then it will do exactly 
as I intend. But if I write it as C source first, and a C compiler does 
the translation to native code, then I don't know what bits it's going 
to chop out.

Look at my post in the last hour of issues [C Compilers QoI] compiling a 
very simple, but large source file. gcc bails out after 30 seconds.

But if I run it as gcc -O3, it finishes the job, and in only 7 seconds; 
fantastic! Then I look at the output .obj file, and it's only 649 bytes, 
for a 1Mloc source file; something is not right.

And that something is that gcc managed to get such a fast timing by 
shirking the work. (Admittedly it is impressive that it managed to 
figure out so quickly that it /could/ shirk it! Nevertheless, it is not 
generating the million multiplies, adds and stores, nor the three 
million loads, that were intended.)

-- 
bartc

Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

va_start without the first argument? Thiago Adams <thiago.adams@gmail.com> - 2017-03-10 11:57 -0800
  Re: va_start without the first argument? Thiago Adams <thiago.adams@gmail.com> - 2017-03-10 12:04 -0800
  Re: va_start without the first argument? Keith Thompson <kst-u@mib.org> - 2017-03-10 12:32 -0800
    Re: va_start without the first argument? "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2017-03-10 15:51 -0500
    Re: va_start without the first argument? Thiago Adams <thiago.adams@gmail.com> - 2017-03-10 14:36 -0800
      Re: va_start without the first argument? Thiago Adams <thiago.adams@gmail.com> - 2017-03-10 14:53 -0800
        Re: va_start without the first argument? Robert Wessel <robertwessel2@yahoo.com> - 2017-03-10 17:14 -0600
          Re: va_start without the first argument? Thiago Adams <thiago.adams@gmail.com> - 2017-03-10 15:37 -0800
            Re: va_start without the first argument? Robert Wessel <robertwessel2@yahoo.com> - 2017-03-10 23:12 -0600
              Re: va_start without the first argument? Thiago Adams <thiago.adams@gmail.com> - 2017-03-13 10:29 -0700
                Re: va_start without the first argument? Thiago Adams <thiago.adams@gmail.com> - 2017-03-13 11:31 -0700
                Re: va_start without the first argument? scott@slp53.sl.home (Scott Lurndal) - 2017-03-13 18:40 +0000
                Re: va_start without the first argument? Thiago Adams <thiago.adams@gmail.com> - 2017-03-13 12:31 -0700
            Re: va_start without the first argument? jacobnavia <jacob@jacob.remcomp.fr> - 2017-03-11 19:53 +0100
              Re: va_start without the first argument? BartC <bc@freeuk.com> - 2017-03-11 19:05 +0000
                Re: va_start without the first argument? Keith Thompson <kst-u@mib.org> - 2017-03-11 11:56 -0800
              Re: va_start without the first argument? antispam@math.uni.wroc.pl - 2017-03-12 05:41 +0000
              Re: va_start without the first argument? David Brown <david.brown@hesbynett.no> - 2017-03-12 13:52 +0100
                Re: va_start without the first argument? BartC <bc@freeuk.com> - 2017-03-12 14:40 +0000
                Re: va_start without the first argument? David Brown <david.brown@hesbynett.no> - 2017-03-12 18:13 +0100
                Re: va_start without the first argument? BartC <bc@freeuk.com> - 2017-03-12 18:04 +0000
                Re: va_start without the first argument? David Brown <david.brown@hesbynett.no> - 2017-03-12 21:04 +0100
                Re: va_start without the first argument? BartC <bc@freeuk.com> - 2017-03-12 21:02 +0000
                Re: va_start without the first argument? David Brown <david.brown@hesbynett.no> - 2017-03-12 22:40 +0100
                Re: va_start without the first argument? supercat@casperkitty.com - 2017-03-12 15:51 -0700
                Re: va_start without the first argument? Malcolm McLean <malcolm.mclean5@btinternet.com> - 2017-03-12 16:52 -0700
                Re: va_start without the first argument? David Brown <david.brown@hesbynett.no> - 2017-03-13 00:56 +0100
                Re: va_start without the first argument? supercat@casperkitty.com - 2017-03-13 09:17 -0700
                Re: va_start without the first argument? BartC <bc@freeuk.com> - 2017-03-13 17:54 +0000
                Re: va_start without the first argument? David Brown <david.brown@hesbynett.no> - 2017-03-13 22:12 +0100
                Re: va_start without the first argument? BartC <bc@freeuk.com> - 2017-03-13 22:48 +0000
                Re: va_start without the first argument? David Brown <david.brown@hesbynett.no> - 2017-03-14 13:46 +0100
                Re: va_start without the first argument? BartC <bc@freeuk.com> - 2017-03-14 13:37 +0000
                Re: va_start without the first argument? David Brown <david.brown@hesbynett.no> - 2017-03-14 15:24 +0100
                Re: va_start without the first argument? supercat@casperkitty.com - 2017-03-14 08:25 -0700
                Re: va_start without the first argument? David Brown <david.brown@hesbynett.no> - 2017-03-14 17:02 +0100
                Re: va_start without the first argument? supercat@casperkitty.com - 2017-03-14 09:45 -0700
                Re: va_start without the first argument? Keith Thompson <kst-u@mib.org> - 2017-03-14 09:15 -0700
                Re: va_start without the first argument? supercat@casperkitty.com - 2017-03-14 10:02 -0700
                Re: va_start without the first argument? jt@toerring.de (Jens Thoms Toerring) - 2017-03-14 20:32 +0000
                Re: va_start without the first argument? raltbos@xs4all.nl (Richard Bos) - 2017-03-14 07:44 +0000
                Re: va_start without the first argument? David Brown <david.brown@hesbynett.no> - 2017-03-14 13:38 +0100
                Re: va_start without the first argument? Keith Thompson <kst-u@mib.org> - 2017-03-14 08:57 -0700
                Re: va_start without the first argument? Keith Thompson <kst-u@mib.org> - 2017-03-13 11:21 -0700
                Re: va_start without the first argument? scott@slp53.sl.home (Scott Lurndal) - 2017-03-13 18:33 +0000
                Re: va_start without the first argument? David Brown <david.brown@hesbynett.no> - 2017-03-13 22:08 +0100
                Re: va_start without the first argument? supercat@casperkitty.com - 2017-03-13 15:23 -0700
                Re: va_start without the first argument? David Brown <david.brown@hesbynett.no> - 2017-03-14 13:58 +0100
                Re: va_start without the first argument? Keith Thompson <kst-u@mib.org> - 2017-03-14 09:18 -0700
                Re: va_start without the first argument? scott@slp53.sl.home (Scott Lurndal) - 2017-03-14 16:52 +0000
                Re: va_start without the first argument? Keith Thompson <kst-u@mib.org> - 2017-03-14 11:34 -0700
                Re: va_start without the first argument? scott@slp53.sl.home (Scott Lurndal) - 2017-03-14 18:54 +0000
                Re: va_start without the first argument? supercat@casperkitty.com - 2017-03-14 13:30 -0700
                Re: va_start without the first argument? Ike Naar <ike@iceland.freeshell.org> - 2017-03-15 21:55 +0000
                Re: va_start without the first argument? supercat@casperkitty.com - 2017-03-15 15:16 -0700
                Re: va_start without the first argument? Philip Lantz <prl@canterey.us> - 2017-03-23 21:04 -0700
                Re: va_start without the first argument? David Brown <david.brown@hesbynett.no> - 2017-03-14 21:48 +0100
                Re: va_start without the first argument? scott@slp53.sl.home (Scott Lurndal) - 2017-03-14 14:01 +0000
                Re: va_start without the first argument? supercat@casperkitty.com - 2017-03-14 07:42 -0700
                Re: va_start without the first argument? scott@slp53.sl.home (Scott Lurndal) - 2017-03-14 12:38 +0000
                Re: va_start without the first argument? jacobnavia <jacob@jacob.remcomp.fr> - 2017-03-13 01:11 +0100
                Re: va_start without the first argument? Ian Collins <ian-news@hotmail.com> - 2017-03-13 15:43 +1300
                Re: va_start without the first argument? BartC <bc@freeuk.com> - 2017-03-13 10:36 +0000
                Re: va_start without the first argument? Ian Collins <ian-news@hotmail.com> - 2017-03-14 07:33 +1300
                Re: va_start without the first argument? BartC <bc@freeuk.com> - 2017-03-13 19:00 +0000
                Re: va_start without the first argument? Ian Collins <ian-news@hotmail.com> - 2017-03-14 08:05 +1300
                Re: va_start without the first argument? BartC <bc@freeuk.com> - 2017-03-13 23:10 +0000
                Re: va_start without the first argument? Ian Collins <ian-news@hotmail.com> - 2017-03-14 17:38 +1300
                Re: va_start without the first argument? Thiago Adams <thiago.adams@gmail.com> - 2017-03-14 05:48 -0700
                Re: va_start without the first argument? Thiago Adams <thiago.adams@gmail.com> - 2017-03-13 12:12 -0700
                Re: va_start without the first argument? jacobnavia <jacob@jacob.remcomp.fr> - 2017-03-12 19:39 +0100
  Re: va_start without the first argument? jt@toerring.de (Jens Thoms Toerring) - 2017-03-10 20:49 +0000
    Re: va_start without the first argument? Thiago Adams <thiago.adams@gmail.com> - 2017-03-10 14:41 -0800
      Re: va_start without the first argument? John Bode <jfbode1029@gmail.com> - 2017-03-10 16:05 -0800
        Re: va_start without the first argument? jacob navia <jacob@jacob.remcomp.fr> - 2017-03-11 21:47 +0100
          Re: va_start without the first argument? supercat@casperkitty.com - 2017-03-11 13:07 -0800
            Re: va_start without the first argument? jacobnavia <jacob@jacob.remcomp.fr> - 2017-03-11 22:24 +0100
              Re: va_start without the first argument? Thiago Adams <thiago.adams@gmail.com> - 2017-03-13 05:44 -0700
                Re: va_start without the first argument? Jerry Stuckle <jstucklex@attglobal.net> - 2017-03-13 08:59 -0400
                Re: va_start without the first argument? Thiago Adams <thiago.adams@gmail.com> - 2017-03-13 06:17 -0700
                Re: va_start without the first argument? Jerry Stuckle <jstucklex@attglobal.net> - 2017-03-13 13:27 -0400
                Re: va_start without the first argument? Jerry Stuckle <jstucklex@attglobal.net> - 2017-03-13 13:30 -0400
                Re: va_start without the first argument? Thiago Adams <thiago.adams@gmail.com> - 2017-03-13 11:00 -0700
                Re: va_start without the first argument? Thiago Adams <thiago.adams@gmail.com> - 2017-03-13 10:34 -0700
          Re: va_start without the first argument? antispam@math.uni.wroc.pl - 2017-03-12 06:00 +0000
          Re: va_start without the first argument? gordonb.gas5o@burditt.org (Gordon Burditt) - 2017-03-17 09:46 -0500
            Re: va_start without the first argument? supercat@casperkitty.com - 2017-03-17 09:07 -0700
        Re: va_start without the first argument? Thiago Adams <thiago.adams@gmail.com> - 2017-03-13 05:39 -0700
          Re: va_start without the first argument? John Bode <jfbode1029@gmail.com> - 2017-03-13 11:40 -0700
            Re: va_start without the first argument? Thiago Adams <thiago.adams@gmail.com> - 2017-03-13 12:01 -0700
              Re: va_start without the first argument? jacobnavia <jacob@jacob.remcomp.fr> - 2017-03-13 23:17 +0100
                Re: va_start without the first argument? Thiago Adams <thiago.adams@gmail.com> - 2017-03-13 16:15 -0700
                Re: va_start without the first argument? jacobnavia <jacob@jacob.remcomp.fr> - 2017-03-14 00:26 +0100
                Re: va_start without the first argument? kikiins@gmail.com - 2017-03-13 16:51 -0700
                Re: va_start without the first argument? jacobnavia <jacob@jacob.remcomp.fr> - 2017-03-14 01:12 +0100
                Re: va_start without the first argument? Thiago Adams <thiago.adams@gmail.com> - 2017-03-13 18:24 -0700
                Re: va_start without the first argument? Thiago Adams <thiago.adams@gmail.com> - 2017-03-13 18:57 -0700
                Re: va_start without the first argument? raltbos@xs4all.nl (Richard Bos) - 2017-03-14 07:59 +0000
                Re: va_start without the first argument? Thiago Adams <thiago.adams@gmail.com> - 2017-03-14 06:45 -0700
                Re: va_start without the first argument? Robert Wessel <robertwessel2@yahoo.com> - 2017-03-13 18:20 -0500
                Re: va_start without the first argument? jacobnavia <jacob@jacob.remcomp.fr> - 2017-03-14 00:31 +0100
    Re: va_start without the first argument? raltbos@xs4all.nl (Richard Bos) - 2017-03-13 16:51 +0000
  Re: va_start without the first argument? jacobnavia <jacob@jacob.remcomp.fr> - 2017-03-11 19:29 +0100
  Re: va_start without the first argument? Siri Cruise <chine.bleu@yahoo.com> - 2017-03-11 12:12 -0800
  Re: va_start without the first argument? luser droog <luser.droog@gmail.com> - 2017-03-13 05:37 -0700
    Re: va_start without the first argument? luser droog <luser.droog@gmail.com> - 2017-03-15 11:45 -0700
      Re: va_start without the first argument? Thiago Adams <thiago.adams@gmail.com> - 2017-03-15 13:39 -0700

csiph-web