﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
280	mbuild fails when deleting source from Bound_obj and adding source of a different type	Gary Dixon	Eric Swenson	"The mbuild following mbuild script generates an analyze that contains two Bound_obj statements for the same bound segment.


{{{
Installation_directory: >udd>m>gd>w>eid;

Bound_obj:  bound_eis_tester_                     IN: tools;
 source:    et_instr_data.alm                       DELETE;
 source:    et_instr_data.cds                       ADD;
}}}


mbuild_analyze_ produces the analysis shown by the print request:

{{{
mbuild:  p

 Build_script:             eid.mb;

 Bound_obj:                bound_eis_tester_                 IN: tools  UPDATE;
     source:               et_instr_data.alm                  DELETE             compiler: alm;
     source:               et_instr_data.cds                  ADD                compiler: cds;

 Bound_obj:                bound_eis_tester_                 IN: tools  ADD;
}}}


After scan and read requests, the mbuild threads list the following items which appear to be correct.

{{{
mbuild:  p -ls all -all
scan_Tb:
  Seg(source):             et_instr_data.alm                 IN: tools.source  DELETE compiler: alm;
                                        /^  archive: bound_eis_tester_.s.archive  ^/
  Seg(source):             et_instr_data.cds                 IN: tools.source  ADD compiler: cds;
                                        /^  archive: bound_eis_tester_.s.archive  ^/
  Seg(Build_script):       eid.mb;
Seg_Tb:
  Seg(source):             et_instr_data.cds                 IN: tools.source  ADD compiler: cds;
                                        /^  archive: bound_eis_tester_.s.archive  ^/
  Seg(Build_script):       eid.mb;
  Seg(source):             et_instr_data.alm                 IN: tools.source  DELETE compiler: alm;
                                        /^  archive: bound_eis_tester_.s.archive  ^/
}}}


After the analyze request, the threads incorrectly include a second Bound_obj for bound_eis_tester_:


{{{
mbuild:  az

---------- clean -all


---------- progress


   COMPLETED   REQUESTS for Builds
   ---------   ----------------------------
      yes      set -desc   or    read -desc
      yes      scan      and/or  read
      yes      analyze
               compile
               archive_prep
               install_ec

mbuild:  p -ls all -all
mbuild_support_Tb:
  Build_script:            eid.mb;
BOUNDOBJ_Tb:
  BOUNDOBJ(Bound_obj):     bound_eis_tester_                 IN: tools  UPDATE;
                                        /^  source_archives: 1  ^/
                                        /^  sourceArchs_Tb: 1  ^/
  BOUNDOBJ(Bound_obj):     bound_eis_tester_                 IN: tools  ADD;
source_arch_Tb:
  source_arch:             bound_eis_tester_.s.archive       IN: tools.source  UPDATE;
                                        /^  BOUNDOBJ: bound_eis_tester_  ^/
                                        /^  inArch_Tb: 2  archs_Td  ^/
source_Tb:
  source:                  et_instr_data.alm                 IN: tools.source  DELETE compiler: alm;
                                        /^  archive: bound_eis_tester_.s.archive  BOUNDOBJ: bound_eis_tester_  ^/
                                        /^  inArch_Td  ^/
  source:                  et_instr_data.cds                 IN: tools.source  ADD compiler: cds;
                                        /^  archive: bound_eis_tester_.s.archive  BOUNDOBJ: bound_eis_tester_  COMPILE  ^/
                                        /^  inArch_Td  ^/
COMPILE_Tb:
  COMPILE(COMPILE):        et_instr_data.cds                 IN: tools.source;
                                        /^  source: et_instr_data.cds     ^/
scan_Tb:
  Seg(source):             et_instr_data.alm                 IN: tools.source  DELETE compiler: alm;
                                        /^  archive: bound_eis_tester_.s.archive  BOUNDOBJ: bound_eis_tester_  ^/
                                        /^  inArch_Td  ^/
  Seg(source):             et_instr_data.cds                 IN: tools.source  ADD compiler: cds;
                                        /^  archive: bound_eis_tester_.s.archive  BOUNDOBJ: bound_eis_tester_  COMPILE  ^/
                                        /^  inArch_Td  ^/
  Seg(Build_script):       eid.mb;
Seg_Tb:
  Seg(source):             et_instr_data.cds                 IN: tools.source  ADD compiler: cds;
                                        /^  archive: bound_eis_tester_.s.archive  BOUNDOBJ: bound_eis_tester_  COMPILE  ^/
                                        /^  inArch_Td  ^/
  Seg(Build_script):       eid.mb;
  Seg(source):             et_instr_data.alm                 IN: tools.source  DELETE compiler: alm;
                                        /^  archive: bound_eis_tester_.s.archive  BOUNDOBJ: bound_eis_tester_  ^/
                                        /^  inArch_Td  ^/
  Seg(source_arch):        bound_eis_tester_.s.archive       IN: tools.source  UPDATE;
                                        /^  BOUNDOBJ: bound_eis_tester_  ^/
                                        /^  inArch_Tb: 2  archs_Td  ^/
}}}


"	defect	closed	major		Standard Library		duplicate		
