nsf.c

Clone Tools
  • last updated 16 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
ArgumentParse(): Addressing a series of Tcl_Obj leaks (valgrind)

- removing dead assignment

TopoSortSub(): Make intended true/false comparisons based on int explicit

TopoSort(): cleanup (pt. 3): re-factored TransitiveSubClasses() and DependentSubClasses() into one caller function of TopoSortSub()

TopoSort(): cleanup (pt. 2): renamed TopoSort() TopoSortSub() (to match TopoSortSuper)

TopoSort(): cleanup (pt. 1)

Leave a TODO

Provide draft TopoSort2 and helpers

GetNextArguments(): Address CID 102646

Removed two unused functions: NsfObjInfoObjectparameterMethod() and NsfParamDefsFilter(). Makes CID 88775 obsolete

  1. … 4 more files in changeset.
Merge branch 'master' of ssh://alice.wu-wien.ac.at/usr/local/src/git-repo/nsf

Address CID 88770

- improve variable for logging from "debugLevel" to "logSeverity" (print logging messages which have a severity larger equal the then given value; so; "nsf::configure debugLevel 0" will print everything, and "nsf::configure debugLevel 3" will print just error messages and omit warnings etc.) - this is not a change in sematics, but removes some confusion in the code. therefore the configure name was not changed - Remove 2 occurrences of deprecated Tcl Call Tcl_AppendResult() in nsfStubLib

  1. … 6 more files in changeset.
Address potential double freeing problem of runtime states: - the ExitHander() should never be called twice on the same interp. Therefore delete in the ExitProc the ExitHandler AND the ThreadExitHandler and in the ThreadExitProc also both.

Merge branch 'master' of ssh://alice.wu-wien.ac.at/usr/local/src/git-repo/nsf

code generator changes: - create enum types instead of enum values for nsf API - use enum types in code

  1. … 6 more files in changeset.
Improve comment wording and cleanup

  1. … 2 more files in changeset.
Merge branch 'master' of ssh://alice.wu-wien.ac.at/usr/local/src/git-repo/nsf

  1. … 1 more file in changeset.
Provide for releasing/deleting the hash tables for cmd definitions and enumeration-type converters in ExitHandler

  1. … 3 more files in changeset.
remove various code smells: - add const declarations - prefer boolean tests - don't write "for" loops without a block - don't pass non-initialized value in an array on index [0] - reduce variable scope - prefer single returns statements in functions - dont't use CONST unless defined by Tcl-API

  1. … 9 more files in changeset.
- make effects of namespace-imported classes more local

  1. … 1 more file in changeset.
FilterSearchAgain(): Avoid running into an invalid pointer access, when the physical deletion of "del" conflicts with following the next link in the cmdList in the loop's increment statement (only iff del == cmdList). Re-organized for into a while loop, to avoid redundant code.

GetClassFromObj(): Fix invalid memory access (valgrind)

- make intentions about clientData clear to static checker

- move declarations to the begin of a code block - remove debug code

- use consistent comment styles

- NsfProcStubDeleteProc(): Protect against potentially dangling namespace references from within ::nsf::procs::*. The wrapper cmd's namespace of an nsf::proc might already have been deleted when ::nsf::procs::* shuts down finally. This showed up during a Tcl_Exit (NSF's ExitHandler) as an invalid memory access via (dangling) namespace pointers (valgrind).

  1. … 1 more file in changeset.
cmd resolver work - fix test, when OS specific cmd resolver is used from a NSF_CSC_CALL_IS_COMPILE frame - improved output from __db_show_obj: put results into one line instead of multiple lines - new debug function __db_get_obj: return into about a tcl_obj in form of a dict (in general, one should not rely on Tcl_Obj internals, especially when upgrading over major Tcl versions, but for testing/understanding behavior etc., such a command is helpful). - extend regression test

  1. … 5 more files in changeset.
Merge branch 'master' of ssh://alice.wu-wien.ac.at/usr/local/src/git-repo/nsf

- add test for the global cmd literal sharing - keep experimental code for disassembling methods

  1. … 2 more files in changeset.