nobug
10 years agoMerge branch 'pseudoruprecht/latexbackend' of git://git.pipapo.org/mob/nobug into...
Christian Thaeter [Sun, 15 Aug 2010 15:58:32 +0000 (17:58 +0200)]
Merge branch 'pseudoruprecht/latexbackend' of git://git.pipapo.org/mob/nobug into devel

* 'pseudoruprecht/latexbackend' of git://git.pipapo.org/mob/nobug:
  upgrade listingblock in latex.conf to fancyvrb (has more features that come in handy)

10 years agofixing backslash escaping in tables, refine the compatibility table
Christian Thaeter [Sun, 15 Aug 2010 15:52:53 +0000 (17:52 +0200)]
fixing backslash escaping in tables, refine the compatibility table

10 years agoArrgs, accidentally dropped what was already commited
Christian Thaeter [Sun, 15 Aug 2010 15:46:50 +0000 (17:46 +0200)]
Arrgs, accidentally dropped what was already commited

add .conf files to dependencies in Makefiles

10 years agoupgrade listingblock in latex.conf to fancyvrb (has more features that come in handy)
Andreas Hermann Braml [Sun, 15 Aug 2010 15:35:25 +0000 (17:35 +0200)]
upgrade listingblock in latex.conf to fancyvrb (has more features that come in handy)

10 years agoMerge remote branch 'mob/pseudoruprecht-newasciitables' into devel
Christian Thaeter [Sun, 15 Aug 2010 09:06:08 +0000 (11:06 +0200)]
Merge remote branch 'mob/pseudoruprecht-newasciitables' into devel

* mob/pseudoruprecht-newasciitables:
  doc: Convert tables to new AsciiDoc post-8.3.0 syntax

10 years agoMerge remote branch 'mob/benny2' into devel
Christian Thaeter [Sun, 15 Aug 2010 09:01:09 +0000 (11:01 +0200)]
Merge remote branch 'mob/benny2' into devel

* mob/benny2:
  Text moved to nobug.h.
  Description of Source Code Annotations expanded.
  Improvements to text describing macros.
  Language and text improvements. No significant change to content.

10 years agodoc: Convert tables to new AsciiDoc post-8.3.0 syntax
Andreas Hermann Braml [Sun, 15 Aug 2010 02:50:09 +0000 (04:50 +0200)]
doc: Convert tables to new AsciiDoc post-8.3.0 syntax

10 years agoText moved to nobug.h.
Benny Lyons [Thu, 12 Aug 2010 16:54:47 +0000 (18:54 +0200)]
Text moved to nobug.h.

10 years agoDescription of Source Code Annotations expanded.
Benny Lyons [Thu, 12 Aug 2010 16:50:42 +0000 (18:50 +0200)]
Description of Source Code Annotations expanded.

The description of the macros for annotating source code increased.
Possible reasons to use these macros given.

10 years agoImprovements to text describing macros.
Benny Lyons [Wed, 11 Aug 2010 16:10:16 +0000 (18:10 +0200)]
Improvements to text describing macros.

Description of many macros improved. A more consistent description of
all macros used, which, hopefully, should make it easier and quicker
to read.

TODO: Text on many macros still need to be improved.

10 years agoLanguage and text improvements. No significant change to content.
Benny Lyons [Wed, 11 Aug 2010 16:05:14 +0000 (18:05 +0200)]
Language and text improvements. No significant change to content.

Language corrected and some text additions, but no new information.

10 years agosome doc cosmetics and improvements
Christian Thaeter [Tue, 10 Aug 2010 03:29:01 +0000 (05:29 +0200)]
some doc cosmetics and improvements

10 years agofix listing titles
Christian Thaeter [Tue, 10 Aug 2010 03:27:11 +0000 (05:27 +0200)]
fix listing titles

we don't need captions, they didn't worked anyways

some comments to improve emacs source highlighting

