changes between 2.60 and 2.70.6
  • New source code editor added. Supports call tips, 'sticky' breakpoints, stream selections and variable pitched fonts. Tabs will be preserved. Can optionally display white-space and line-breaks. Line-breaks can be configured (CR, LF, CR+LF).
  • The project MDI window is now a fixed pane in the IDE.
  • Support for browse information added to the IDE. When enabled, the project tree will be populated with function names and call tips will be displayed for functions within the project.
  • Support for custom help files added to the IDE.
  • Support for importing type libraries added to the IDE (the raw resource type, not the 'executable' type).
  • Compile file added to project menu.
  • More buttons added to the IDE toolbar, for building projects and debugging.
  • Support for entering symbol names in the memory dump window (in the debugger) added.
  • The IDE will now always try to conditionally build the project before running or debugging (not just checking the presence of the output file). Less questions will be asked, especially if the new option 'Save without prompt before build' is turned on (default is off).
  • Small visual enhancements added to the debugger.
  • Support for dropping files from Windows Explorer onto the IDE added.
  • Support for C99 variable-length arrays added.
  • Support for C99 compound literals added.
  • Support for C99 inline functions added. Please note that the function must be defined before it's called, otherwise it won't be inlined. (The compiler has the final word about what gets inlined). Works best with expressions without explicit/implicit jumps.
  • Support for optional arguments added. This is a private extension that must be enabled through the new option /Zx.
  • Support for 'old style' C runtime names added through the new option /Go.
  • Support for C runtime function _fdopen added.
  • The compiler will now accept _declspec as well as __declspec.
  • Support for __declspec( noreturn ) added (function will never return to it's caller). This is used to suppress warnings about missing return statements when the runtime functions exit, _Exit, abort or longjmp are used.
  • Signed/unsigned mismatches will now cause strong warnings, not errors.
  • Converting from floating-point to unsigned integer will behave differently in Microsoft (/Ze) and standard modes (in compiler).
  • Floating-point support added to StrongARM backend.
  • Very small code improvements added to the X86 backend.
  • Bugfix: -D<symbol> works like #define <symbol>.
  • Bugfix: Bitfields smaller than int were assigned like int, causing memory overrun.
  • Bugfix: Preprocessing strings containing // (anywhere) were not handled correctly by the syntax color highlighter.
  • Bugfix: Referencing files outside the project directory usually caused the project macro 'POC_PROJECT_PATH' to point to the root, with a path ending with a backslash, causing all kinds of trouble with the projects (saving projects directly to the root will still cause trouble, but normally you don't do that).
  • Bugfix: Changing the source code font from the debugger didn't repaint well.
  • Bugfix: POLIB didn't properly build import libraries when functions were forwarded to another DLL.
  • Bugfix 2.70.1: The main menu was hidden and the toolbar disabled after loading a project file from the command line or Windows Explorer.
  • Bugfix 2.70.3: Using F1, or the context menu, to get help about a C runtime function from the source editor displayed the wrong help page.
  • Bugfix 2.70.3: Painting in the source editor needed to be 'smarter', not repainting the whole page all the time.
  • Bugfix 2.70.3: Call tips had a slight glitch on some computers.
  • 2.70.3: Added runtime function _fcloseall to stdio.h, crt.lib, crtmt.lib and the help file.
  • Bugfix 2.70.4: Some more repainting problems fixed.
  • Bugfix 2.70.5: Syntax color highlighter didn't handle escaped newlines with the new source editor.
  • Bugfix 2.70.5: Better fix for bug in 2.70.1 - also works for other file types.
  • Bugfix 2.70.6: Mouse clicks didn't account for horizontal scrolling.