Merge branch 'nasm-2.09.xx'
authorCyrill Gorcunov <gorcunov@gmail.com>
Sat, 12 Mar 2011 19:35:42 +0000 (22:35 +0300)
committerCyrill Gorcunov <gorcunov@gmail.com>
Sat, 12 Mar 2011 19:35:42 +0000 (22:35 +0300)
Conflicts:
doc/changes.src
version

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
1  2 
doc/changes.src
insns.dat
preproc.c

diff --cc doc/changes.src
@@@ -7,19 -7,15 +7,27 @@@
  The NASM 2 series support x86-64, and is the production version of NASM
  since 2007.
  
 +\S{cl-2.10} Version 2.10
 +
 +\b When optimization is enabled, \c{mov r64,imm} now optimizes to the
 +  shortest form possible between:
 +
 +\c      mov r32,imm32                   ;  5 bytes
 +\c      mov r64,imm32                   ;  7 bytes
 +\c      mov r64,imm64                   ; 10 bytes
 +
 +To force a specific form, use the \c{STRICT} keyword, see \k{strict}.
 +
  
- \S{cl-2.09.05} Version 2.09.06
+ \S{cl-2.09.07} Version 2.09.07
+ \b Fix attempts to close same file several times
+    when \c{-a} option is used.
+ \b Fixes for VEXTRACTF128, VMASKMOVPS encoding.
++
+ \S{cl-2.09.06} Version 2.09.06
  
  \b Fix missed section attribute initialization in \c{bin} output target.
  
diff --cc insns.dat
Simple merge
diff --cc preproc.c
+++ b/preproc.c
@@@ -5224,17 -5006,8 +5224,17 @@@ static char *pp_getline(void
                  /* only set line and file name if there's a next node */
                  if (i->next) {
                      src_set_linnum(i->lineno);
-                     nasm_free(src_set_fname(i->fname));
+                     nasm_free(src_set_fname(nasm_strdup(i->fname)));
                  }
 +                if ((i->next == NULL) && (finals != NULL)) {
 +                    in_final = true;
 +                    ei = new_ExpInv(EXP_FINAL, NULL);
 +                    ei->emitting = true;
 +                    ei->current = finals;
 +                    istk->expansion = ei;
 +                    finals = NULL;
 +                    continue;
 +                }
                  istk = i->next;
                  list->downlevel(LIST_INCLUDE);
                  nasm_free(i);