10 years agoinclude .conf files in the Makefile dependencies
Christian Thaeter [Tue, 10 Aug 2010 03:25:34 +0000 (05:25 +0200)]
include .conf files in the Makefile dependencies

10 years agoRevert "Minor language improvements."
Christian Thaeter [Mon, 9 Aug 2010 20:45:32 +0000 (22:45 +0200)]
Revert "Minor language improvements."

Only revert the documentation about NOBUG_INIT(), currently the
INIT_FLAG*() will call NOBUG_INIT(), but this is mainly meant as
undocumented compatibility feature. calling NOBUG_INIT() should be
mandatory for the time being.

This reverts commit a3f52ec12331395f39da9bc6f1ca9ce0fcae49b2.

10 years agoMinor language improvements.
Benny Lyons [Mon, 9 Aug 2010 16:15:46 +0000 (18:15 +0200)]
Minor language improvements.

10 years agoformatting improvments on the resourcetracker doc
Christian Thaeter [Mon, 9 Aug 2010 08:01:14 +0000 (10:01 +0200)]
formatting improvments on the resourcetracker doc

10 years agofix resourcetracking formatting
Christian Thaeter [Mon, 9 Aug 2010 07:41:13 +0000 (09:41 +0200)]
fix resourcetracking formatting

10 years agoauthors and license formatting
Christian Thaeter [Mon, 9 Aug 2010 07:40:52 +0000 (09:40 +0200)]
authors and license formatting

10 years agofix admonition paragaphs
Christian Thaeter [Mon, 9 Aug 2010 07:40:28 +0000 (09:40 +0200)]
fix admonition paragaphs

10 years agostarting chapters at any page will safe some trees
Christian Thaeter [Mon, 9 Aug 2010 06:12:46 +0000 (08:12 +0200)]
starting chapters at any page will safe some trees

10 years agoimprove the annotations doc
Christian Thaeter [Mon, 9 Aug 2010 06:12:10 +0000 (08:12 +0200)]
improve the annotations doc

10 years agoadd 'credits' as symlink to AUTHORS
Christian Thaeter [Mon, 9 Aug 2010 05:54:47 +0000 (07:54 +0200)]
add 'credits' as symlink to AUTHORS

10 years agofixing and rewraping the macros chapter
Christian Thaeter [Mon, 9 Aug 2010 05:52:25 +0000 (07:52 +0200)]
fixing and rewraping the macros chapter

10 years agoanother newline for verbatim sections
Christian Thaeter [Mon, 9 Aug 2010 05:51:44 +0000 (07:51 +0200)]
another newline for verbatim sections

10 years agoreviewd, reworded and fixed some documentation
Christian Thaeter [Mon, 9 Aug 2010 05:18:21 +0000 (07:18 +0200)]
reviewd, reworded and fixed some documentation

10 years agoplenty improvements for latex.conf
Christian Thaeter [Mon, 9 Aug 2010 05:16:40 +0000 (07:16 +0200)]
plenty improvements for latex.conf

10 years agodoc: small documentation fixes, new title
Christian Thaeter [Sun, 8 Aug 2010 20:31:23 +0000 (22:31 +0200)]
doc: small documentation fixes, new title

10 years agopdf: fixing link generation
Christian Thaeter [Sun, 8 Aug 2010 20:27:51 +0000 (22:27 +0200)]
pdf: fixing link generation

the {0} parameter seems to be set when a attrlist for a macro is empty
so we test on {1}, looks rather like a bug or some other problem to me
but fixes the link generation for me.

10 years agoPDF: style fixes
Christian Thaeter [Sun, 8 Aug 2010 18:20:41 +0000 (20:20 +0200)]
PDF: style fixes

 * use 'book' document type for pdf
 * renumber sections, Document title is not section 0
 * few small fixes

10 years agostart new PDF generation through plain latex
Christian Thaeter [Sun, 8 Aug 2010 16:08:21 +0000 (18:08 +0200)]
start new PDF generation through plain latex

 * merged latex.conf from andreas
 * simple Make rules (no index generation yet)

