diff options
Diffstat (limited to 'doc/changes.src')
-rw-r--r-- | doc/changes.src | 79 |
1 files changed, 47 insertions, 32 deletions
diff --git a/doc/changes.src b/doc/changes.src index 84abcfd5..85f3a9e2 100644 --- a/doc/changes.src +++ b/doc/changes.src @@ -9,77 +9,92 @@ since 2007. \S{cl-2.15} Version 2.15 +\b Warn for strange legacy behavior regarding empty arguments in +multi-line macro expansion, but try to match legacy behavior in most +cases. Legacy behavior can be disabled with the directive \c{%pragma +preproc sane_empty_expansion}, see \k{mlmacro} and +\k{pragma-preproc}. + +\b A much more sensible limit to expression evaluation depth. The +previously defined limit would rarely trigger before NASM died with a +stack overrun error on most systems. See \k{opt-limit}. + \b The state of warnings can now be saved and restored via the \c{[WARNING PUSH]} and \c{[WARNING POP]} directives. See \k{asmdir-warning}. -\b The "sectalign on|off" switch does not affect an explicit directive. See -\k{sectalign} +\b The \c{sectalign on|off} switch does not affect an explicit directive. See +\k{sectalign}. -\b Added build option to enable building with profiling (--enable-profiling). +\b Added \c{configure} option to enable building with profiling +(\c{--enable-profiling}). -\b Added support of long pathnames, up to 32767 of UTF-16 characters, on -Windows. +\b Attempt to support of long path names, up to 32767 of UTF-16 +characters, on Windows. -\b Fixed 'mismatch in operand sizes' error in MOVDDUP instruction. +\b Fixed 'mismatch in operand sizes' error in the \c{MOVDDUP}, +\c{CMPXCHG8B} and \c{CMPXCHG16B} instructions. \b Improved error messages in the string transformation routine. -\b Removed obsolete '-gnu-elf-extensions' option and a warning about 8- and 16-bit relocation -generation. See \k{elf16} +\b Removed obsolete \c{gnu-elf-extensions} warning about 8- and 16-bit +relocation generation. See \k{elf16} -\b Added group aliases for all prefixed warnings. See \k{opt-w} +\b Added group aliases for all prefixed warnings. See \k{opt-w}. \b Allowed building with MSVC versions older than 1700. -\b Fixed to recognize a comma as a single-line macros argument -separator. - -\b Added implicitly sized versions of the K instructions, which allows the K -instructions to be specified without a size suffix as long as the operands are -sized. +\b Added implicitly sized versions of the \c{K...} instructions, which +allows the \c{K...} instructions to be specified without a size suffix as +long as the operands are sized. -\b Added -L option for additional listing information. See \k{opt-L} +\b Added \c{-L} option for additional listing information. See \k{opt-L}. -\b Made an empty string usable as an unused argument in macros. See -\k{define}. - -\b Added warnings for obsolete instructions for a specified CPU. +\b Added some warnings for obsolete instructions for a specified CPU. \b Deprecated \c{-hf} and \c{-y} options. Use \c{-h} instead. \b Made DWARF as the default debug format for ELF. -\b Added a %pragma to set or clear listing options (%pragma list options +bempf). +\b Added \c{%pragma list} \e{options...} to set or clear listing options +(see \c{opt-L}). + +\b Allowed immediate syntax for \c{LEA} instruction (ignore operand +size completely). -\b Allowed immediate syntax for LEA instruction (ignore operand size completely). +\b Added limited functionality MASM compatibility package. See +\k{pkg_masm}. -\b Added limited functionality MASM compatibility package. See \k{pkg_masm}. +\b Add single-line macros aliases using \c{%defalias} or +\c{%idefalias}. These behave like a kind of "symbolic links" for +single-line macros. See \k{defalias} and \c{clear}. -\b Added support of macros aliases using %defalias, %idefalias. See \k{defalias}. +\b Added support for stringify, nostrip, evaluating, and greedy +single-line macro arguments. See \k{define}. -\b Added support for stringify, nostrip, greedy single-line macro arguments. See \k{define}. +\b Unused single-line macro arguments no longer need to have a +specified name. See \k{define}. \b Added conditional comma operator \c{%,}. See \k{cond-comma}. -\b Changed private namespace from __foo__ to __?foo?__, so a user namespace starting from underscore -is now clean from symbols. +\b Changed private namespace from \c{__foo__} to \c{__?foo?__}, so a user +namespace starting from underscore is now clean from symbols. For +backwards compatibility, the previous names are defined as aliases; see +\k{defalias}, \k{clear} and \k{stdmac}. \b Added support of ELF weak symbols and external references. See \k{elfglob}. \b Changed the behavior of the EXTERN keyword and introduced REQUIRED keyword. See \k{required}. -\b Added %ifusable and %ifusing directives. See \k{macropkg}. +\b Added \c{%ifusable} and \c{%ifusing} directives. See \k{macropkg}. \b Made various performance improvements and stability fixes in macro preprocessor engine. \b Improved NASM error handling and cleaned up error messages. -\b Bugzilla bugfixes: 3392472, 3392554, 3392560, 3392564, 3392570, 3392576, 3392585, -3392590, 3392597, 3392599, 3392601, 3392602, 3392603, 3392607, 3392612, 3392614, 3392623, -3392626, 3392630, 3392640, 3392649, 3392659, 3392660, 3392661. +\b Many, many bug fixes. \S{cl-2.14.03} Version 2.14.03 @@ -161,7 +176,7 @@ renaming. See \k{opt-pfix}. from the command line. See \k{mangling}. \b Supported generic \c{%pragma} namespaces, \c{output} and \c{debug}. See -\k{gen-namespace}. +\k{pragma}. \b Added the \c{--pragma} command line option to inject a \c{%pragma} directive. See \k{opt-pragma}. |