Fixed uninitialized variable problem

git-svn-id: http://svn.boost.org/svn/boost/trunk@79391 b8fc166d-592f-0410-95f2-cb63ce0dd405
Switch from deprecated macros to new shiny ones; no functionality change

git-svn-id: http://svn.boost.org/svn/boost/trunk@79392 b8fc166d-592f-0410-95f2-cb63ce0dd405
Switch from deprecated macros to new shiny ones; no functionality change

git-svn-id: http://svn.boost.org/svn/boost/trunk@79396 b8fc166d-592f-0410-95f2-cb63ce0dd405
Ticket #7094, thanks 1czajnik

git-svn-id: http://svn.boost.org/svn/boost/trunk@79398 b8fc166d-592f-0410-95f2-cb63ce0dd405
Delete obsolete scripts; please use inspect.py instead.

git-svn-id: http://svn.boost.org/svn/boost/trunk@79399 b8fc166d-592f-0410-95f2-cb63ce0dd405
Rename a bunch of C++11 configuration macros to include 'CXX11' in the name; preserve old macro names for compatibility, but mark them as deprecated. No functionality change intended

git-svn-id: http://svn.boost.org/svn/boost/trunk@79400 b8fc166d-592f-0410-95f2-cb63ce0dd405
Minor update for suffix.hpp; reordering some decls

git-svn-id: http://svn.boost.org/svn/boost/trunk@79401 b8fc166d-592f-0410-95f2-cb63ce0dd405
Restoring Boost Build & Jam changes from revisions [79281 - 79310] (inclusive) previously temporarily reverted in revision [79321]. This is done to test whether the problem causing the original revert was introduced in revision [79311] (a bug has been found in that revision that could cause the observed Boost Jam crashes). Remaining reverted changes will be reverted if we do not detect any Boost library tester failures with this revision.

git-svn-id: http://svn.boost.org/svn/boost/trunk@79402 b8fc166d-592f-0410-95f2-cb63ce0dd405
Apply patch from #7070 to fix namespace renaming.
Fixes #7070.

git-svn-id: http://svn.boost.org/svn/boost/trunk@79403 b8fc166d-592f-0410-95f2-cb63ce0dd405
Add BOOST_NO_CXX11_RANGE_BASED_FOR macro. Fix a bunch of .ipp files with incomplete _cxx11 name changes.

git-svn-id: http://svn.boost.org/svn/boost/trunk@79404 b8fc166d-592f-0410-95f2-cb63ce0dd405
Remove long-obsolete .sh scripts

git-svn-id: http://svn.boost.org/svn/boost/trunk@79405 b8fc166d-592f-0410-95f2-cb63ce0dd405
Thread: fix typo - 7117

git-svn-id: http://svn.boost.org/svn/boost/trunk@79406 b8fc166d-592f-0410-95f2-cb63ce0dd405
Thread: fix typo - 7117

git-svn-id: http://svn.boost.org/svn/boost/trunk@79407 b8fc166d-592f-0410-95f2-cb63ce0dd405
Add directory_iterator and recursive_directory_iterator free functions begin and end so that these iterators can be used with range-based for statements.

git-svn-id: http://svn.boost.org/svn/boost/trunk@79409 b8fc166d-592f-0410-95f2-cb63ce0dd405
Recommitting the rest of the valid changes reverted in revision [79321].

git-svn-id: http://svn.boost.org/svn/boost/trunk@79410 b8fc166d-592f-0410-95f2-cb63ce0dd405
Boost Jam code cleanup.

git-svn-id: http://svn.boost.org/svn/boost/trunk@79411 b8fc166d-592f-0410-95f2-cb63ce0dd405
Boost Jam now again removes partially built targets in case of an interrupted command. Broken in revision [79341].

One scenario in which this bug occurs:

Prerequisites:
  - using the execunix.c implementation
       - may detect multiple finished jobs at the same time (in
         exec_wait()) and call all of their make_closure() callbacks in
         sequence
  - globs.max_jobs set to 2