10 years agoMerge branch 'coverage' into devel
Christian Thaeter [Sat, 7 Aug 2010 08:14:45 +0000 (10:14 +0200)]
Merge branch 'coverage' into devel

* coverage:
  let README generation grep asciidoc comments out
  FIX: some gotchas in test.sh
  cosmetics, fault coverage checker
  document the fault-coverage checker
  add bug-report address to AC_INIT
  tests for resource resetting
  FIX: copy'n'paste brainfart in RESETALL
  RESOURCE_RESET and RESOURCE_RESETALL
  ass some sanity checks for COVERAGE_DISABLE/ENABLE
  add COVERAGE_DISABLE/COVERAGE_ENABLE
  fault coverage testing, first implementation (EXPERIMENTAL)
  add the _IF variant to INVARIANT_ASSERT
  FIX: ENSURE_IF_CTX called the non _CTX version
  This is release 201006.1
  release make target fix

10 years agolet README generation grep asciidoc comments out coverage coverage_signature
Christian Thaeter [Sat, 7 Aug 2010 08:14:05 +0000 (10:14 +0200)]
let README generation grep asciidoc comments out

also include updated README

10 years agoFIX: some gotchas in test.sh
Christian Thaeter [Tue, 3 Aug 2010 03:13:24 +0000 (05:13 +0200)]
FIX: some gotchas in test.sh

10 years agocosmetics, fault coverage checker
Christian Thaeter [Tue, 3 Aug 2010 03:12:43 +0000 (05:12 +0200)]
cosmetics, fault coverage checker

10 years agodocument the fault-coverage checker
Christian Thaeter [Tue, 3 Aug 2010 03:11:16 +0000 (05:11 +0200)]
document the fault-coverage checker

10 years agoadd bug-report address to AC_INIT
Christian Thaeter [Mon, 19 Jul 2010 23:55:08 +0000 (01:55 +0200)]
add bug-report address to AC_INIT

10 years agotests for resource resetting
Christian Thaeter [Fri, 16 Jul 2010 01:19:20 +0000 (03:19 +0200)]
tests for resource resetting

10 years agoFIX: copy'n'paste brainfart in RESETALL
Christian Thaeter [Fri, 16 Jul 2010 01:18:13 +0000 (03:18 +0200)]
FIX: copy'n'paste brainfart in RESETALL

10 years agoRESOURCE_RESET and RESOURCE_RESETALL
Christian Thaeter [Wed, 14 Jul 2010 02:18:09 +0000 (04:18 +0200)]
RESOURCE_RESET and RESOURCE_RESETALL

brings resources back into a pristine state forgetting anything
learned so far.

10 years agoass some sanity checks for COVERAGE_DISABLE/ENABLE
Christian Thaeter [Wed, 14 Jul 2010 01:50:50 +0000 (03:50 +0200)]
ass some sanity checks for COVERAGE_DISABLE/ENABLE

10 years agoadd COVERAGE_DISABLE/COVERAGE_ENABLE
Christian Thaeter [Tue, 13 Jul 2010 14:54:12 +0000 (16:54 +0200)]
add COVERAGE_DISABLE/COVERAGE_ENABLE

These let one temporary (and nested) disable and enable fault injection on
coverage checks to suppress false positives.

10 years agofault coverage testing, first implementation (EXPERIMENTAL)
Christian Thaeter [Mon, 12 Jul 2010 21:05:09 +0000 (23:05 +0200)]
fault coverage testing, first implementation (EXPERIMENTAL)

This creates a facility to permute over instrumented faults. This is done
by hashing backtraces, every path reaching a failure point is recorded.

Programs using this fault coverage checking first parsing all logfiles
provided in the env var NOBUG_COVERAGE to learn about the previous state.

Then running the program will log at every instrumented fault and initially
fail at any newly discovered failure point and pass at the last known
failure point. Running a program multiple times always feeding back the
logs from the previous run will eventually permute through all possible way
calling errors and handling them.

