NOTICE: This package has been removed from pkgsrc

./wip/ncc, Compiler that produces program analysis information

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ]


Branch: CURRENT, Version: 2.8, Package name: ncc-2.8, Maintainer: pkgsrc-users

ncc is a compiler that produces program analysis information. ncc
is a decent replacement of cflow and cscope able to analyse any
program using the gcc compiler. The program also incliudes a
graphical call-graph navigator and source browser which is extremely
practical for hacking and comprehending large projects.


Master sites:

SHA1: 96f6d8d76dc0e67a436b7f1acf67503998ad5771
RMD160: dcd8998ff31d1291208bf9ea4ff5a08b2525745d
Filesize: 102.086 KB

Version history: (Expand)


CVS history: (Expand)


   2008-10-20 09:54:15 by Thomas Klausner | Files touched by this commit (8) | Package removed
Log message:
Remove ncc, imported into pkgsrc/devel.

   2008-10-20 09:51:07 by Thomas Klausner | Files touched by this commit (1)
Log message:
Spelling.

   2008-10-18 16:51:19 by Marko Schütz | Files touched by this commit (2)
Log message:
use strrchr instead of including strings.h to use rindex as suggested by Obata Akio
   2008-10-17 22:50:49 by Marko Schütz | Files touched by this commit (1)
Log message:
fixing wrong patch checksums
   2008-10-17 22:46:08 by Marko Schütz | Files touched by this commit (2)
Log message:
added include <strings.h>
   2008-10-17 20:45:26 by Marko Schütz | Files touched by this commit (2) | Package updated
Log message:

updated to version 2.8
   2007-10-11 18:49:30 by Emil Sköldberg | Files touched by this commit (4)
Log message:
Fixed two issues with the "nognu" file:
- one instance is enough (in /share/ncc/)
- the NOGNU macro should be properly defined
   2007-10-11 18:10:50 by Emil Sköldberg | Files touched by this commit (6)
Log message:
Update ncc to version 2.7

Changes since 2.1:

New in 2.7
==========

- In the case where in a Makefile we had a target like:
	gcc foo.c bar.c zoo.c -o program
  using ncc instead of gcc would fail. Now this case is
  handled correctly.  If -ncgcc is specified gcc will be
  executed as above.  ncc instead will analyse each file
  and then link the generated .nccout files to program.nccout.
  (qemu)

- Fixed leaving ncurses mode -> xterm -> re-enter ncurses in
  nccnav.  Patch by Sylvain Beucler.

- New command line option -nccpp=<preprocessor>, useful for
  using ncc in cross compilation, from Jose Vasconcellos
  
New in 2.6
==========

- '-m*' flags are passed to the preprocessor.  For example if
  '-mmmx' is not used in preprocessing, the macro __MMX__ is not
  declared and importing <mmintrin.h> will fail.  (X11R71)

- If nccnav is executed from the root of the source tree, it will
  show relative file paths (good).

- Updated instructions for kernel hacking.  Some object files were
  missed.

- Fixed segfault with __gu_val.

- Speed up linking nccout object files.

- nccnav crashed if it couldn't open the temporary file.

New in 2.5
==========

- The nccnav viewer can show functions and files with "vi", thus
  with syntax coloring.  This will happen if you press 'v' on a
  function.

- The nccnav viewer can start from the list of global variables
  (by pressing 'g' in the initial screen).

- nccar will understand the "r" option and replace members in
  the archive instead of just appending the data.  That's the
  right thing because with the old version, linking archives
  into bigger archives would result in geometric explosion of
  the size of the files.

- Better type propagation in conditional expressions.
	(x ? (void*)0 : (struct A*)a)->x;
  now works (gcc/LIM_DATA)

- support for anonymous structures and unions (GNUC):
	struct X {
		union {
			int a, b, c;
		}
	};
	void f (struct X *x)
	{
		x->a = 1;
	}
  (linux 2.17)

- Fixes to hack linux 2.17:
  - The "__typeof__ (function)" can be used to declare another function 
  - forward enum declarations
  - char X[] = ("hello");	// was error

- The expression in a Variable Length Array is not constant (and in fact
  it can call functions).
	int X [y = foo()];	// was error

- Debian package and Doc fixes by Anuradha Weeraman.

New in 2.4
==========

- Bugfix (segfault with gcc 4.x) from Florian Larysch.

- More configury for 'alloca()' in dbstree.

- new command line option '-ncnoerr'. When there are errors in
  expressions, ncc will not terminate the compilations. Instead
  it will link all functions that had errors with the special
  pseudo-function "NCC:syntax_error()".

New in 2.3
==========

- Bugfix (segfault with gcc 4.0) from Deepak Ravi.

- a typedef name used as a label would cause a syntax error (JamVM)

- Applying '*' on a function has no effect.  (pygame)
	void (*F)();
	(**F)();	// used to be error

- Support for '_Complex' as a declaration specifier.
  
New in 2.2
==========

- Included a LICENSE text in doc so ncc can be part of Debian.

- Bugfix/crash in nccnav.  Pressing the up-arrow in functions
  mode caused a segmentation violation because isalpha(KEY_UP)
  is true.

- if the last statement of a compound statement in expression
  was an __asm__ and that was the first expression of the program
  we had a segfault. Thanks to Thomas Petazzoni.

- Header file fixes for MacOS. (Adam Shostack)

- __inline__ is accepted as 'inline'.  gcc-3.4.4 broke things
  again.

- more pointer-to-function cases caught:
	fptr = flag ? p->tp_call : 0;
  now detects that calling fptr() may call p->tp_call()
  (python)