Notes:
  - <<< X. f() >>> marks a function call f() made at depth X
  - [...] are additional comments about the current program state
  - We use the following target dependency tree (X <-- Y meaning Y is a
    dependency (source) for X):
      A
      B
      C <-- B
      D <-- B
      E <-- A, B


 <<< 1. make1() >>>
    ...
    <<< 2. make1c(B) >>>
        ...
        [stack: <empty>]
        [running jobs: A & B]
        <<< 3. exec_wait() >>>
            - detects job A as failed (which leaves a partially built
              target A)
            - detects job B as completed successfully
            <<< 4. make_closure(A) >>>
                - pushes state MAKE1D(A)
            <<< 4. make_closure(B) >>>
                - pushes state MAKE1D(B)

    [control returns to make1()]
    [stack: MAKE1D(A), MAKE1D(B)]
    [running jobs: <none>]
    - goes on to process the next state on the stack - MAKE1D(B)
    <<< 2. make1d(B) >>>
        - morphs its state node into MAKE1C(B)

    [control returns to make1()]
    [stack: MAKE1D(A), MAKE1C(B)]
    [running jobs: <none>]
    - goes on to process the next state on the stack - MAKE1C(B)
    <<< 2. make1c(B) >>>
        - pops its state off the stack
        - there are no more commands to execute for building B so that
          target is considered built and we notify its parents C, D & E
          about this by pushing MAKE1B(E), MAKE1B(D) & MAKE1B(C) states

    [control returns to make1()]
    [stack: MAKE1D(A), MAKE1B(E), MAKE1B(D), MAKE1B(C)]
    [running jobs: <none>]
    - goes on to process the next state on the stack - MAKE1B(C)
    <<< 2. make1b(C) >>>
        - there are no more dependencies target C has to wait for so it
          goes on to build target C by morphing its state to MAKE1C(C)

    [control returns to make1()]
    [stack: MAKE1D(A), MAKE1B(E), MAKE1B(D), MAKE1C(C)]
    [running jobs: <none>]
    - goes on to process the next state on the stack - MAKE1C(C)
    <<< 2. make1c(C) >>>
        - pops its state off the stack
        <<< 3. exec_cmd(C) >>>
            - runs a new job for building target C

    [control returns to make1()]
    [stack: MAKE1D(A), MAKE1B(E), MAKE1B(D)]
    [running jobs: C]
    - goes on to process the next state on the stack - MAKE1B(D)
    <<< 2. make1b(D) >>>
        - there are no more dependencies target D has to wait for so it
          goes on to build target D by morphing its state to MAKE1C(D)

    [control returns to make1()]
    [stack: MAKE1D(A), MAKE1B(E), MAKE1C(D)]
    [running jobs: C]
    - goes on to process the next state on the stack - MAKE1C(D)
    <<< 2. make1c(D) >>>
        - pops its state off the stack
        <<< 3. exec_cmd(D) >>>
            - runs a new job for building target D.
        - since we are already at the globs.max_jobs limit - wait for
          one of the jobs to complete
        <<< 3. exec_wait() >>>
            - detects job C as interrupted
            <<< 4. make_closure(C) >>>
                - raises the intr interupt flag
                - pushes state MAKE1D(C)

    [control returns to make1()]
    [stack: MAKE1D(A), MAKE1B(E), MAKE1D(C)]
    [running jobs: D]
    - goes on to process the next state on the stack - MAKE1D(C)
    - intr is set - pops the MAKE1C(D) state from the stack
        - as an unrelated issue, note that from now we are accessing the
          MAKE1C(D) stack node information from 'released memory' which
          smells but works fine as long as we do not push another state
          on the stack due to the way released node memory is managed
          internally - via a separate 'free list' to be reused instead
          of actually releasing it
    <<< 2. make1d(C) >>>
        - morphs its (already popped!) state node into MAKE1C(C)

    [control returns to make1()]
    [stack: MAKE1D(A), MAKE1B(E)]
    [running jobs: D]
    - goes on to process the next state on the stack - MAKE1B(E)
    - intr is set - pops the MAKE1B(E) state from the stack
    <<< 2. make1b(E) >>>
        - there are more unbuilt dependencies (A) left for target E so
          it just wants to pop its state off the stack but since that
          state has already been popped it actually pops off the next
          state MAKE1D(A)

    [control returns to make1()]
    [stack: <empty>]
    [running jobs: D]
    ...

  As you can see in the last shown state, the MAKE1D(A) state got popped prematurely and never got processed - thus causing the partially built target A never to be removed.

  There are several issues present in this scenario and fixing any of them would solve the problem at hand. This commit just picks 'the easiest one'.

git-svn-id: http://svn.boost.org/svn/boost/trunk@79412 b8fc166d-592f-0410-95f2-cb63ce0dd405
Cleaned up the main Boost Jam build state machine. MAKE1ATAIL state integrated into MAKE1A, MAKE1D state removed since it was doing nothing but morphing itself to MAKE1C and the main state structure no longer needs to contain extra MAKE1D state specific information. Cleaned up and updated related state description comments. Added a related missing #include directive in the make.h header caught by the make1.c module cleanup. Minor stylistic changes.

git-svn-id: http://svn.boost.org/svn/boost/trunk@79413 b8fc166d-592f-0410-95f2-cb63ce0dd405
Boost Jam code cleanup - minor stylistic changes.

git-svn-id: http://svn.boost.org/svn/boost/trunk@79414 b8fc166d-592f-0410-95f2-cb63ce0dd405
Boost Jam code cleanup - minor stylistic changes.


git-svn-id: http://svn.boost.org/svn/boost/trunk@79415 b8fc166d-592f-0410-95f2-cb63ce0dd405