10 years agoadd the _IF variant to INVARIANT_ASSERT
Christian Thaeter [Wed, 9 Jun 2010 06:10:00 +0000 (08:10 +0200)]
add the _IF variant to INVARIANT_ASSERT

turned out to be useful in edge cases

10 years agoFIX: ENSURE_IF_CTX called the non _CTX version
Christian Thaeter [Sat, 5 Jun 2010 23:17:04 +0000 (01:17 +0200)]
FIX: ENSURE_IF_CTX called the non _CTX version

10 years agoadd the _IF variant to INVARIANT_ASSERT
Christian Thaeter [Wed, 9 Jun 2010 06:10:00 +0000 (08:10 +0200)]
add the _IF variant to INVARIANT_ASSERT

turned out to be useful in edge cases

10 years agoFIX: ENSURE_IF_CTX called the non _CTX version
Christian Thaeter [Sat, 5 Jun 2010 23:17:04 +0000 (01:17 +0200)]
FIX: ENSURE_IF_CTX called the non _CTX version

10 years agoThis is release 201006.1 201006.1
Christian Thaeter [Tue, 1 Jun 2010 21:55:32 +0000 (23:55 +0200)]
This is release 201006.1

10 years agorelease make target fix
Christian Thaeter [Tue, 1 Jun 2010 21:48:44 +0000 (23:48 +0200)]
release make target fix

remove git stashing (fragile this way needs improvement)
make the signature recursively
cleanup at last

10 years agoadd some notes what to do when writing the NEWS file devel_signature
Christian Thaeter [Tue, 1 Jun 2010 21:07:18 +0000 (23:07 +0200)]
add some notes what to do when writing the NEWS file

(blame me i got that wrong at the last release)

10 years agoMakefile targets to generate a manpage
Christian Thaeter [Tue, 1 Jun 2010 20:52:59 +0000 (22:52 +0200)]
Makefile targets to generate a manpage

This is just the start for generating a manpage, which is not made by
default yet. The content and configuration need to be
improved/fixed/written in doc/nobug7.conf for that.

10 years agoAdd some generic fallbacks for defining NOBUG_FUNC
Christian Thaeter [Tue, 1 Jun 2010 17:29:46 +0000 (19:29 +0200)]
Add some generic fallbacks for defining NOBUG_FUNC

10 years agotypo in pipadoc
Christian Thaeter [Mon, 31 May 2010 03:19:07 +0000 (05:19 +0200)]
typo in pipadoc

10 years agoFix documentation about dumping datastructures
Christian Thaeter [Mon, 31 May 2010 03:06:48 +0000 (05:06 +0200)]
Fix documentation about dumping datastructures

10 years agoImprove the release make targets
Christian Thaeter [Mon, 31 May 2010 01:23:48 +0000 (03:23 +0200)]
Improve the release make targets

10 years agoSome Pending cosmetics and small fixes _signature
Christian Thaeter [Sun, 30 May 2010 03:41:08 +0000 (05:41 +0200)]
Some Pending cosmetics and small fixes

10 years agoFIX: context initialization, __func__ retrieval
Christian Thaeter [Sat, 29 May 2010 14:08:20 +0000 (16:08 +0200)]
FIX: context initialization, __func__ retrieval

 * define NOBUG_FUNC to a language and compiler defined macro
 * add detection heursistics therefor
 * add C++ ctors to construct contexts, C uses struct casts

Different standards (C/C++) and implementations provide different ways to
access the function name of the current called function. We abstract that
here and provide a fallback in case no suitable way is known.

One can override it with a CFLAG -DNOBUG_FUNC="something"

10 years agoFIX: only emit trailing semicolons in llist.h when generating declarations
Christian Thaeter [Thu, 20 May 2010 21:11:39 +0000 (23:11 +0200)]
FIX: only emit trailing semicolons in llist.h when generating declarations

