1. 06 May, 2020 1 commit
    • ROOL's avatar
      CLib header updates · 948e0838
      ROOL authored
      Detail:
        assert.h - definition of static_assert
        complex.h - definition of CMPLX[F|L]
        float.h - various implementation defines
        stdio.h - hide gets() as it's been withdrawn
        wchar.h - guard mbstate_t as it can also be in uchar.h, fix missing __valist definition
      Admin:
        In order that the functions can be defined in the stubs now (despite not having a compiler to support C11/C18) they are enabled when 'DDE' is defined so that C library builds work.
      948e0838
  2. 16 Mar, 2019 1 commit
    • ROOL's avatar
      CLib and rlib header updates · 0c846685
      ROOL authored
      Detail:
        Export fenv.h (omitted in error).
        Add FP_FAST_FMAL and FP_FAST_FMA defines per C standard
        Submission for ARMv7 Compiler bounty.
      
        Add Wimp_AutoScroll supporting function to rlib.
        Export various related defines for autoscroll use.
        Submission for Clipboard Support bounty.
      
      Version 6.00. Tagged as 'RISC_OSLib-6_00'
      0c846685
  3. 08 Aug, 2015 1 commit
  4. 29 Mar, 2015 1 commit
  5. 15 Jun, 2014 1 commit
    • Ben Avison's avatar
      Add C99 standard headers wchar.h and wctype.h · 3ed0fb98
      Ben Avison authored
      Detail:
        These were previously languishing in the C compiler sources, but they
        belong in the C library. Note however that the library does not implement
        the functions described in these headers at the present time, so any
        attempt to use them will result in link-time errors.
      Admin:
        Untested (known not working)
      
      Version 5.83. Tagged as 'RISC_OSLib-5_83'
      3ed0fb98
  6. 25 Mar, 2014 1 commit
    • Ben Avison's avatar
      Unbreak stdio.h for C90 mode · 83945ac3
      Ben Avison authored
      Detail:
        Large file support made use of long longs in various definitions. These
        were switched out in PCC mode, but no allowances were made for the fact
        that C90 doesn't define long long either.
        Remember that to force cc to use non-builtin standard headers, you need
        to point at these using the -j switch (e.g. -jC:). The only version of
        cc which featured the C90-incompatible stdio.h was 5.70.
      Admin:
        Checked that the header now works when included in -pcc, -c90 and -c99 modes.
      
      Version 5.81. Tagged as 'RISC_OSLib-5_81'
      83945ac3
  7. 12 Oct, 2012 1 commit
    • Ben Avison's avatar
      Merged in a fix to <math.h> from C compiler · 9fe4fc44
      Ben Avison authored
      Detail:
        This change was first applied to the inbuilt headers in the C compiler at
        version 5.59 (07 Apr 2005), but was accidentally not copied into the
        RISC_OSLib version of math.h. Fortunately, this would only have affected
        anyone compiling software with the -jC: switch.
      Admin:
        Untested, but should be a safe change.
      
      Version 5.74. Tagged as 'RISC_OSLib-5_74'
      9fe4fc44
  8. 28 Oct, 2011 1 commit
    • Ben Avison's avatar
      File handling improvements · 8dcb6880
      Ben Avison authored
      Detail:
        * Added 64-bit file pointer API support, following the LFS spec v1.5
          (see Docs directory). Internally, now uses 64-bit file pointers
          exclusively. For now, the backend still limits you to 4GB-1 files, but
          clients of the C library won't need recompiling again to support larger
          files than this once they use the new API.
        * Fixed a large number of warnings produced in compilation, assembly and
          linking, many of them new and resulting from the improved checks in the
          latest toolchain.
        * Increased the maximum stream buffer size from 16MB to 1GB.
        * Added Hdr:SDFS and Hdr:SDIO to the list of headers used to build swis.h
          if they are present.
      Admin:
        Verified that the new 64-bit file pointer buffering code works using a
        ROM build (since the toolchain makes extensive use of reading, writing
        and seeking internally).
      
      Version 5.64. Tagged as 'RISC_OSLib-5_64'
      8dcb6880
  9. 17 Mar, 2005 1 commit
  10. 14 Mar, 2005 1 commit
    • Kevin Bracey's avatar
      * Improved stdio to allocate extra FILE objects beyond the static array of 16.... · 0d936eec
      Kevin Bracey authored
      * Improved stdio to allocate extra FILE objects beyond the static array of 16. Number of open files now only limited by memory and the OS.
      
      * FOPEN_MAX in <stdio.h> increased from 8 to 16 to reflect reality.
      * Minor corrections to comments in <stdio.h>.
      * Library shutdown tidied for modules. In particular, shutdown of I/O was
        broken for modules which had been entered as applications.
      
      Version 5.53. Tagged as 'RISC_OSLib-5_53'
      0d936eec
  11. 07 Mar, 2005 1 commit
  12. 01 Jul, 2004 1 commit
  13. 23 Jan, 2004 1 commit
    • Kevin Bracey's avatar
      <ctype.h> * isblank() added. · 8f9cfb8a
      Kevin Bracey authored
                * isprint() now true for non-breaking spaces
      <math.h>  * FP_INFINITY corrected to FP_INFINITE
                * fma(), fmal(), llrint(), llrintf(), llrintl(),
                  llround(), llroundf(), llroundl(),
                  remquo(), remquof(), remquol() added.
                * added inlining for remainder() and fmaf() and various
                  float functions.
                * math_errhandling removed pending overhaul - it was misleading.
                * expm1() and log1p() now provide decent (< 1 ulp) accuracy,
                  rather than only being marginally better than exp(x)-1 and
                  log(1+x).
                * new version of copysign() with standard calling conventions.
                * some C99 functions changed to use infinity/NaNs and exceptions
                  for error handling - see comments in header file about the
                  changes in progress.
      <stdio.h>  * output from %a now correctly rounded
      <stdlib.h> * strtof() and strtold() added.
      <string.h> * strerror() no longer clears _kernel_last_oserror().
      
      Version 5.49. Tagged as 'RISC_OSLib-5_49'
      8f9cfb8a
  14. 15 Apr, 2003 1 commit
    • Kevin Bracey's avatar
      * __assert2() added to support for C99 assert(), which displays function name. · f126a1ab
      Kevin Bracey authored
      * _Exit() added.
      * Lots of new <math.h> functions (acosh, asinh, atanh, exp2, expm1,
        ilogb, log1p, log2, logb, scalbn, scalbln, cbrt, erf, erfc,
        lgamma, tgamma, nexttoward, fmaf). Float and long double forms
        of every function added; long double forms are included as another
        library object in the stubs rather than the shared library, as they
        just branch to the double form.
      * Subnormal/NaN/infinity cases in various <math.h> functions improved.
      * Added <tgmath.h>.
      * Headers brought into line with CC 5.54.
      * RMEnsures added to C library initialisation to try to load minimum
        CallASWI, FPEmulator, CLib. No errors reported if load fails.
      * A few pointless inter-file dependencies removed to reduce minimum
        size of included ANSILib.
      
      Version 5.46. Tagged as 'RISC_OSLib-5_46'
      f126a1ab
  15. 17 Jan, 2003 1 commit
  16. 15 Nov, 2002 1 commit
    • Kevin Bracey's avatar
      ROM build fixed for 64-bit stuff. · f207fcb2
      Kevin Bracey authored
      PCI added to swis.h
      alloc.c updated to handle bigger slots (new code merged from ARM libraries)
      Various 32-bit fixes for backtracing, and general trap handling.
      Polite "Application is not 32-bit compatible" message.
      Headers <stdint.h> and <inttypes.h> fixed to work in non-C99 mode.
      txt changed to do new-style Delete behaviour
      
      Version 5.44. Tagged as 'RISC_OSLib-5_44'
      f207fcb2
  17. 22 May, 2002 1 commit
    • Kevin Bracey's avatar
      * Added two new library chunks, 4 and 5, which contain extensions to the... · 89eac61e
      Kevin Bracey authored
      * Added two new library chunks, 4 and 5, which contain extensions to the kernel and C library respectively. These have no static data associated with them, just being extensions of the stub tables. The reason for this is to minimise wasted space in programs that don't use the C99 facilities; o.stubs is now a library split into 3 pieces - basic kernel and CLib, extra kernel and extra
      
        CLib; only the bits a program needs get included.
      
      * Previous extensions to the C library stubs revoked - they now stop at _swix;
        all the new C99 functions now live in chunk 4. Anyone using those new
        functions should relink with new stubs and ensure this C library version.
      
      * printf/scanf now support 64-bit types through "ll" and "j" length modifiers.
      
      * Run-time support for VLAs (__rt_allocauto and __rt_freeauto) added. No
        attempt is currently made to clear up on longjmp or to cope with someone
        changing the kernel allocator while a VLA is active. These would be a
        future enhancement.
      
      * Added complete 64-bit run-time support (48 functions) to kernel library;
        these functions are compatible with the ones used by the ARM ADS. Many of
        the simpler functions will not normally be used by the compiler, as it
        will generate inline code. There is scope for improvement by switching
        in MULL and CLZ-using forms of multiply and divide when possible.
      
      * llabs and lldiv added to C library.
      
      * Header files corrected in a few areas, and changed to match the C compiler.
        <stdint.h> and <stdbool.h> now require the compiler to be in C99 mode
        (as detected using __STDC_VERSION__).
      
      
      Version 5.41. Tagged as 'RISC_OSLib-5_41'
      89eac61e
  18. 12 Apr, 2002 1 commit
  19. 11 Apr, 2002 1 commit
  20. 26 Mar, 2002 1 commit
    • Kevin Bracey's avatar
      * Added C99 extensions to strftime(). All basic specifiers supported, but "E"... · 84335a9f
      Kevin Bracey authored
      * Added C99 extensions to strftime(). All basic specifiers supported, but "E" and "O" modifiers ignored.
      
      * strftime specifiers %c, %X and %x for "C" locale changed to match C99.
      * Optimised hypot[f].
      * Missing hypotf() declaration added to <math.h>.
      * Fixed Shared C Library - inadvertent change to static data size meant it was
        incompatible with the stubs.
      
      Version 5.38. Tagged as 'RISC_OSLib-5_38'
      84335a9f
  21. 21 Mar, 2002 1 commit
    • Kevin Bracey's avatar
      Added the following C99 features: · f464cdae
      Kevin Bracey authored
        * snprintf(), vsnprintf(), vfscanf(), vscanf(), vsscanf()
        * hh, j, z and t printf length modifiers (indicating char, intmax_t, size_t
          and ptrdiff_t respectively)
        * Hexadecimal floating-point printing and scanning (%a/%A)
        * %F printf() specifier (upper-case form of %F)
        * Input/output of NaNs and Infinities
        * imaxdiv_t, imaxdiv(), strtoimax(), strtoumax() (simulated through macros)
        * <fenv.h>: feclearexcept(), fegetexceptflag(), feraiseexcept(),
                    fesetexceptflag(), fetestexcept(), fegetround(), fesetround(),
                    fegetenv(), feholdexcept(), fesetenv(), feupdateenv()
        * FLT_EVAL_METHOD, DECIMAL_DIG
        * hypot(), hypotf(), fabsf(), fdim(), fdimf(), fmax(), fmaxf(), fmin(),
          fminf()
        * INFINITY, NAN, fpclassify(), isfinite(), isinf(), isnan(), isnormal(),
          signbit(), copysign(), copysignf(), nan(), nanf(), nextafter(),
          nextafterf() isgreater(), isgreaterequal(), isless(), islessequal(),
          islessgreater(), isunordered()
      
      This involves adding 36 new entries to the stubs. Current versions of the C
      library will not fault client programs with such larger stubs, but will fill
      in the extra entries with junk. Programs requiring the new functions will have
      to RMEnsure this version of the Shared C Library.
      
      This version of the C library has been fixed so that in future, any extra
      unknown stubs entries will be filled in with a branch to zero, rather than
      corrupted.
      
      Requires cc 5.41 or later, both to build, and to make use of some of the extra
      facilities.
      
      
      Version 5.37. Tagged as 'RISC_OSLib-5_37'
      f464cdae
  22. 23 Aug, 2001 1 commit
  23. 09 May, 2000 1 commit
  24. 12 May, 1999 1 commit
    • Stewart Brodie's avatar
      Fixed up Makefile to export new header files. · 420d0857
      Stewart Brodie authored
        Added protection for cfront inclusion of stdint.h to ensure
          inclusion is faulted.
      Admin:
        Tested.
        Sources which are compiled -fussy will require Norcroft cc version
          5.11 or later in order to avoid the warning about the use of an
          undefined macro in an #if pre-processor statement and to avoid
          the non-ANSI include warning.
      
      Version 4.94. Tagged as 'RISC_OSLib-4_94'
      420d0857
  25. 11 May, 1999 1 commit
  26. 05 Nov, 1996 1 commit