User Tools

Site Tools


pdclib:source

Get the Source

Repository Access

Personally I prefer SVN. It is what I am most comfortable with, and I have direct access to the server hardware.

The GitHub repository is supported and kept in-sync as a user service.

Branches

Currently there are two branches of development: trunk / master on the one hand, and shepherd on the other.

From 2012 to 2018, ownership of PDCLib was in the hands of Erin Shepherd. She added significantly to the implemented features, including (but not limited to) wide character and thread support (both incomplete, though).

When I got involved into the project again a couple of years later, I quickly came to the point where I realized how different her and my ideas for PDCLib were; this included the build system, version control, source structure, and general approach to when to implement what.

It felt wrong to deconstruct (parts of) Erin's work just to fit it to my approach to things. So I branched the source at the point where Erin had taken over, and continued my development on that branch. This (my) branch was originally labelled retrace.

I also migrated the repository from Bitbucket / Mercurial back to Subversion (while making a git mirror available at GitHub), and re-labelled the branches in the process: My work became trunk / master, and Erin's work became the shepherd branch.

Only trunk / master will see future development.

Status

PDCLib is still very much a work in progress, and should be considered “alpha” quality.

The v1.0 development target is full C99 conformance.

Overview of features implemented

C99

trunk / mastershepherdNotes
assert.hDONEDONE
complex.hTODONO
ctype.hDONEDONE
errno.hDONEDONE
fenv.hTODONO
float.hDONEDONE
inttypes.hDONEDONEmissing wcstoimax(), wcstoumax()
iso646.hDONEDONE
limits.hDONEDONE
locale.hWORK IN PROGRESSDRAFTonly "C" locale supported
math.hTODONO
setjmp.hTODONO
signal.hDONEDONEdummy
stdarg.hDONEDONE
stdbool.hDONEDONE
stddef.hDONEDONE
stdint.hDONEDONEassuming presence of exact-width 8/16/32/64 bit types
stdio.hDONEDONEexcluding wide character, locale & float support
stdlib.hDONEDONEexcluding wide character and float support {*1}
string.hDONEDONE
tgmath.hTODONO
time.hPARTIALPARTIALDate functions (requiring locale info) not implemented yet.
wchar.hTODODRAFT
wctype.hTODODONE

{*1}: Missing MB_CUR_MAX, atof, strtod, strtof, strtold, mblen, mbtowc, wctomb, mbstowcs, wcstombs.

C11

trunk / mastershepherdNotes
stdalign.hDONEDONE
stdbool.hDONEDONE
stdnoreturn.hDONEDONE
threads.hDONEDRAFT
uchar.hWORK IN PROGRESSDRAFT
Annex K
Bounds-checking interfaces
WORK IN PROGRESSNO

Versioned Releases

You are strongly encouraged to use the lastest code from the respective branch. The pre-v1.0 tags are internal milestones only, and even the latest (v0.5) is several years behind trunk / master.

pdclib/source.txt · Last modified: 2019/07/16 09:15 by solar