10 years agoFIX: errorcode when file does not exist is undefined, must be !0 in selftest
Christian Thaeter [Wed, 19 May 2010 17:43:13 +0000 (19:43 +0200)]
FIX: errorcode when file does not exist is undefined, must be !0 in selftest

10 years agoCheck for existence of LOG_PERROR
Christian Thaeter [Wed, 19 May 2010 16:21:02 +0000 (18:21 +0200)]
Check for existence of LOG_PERROR

10 years agoFIX: impove generic compiler support
Christian Thaeter [Wed, 19 May 2010 16:07:20 +0000 (18:07 +0200)]
FIX: impove generic compiler support

 * remove gcc specific flags
 * cast resource identifer to const void* to silence the sun cc
 * fix stray comma for non gcc compilers

10 years agoThis is release 201005.1 201005.1
Christian Thaeter [Tue, 11 May 2010 22:18:59 +0000 (00:18 +0200)]
This is release 201005.1

10 years agoprefix all mpool functions with nobug_
Christian Thaeter [Tue, 11 May 2010 22:12:54 +0000 (00:12 +0200)]
prefix all mpool functions with nobug_

also bump library version

10 years agorequire invariant functions to be prefixed with 'nobug_'
Christian Thaeter [Sun, 18 Apr 2010 20:23:14 +0000 (22:23 +0200)]
require invariant functions to be prefixed with 'nobug_'

10 years agoadd a 'void* extra' parameter to the INVARIANT macros
Christian Thaeter [Sun, 18 Apr 2010 20:09:38 +0000 (22:09 +0200)]
add a 'void* extra' parameter to the INVARIANT macros

Same as the previous commit but for invariants.

10 years agoadd a 'void* extra' parameter to the DUMP macros
Christian Thaeter [Thu, 8 Apr 2010 17:31:57 +0000 (19:31 +0200)]
add a 'void* extra' parameter to the DUMP macros

This breaks code using the dump macros, fix it by adding a void* extra to
the nobug_*_dump functions and pass NULL around.

Library compatibility is not broken.

10 years agoadd a PLANNED_TEST() macro to test.h
Christian Thaeter [Thu, 4 Mar 2010 11:54:55 +0000 (12:54 +0100)]
add a PLANNED_TEST() macro to test.h

10 years agoThis is release 201002.1 201002.1
Christian Thaeter [Wed, 3 Feb 2010 09:16:09 +0000 (10:16 +0100)]
This is release 201002.1

10 years agoreenable recursive resource_mutex
Christian Thaeter [Tue, 2 Feb 2010 12:18:13 +0000 (13:18 +0100)]
reenable recursive resource_mutex

this allows nested state transistions

 NOBUG_RESOURCE_WAIT (...)
   {
     lock ();
     NOBUG_RESOURCE_STATE (..) ;
   }

10 years agoFix testsuite for the new continutation syntax using a '!' after the event count
Christian Thaeter [Tue, 2 Feb 2010 12:06:45 +0000 (13:06 +0100)]
Fix testsuite for the new continutation syntax using a '!' after the event count

10 years agoFIX: Rework locking
Christian Thaeter [Tue, 2 Feb 2010 12:05:47 +0000 (13:05 +0100)]
FIX: Rework locking

The resourcetracker macros are now block heads which protect the next
statement. Locking is coded into the Library, macros removed.

10 years agofix threadstress test, disable beta and release, these need more work
Christian Thaeter [Tue, 2 Feb 2010 11:58:00 +0000 (12:58 +0100)]
fix threadstress test, disable beta and release, these need more work

10 years agoBUG: race condition when starting threads accessing resources
Christian Thaeter [Mon, 1 Feb 2010 08:22:03 +0000 (09:22 +0100)]
BUG: race condition when starting threads accessing resources

A resource should be registered at the resourcetracker when it becomes
available. In presence of threads there is a race condition when a
created immediately tries to access this resource. A proper solution is to
make resource operations atomic with the resourcetracker.

This commit introduces a test with the proposed syntax to be implemented in
the following commits. Using block statements again (as faulty abadoned
some time ago)

10 years agomultiline continued log lines have a special event mark (!) now
Christian Thaeter [Sat, 30 Jan 2010 22:07:47 +0000 (23:07 +0100)]
multiline continued log lines have a special event mark (!) now

instead printing something like
 0000000001: first
 0000000001: continued
it now prints
 0000000001: first
 0000000001! continued

10 years agoreplace certain boring strings with a '-'
Christian Thaeter [Sat, 30 Jan 2010 22:05:45 +0000 (23:05 +0100)]
replace certain boring strings with a '-'

Most notably for non-threaded programs the thread id is now ' -:' giving
more consistent logs

10 years agoThis is release 201001.3 201001.3
Christian Thaeter [Fri, 29 Jan 2010 07:19:14 +0000 (08:19 +0100)]
This is release 201001.3

10 years agoFix Makefile, release-tagging
Christian Thaeter [Fri, 29 Jan 2010 07:11:55 +0000 (08:11 +0100)]
Fix Makefile, release-tagging

10 years agouse a VERSION file to track the version
Christian Thaeter [Fri, 29 Jan 2010 06:14:38 +0000 (07:14 +0100)]
use a VERSION file to track the version

10 years agoAdd a lot release maintenance targets to the Makefile.am
Christian Thaeter [Fri, 29 Jan 2010 06:02:36 +0000 (07:02 +0100)]
Add a lot release maintenance targets to the Makefile.am

10 years agoscript to query the current version from the configure.ac
Christian Thaeter [Fri, 29 Jan 2010 04:40:35 +0000 (05:40 +0100)]
script to query the current version from the configure.ac

10 years agoadd library versioning
Christian Thaeter [Fri, 29 Jan 2010 04:39:56 +0000 (05:39 +0100)]
add library versioning

starting at 1:0:0 because all older releases didn't used versioning and
where installed as .0 versions.

10 years agoAdd a small script for bumping the version number
Christian Thaeter [Fri, 29 Jan 2010 03:52:45 +0000 (04:52 +0100)]
Add a small script for bumping the version number

10 years agoupdate copyright headers again
Christian Thaeter [Fri, 29 Jan 2010 03:38:59 +0000 (04:38 +0100)]
update copyright headers again

Just testing how the git-analyze-copyright works

10 years agoEnable resource logging in BETA builds
Christian Thaeter [Fri, 29 Jan 2010 01:31:23 +0000 (02:31 +0100)]
Enable resource logging in BETA builds

.. but leave the resourcetracker ALPHA only. This is a prerequisite for
a long time goal to have an application which processes logfiles offline
and does there resourcetracking there.

10 years agoadd a NIL context for passing boring contexts
Christian Thaeter [Thu, 28 Jan 2010 23:35:24 +0000 (00:35 +0100)]
add a NIL context for passing boring contexts

10 years agoAdd a 'guard' size parameter to ringbuffer construction, remove hardcoded
Christian Thaeter [Thu, 28 Jan 2010 23:28:21 +0000 (00:28 +0100)]
Add a 'guard' size parameter to ringbuffer construction, remove hardcoded

The size of ringbuffer wraparound pages at each end of the data was
hardcoded to 1 page. This remove this restriction and lets one pass
explicit sizes for this areas.

This also adds a (guard=N) option parsed from the NOBUG_LOG env var.

10 years agouse multiline logging for resource_dump() and resource_list()
Christian Thaeter [Thu, 28 Jan 2010 07:30:16 +0000 (08:30 +0100)]
use multiline logging for resource_dump() and resource_list()

10 years agoRefactor logging core into multiple functions, support multi-line logging
Christian Thaeter [Thu, 28 Jan 2010 06:45:32 +0000 (07:45 +0100)]
Refactor logging core into multiple functions, support multi-line logging

log messages can now contain newline characters '\n' to break lines.
Each such new line will emit a new logging line with the same header
(same logging event number).

This multiline logging is atomic and will not be mixed with other log
output.

The logging callback function is called for each emited line, while the
postlogging callback is still only called once after the output.

10 years agoformatting fix for init_flag
Christian Thaeter [Thu, 28 Jan 2010 06:16:57 +0000 (07:16 +0100)]
formatting fix for init_flag

10 years agoringbuffer_extend() for adding extra space to the last added entry
Christian Thaeter [Thu, 28 Jan 2010 05:58:54 +0000 (06:58 +0100)]
ringbuffer_extend() for adding extra space to the last added entry

10 years agoRingbuffer internal doc
Christian Thaeter [Thu, 28 Jan 2010 05:52:48 +0000 (06:52 +0100)]
Ringbuffer internal doc

10 years agoSome small doc fixes reflecting recent new features
Christian Thaeter [Thu, 28 Jan 2010 05:50:28 +0000 (06:50 +0100)]
Some small doc fixes reflecting recent new features

10 years agoUpdate copyright headers according to git blame output
Christian Thaeter [Mon, 25 Jan 2010 07:52:07 +0000 (08:52 +0100)]
Update copyright headers according to git blame output

processed with http://git.pipapo.org/git-analyze-copyright
Peter Simons told me that he doesnt claim copyright of his contributions

10 years agoupdated NEWS file from all previous release announcements
Christian Thaeter [Mon, 25 Jan 2010 07:33:31 +0000 (08:33 +0100)]
updated NEWS file from all previous release announcements

10 years agoadd .mailmap for git commit/author normalization
Christian Thaeter [Mon, 25 Jan 2010 07:32:38 +0000 (08:32 +0100)]
add .mailmap for git commit/author normalization

10 years agoNew README file
Christian Thaeter [Sat, 23 Jan 2010 15:58:13 +0000 (16:58 +0100)]
New README file

10 years agoDocumentation update for new 'context' facility. Bump version to 201001.2 201001.2
Christian Thaeter [Sat, 23 Jan 2010 04:53:19 +0000 (05:53 +0100)]
Documentation update for new 'context' facility. Bump version to 201001.2

10 years agoPass resource context structure directly instead pointer
Christian Thaeter [Sat, 23 Jan 2010 03:02:20 +0000 (04:02 +0100)]
Pass resource context structure directly instead pointer

Better C++ compatibility (no temporary), little more stack usage,
less pointer dereferences

10 years agocontext passing update
Christian Thaeter [Sat, 23 Jan 2010 00:25:04 +0000 (01:25 +0100)]
context passing update

 * _CTX macros for logging
 * NOBUG_CONTEXT_NOFUNC to be used in static initialization, doesn't use
   the __func__ symbol
 * small fixes

10 years agoWIP: add source contexts, remove debugger-only macros
Christian Thaeter [Fri, 22 Jan 2010 20:22:13 +0000 (21:22 +0100)]
WIP: add source contexts, remove debugger-only macros

 * a 'struct nobug_context' is used to pass information about sourcefile
   linenumber and function along.
 * many macros have an additional *_CTX variant which takes such a context
   (more to be implemented on demand)
 * general refactoring to more basic cases, less code duplication,
   prepare to move more things from macros to library functions.
 * remove *_DBG variants which where only active when running under a
   debugger, the flags mechanism provides more flexibility and
   superseeded these.
 * change the semantics of thread_id's, each thread gets on unique number
   now which never changes. Resetting the thread identifier increments a
   generation counter for the thread (currently unused)
 * don't depend on gcc's ## __VA_ARGS_ semantics. Found a way to pass
   ""__VA_ARGS__ instead is portable, the only remaining case is
   NOBUG_ASSERT_ which has a conditional fallback for other compilers
   (and then don't print the failed expression anymore)

The above things are not yet in the documentation.