Ticket #583: boost_1_34_0_ibm.udiff

File boost_1_34_0_ibm.udiff, 18.8 KB (added by Thomas Witt, 15 years ago)
  • boost/date_time/date_generators.hpp

    diff -ru boost_1_34_0/boost/date_time/date_generators.hpp boost_1_34_0_ibm/boost/date_time/date_generators.hpp
    old new  
    153153   month_type month_;
    154154 };
    155155
     156  //! Returns nth arg as string. 1 -> "first", 2 -> "second", max is 5.
     157  BOOST_DATE_TIME_DECL const char* nth_as_str(int n);
    156158
    157159  //! Useful generator functor for finding holidays
    158160  /*! Based on the idea in Cal. Calc. for finding holidays that are
     
    241243    week_num wn_;
    242244    day_of_week_type dow_;
    243245  };
    244  
    245   //! Returns nth arg as string. 1 -> "first", 2 -> "second", max is 5.
    246   BOOST_DATE_TIME_DECL const char* nth_as_str(int n);
     246
    247247
    248248  //! Useful generator functor for finding holidays and daylight savings
    249249  /*! Similar to nth_kday_of_month, but requires less paramters
  • boost/function.hpp

    diff -ru boost_1_34_0/boost/function.hpp boost_1_34_0_ibm/boost/function.hpp
    old new  
    2121// in anything that may be included by function_template.hpp doesn't break
    2222#include <boost/function/detail/prologue.hpp>
    2323
    24 // Visual Age C++ doesn't handle the file iteration well
    25 #if BOOST_WORKAROUND(__IBMCPP__, >= 500)
     24// Older versions of the IBM C++ compiler do not handle file iterations well
     25#if BOOST_WORKAROUND(__IBMCPP__, >= 500) && BOOST_WORKAROUND(__IBMCPP__, < 800)
    2626#  if BOOST_FUNCTION_MAX_ARGS >= 0
    2727#    include <boost/function/function0.hpp>
    2828#  endif
  • boost/numeric/interval/detail/ppc_rounding_control.hpp

    diff -ru boost_1_34_0/boost/numeric/interval/detail/ppc_rounding_control.hpp boost_1_34_0_ibm/boost/numeric/interval/detail/ppc_rounding_control.hpp
    old new  
    5151
    5252} // namespace detail
    5353
     54// Do not declare the following C99 symbols if <math.h> is C99-compliant.
     55// Otherwise, conflicts may occur, due to differences between prototypes.
     56#if !defined(_ISOC99_SOURCE) && !defined(__USE_ISOC99)
    5457extern "C" {
    5558  float rintf(float);
    5659  double rint(double);
    5760}
     61#endif
    5862
    5963template<>
    6064struct rounding_control<float>:
  • boost/python/module_init.hpp

    diff -ru boost_1_34_0/boost/python/module_init.hpp boost_1_34_0_ibm/boost/python/module_init.hpp
    old new  
    2626}                                                       \
    2727void init_module_##name()
    2828
    29 #  elif defined(_AIX) && !defined(BOOST_PYTHON_STATIC_MODULE)
    30 
    31 #   include <boost/python/detail/aix_init_module.hpp>
    32 #   define BOOST_PYTHON_MODULE_INIT(name)                               \
    33 void init_module_##name();                                              \
    34 extern "C"                                                              \
    35 {                                                                       \
    36     extern PyObject* _PyImport_LoadDynamicModule(char*, char*, FILE *); \
    37     void init##name()                                                   \
    38     {                                                                   \
    39         boost::python::detail::aix_init_module(                         \
    40             _PyImport_LoadDynamicModule, #name, &init_module_##name);   \
    41     }                                                                   \
    42 }                                                                       \
    43 void init_module_##name()
    44 
    45 # elif BOOST_PYTHON_USE_GCC_SYMBOL_VISIBILITY
     29#  elif BOOST_PYTHON_USE_GCC_SYMBOL_VISIBILITY
    4630
    4731#   define BOOST_PYTHON_MODULE_INIT(name)                               \
    4832void init_module_##name();                                              \
     
    5236}                                                                       \
    5337void init_module_##name()
    5438
    55 # else
     39#  else
    5640
    5741#   define BOOST_PYTHON_MODULE_INIT(name)                               \
    5842void init_module_##name();                                              \
  • boost/regex/v4/basic_regex.hpp

    diff -ru boost_1_34_0/boost/regex/v4/basic_regex.hpp boost_1_34_0_ibm/boost/regex/v4/basic_regex.hpp
    old new  
    254254   {
    255255      return do_assign(p1, p2, f);
    256256   }
    257 #if !defined(BOOST_NO_MEMBER_TEMPLATES) && !defined(__IBMCPP__)
     257#if !defined(BOOST_NO_MEMBER_TEMPLATES)
    258258
    259259   template <class ST, class SA>
    260260   unsigned int BOOST_REGEX_CALL set_expression(const std::basic_string<charT, ST, SA>& p, flag_type f = regex_constants::normal)
     
    590590      return this->assign(that);
    591591   }
    592592
    593 #if !defined(BOOST_NO_MEMBER_TEMPLATES) && !defined(__IBMCPP__)
     593#if !defined(BOOST_NO_MEMBER_TEMPLATES)
    594594   template <class ST, class SA>
    595595   explicit reg_expression(const std::basic_string<charT, ST, SA>& p, flag_type f = regex_constants::normal)
    596596   : basic_regex<charT, traits>(p, f)
  • boost/tr1/detail/config.hpp

    diff -ru boost_1_34_0/boost/tr1/detail/config.hpp boost_1_34_0_ibm/boost/tr1/detail/config.hpp
    old new  
    3434#     define BOOST_TR1_STD_HEADER(name) <../include/name>
    3535#  endif
    3636
    37 #if defined(__GNUC__) && !defined(BOOST_HAS_INCLUDE_NEXT)
    38 #  define BOOST_HAS_INCLUDE_NEXT
     37#if defined(__GNUC__) || (!defined(_AIX) && defined(__IBMCPP__)  && __IBMCPP__ >= 800)
     38#  ifndef BOOST_HAS_INCLUDE_NEXT
     39#     define BOOST_HAS_INCLUDE_NEXT
     40#  endif
    3941#endif
    4042
    4143// Can't use BOOST_WORKAROUND here, it leads to recursive includes:
  • libs/concept_check/stl_concept_covering.cpp

    diff -ru boost_1_34_0/libs/concept_check/stl_concept_covering.cpp boost_1_34_0_ibm/libs/concept_check/stl_concept_covering.cpp
    old new  
    591591    std::nth_element(ri, ri, ri, comp);
    592592  }
    593593  {
    594 #if defined(__GNUC__)
     594#if defined(__GNUC__) || defined(__IBMCPP__)
    595595    typedef less_than_op_first_archetype<> FT;
    596596    typedef less_than_op_second_archetype<> T;
    597597#elif defined(__KCC)
     
    615615    fi = std::lower_bound(fi, fi, value, comp);
    616616  }
    617617  {
    618 #if defined(__GNUC__)
     618#if defined(__GNUC__)  || defined(__IBMCPP__)
    619619    // Note, order of T,FT is flipped from lower_bound
    620620    typedef less_than_op_second_archetype<> FT;
    621621    typedef less_than_op_first_archetype<> T;
     
    639639    fi = std::upper_bound(fi, fi, value, comp);
    640640  }
    641641  {
    642 #if defined(__GNUC__)
     642#if defined(__GNUC__) || defined(__IBMCPP__)
    643643    typedef less_than_op_first_archetype<
    644644      less_than_op_second_archetype< null_archetype<>, optag2>, optag1> FT;
    645645    typedef less_than_op_second_archetype<
     
    669669    ignore_unused_variable_warning(p);
    670670  }
    671671  {
    672 #if defined(__GNUC__)
     672#if defined(__GNUC__)  || defined(__IBMCPP__)
    673673    typedef less_than_op_first_archetype<
    674674      less_than_op_second_archetype<null_archetype<>, optag2>, optag1> FT;
    675675    typedef less_than_op_second_archetype<
     
    686686  {
    687687    typedef null_archetype<int> Arg1;
    688688    typedef null_archetype<char> Arg2;
    689 #if defined(__GNUC__) || defined(__KCC)
     689#if defined(__GNUC__) || defined(__KCC) || defined(__IBMCPP__)
    690690    typedef convertible_to_archetype<Arg1,
    691691      convertible_to_archetype<Arg2> > FT;
    692692    typedef convertible_to_archetype<Arg2,
     
    701701  }
    702702  {
    703703    typedef null_archetype<> Tout;
    704 #if defined(__GNUC__) || defined(__KCC)
     704#if defined(__GNUC__) || defined(__KCC) || defined(__IBMCPP__)
    705705    typedef less_than_op_first_archetype<
    706706      less_than_op_second_archetype<
    707707      convertible_to_archetype<Tout>, optag2>, optag1 > Tin1;
  • libs/filesystem/src/operations.cpp

    diff -ru boost_1_34_0/libs/filesystem/src/operations.cpp boost_1_34_0_ibm/libs/filesystem/src/operations.cpp
    old new  
    1717
    1818#define _POSIX_PTHREAD_SEMANTICS  // Sun readdir_r() needs this
    1919
     20// enable the XPG-compliant version of readdir_r() on AIX
     21#if defined(_AIX)
     22# define _LINUX_SOURCE_COMPAT
     23#endif
     24
    2025#if !(defined(__HP_aCC) && defined(_ILP32) && \
    2126      !defined(_STATVFS_ACPP_PROBLEMS_FIXED))
    2227# define _FILE_OFFSET_BITS 64 // at worst, these defines may have no effect,
  • libs/graph/src/graphviz_digraph_lex.cpp

    diff -ru boost_1_34_0/libs/graph/src/graphviz_digraph_lex.cpp boost_1_34_0_ibm/libs/graph/src/graphviz_digraph_lex.cpp
    old new  
    14111411
    14121412#ifndef YY_ALWAYS_INTERACTIVE
    14131413#ifndef YY_NEVER_INTERACTIVE
     1414/* Avoid conflicts if isatty() has a different prototype in <unistd.h>. */
     1415#if !defined(__IBMCPP__)
    14141416extern int isatty YY_PROTO(( int ));
    14151417#endif
    14161418#endif
     1419#endif
    14171420
    14181421#ifdef YY_USE_PROTOS
    14191422void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
  • libs/graph/src/graphviz_graph_lex.cpp

    diff -ru boost_1_34_0/libs/graph/src/graphviz_graph_lex.cpp boost_1_34_0_ibm/libs/graph/src/graphviz_graph_lex.cpp
    old new  
    14111411
    14121412#ifndef YY_ALWAYS_INTERACTIVE
    14131413#ifndef YY_NEVER_INTERACTIVE
     1414/* Avoid conflicts if isatty() has a different prototype in <unistd.h>. */
     1415#if !defined(__IBMCPP__)
    14141416extern int isatty YY_PROTO(( int ));
    14151417#endif
    14161418#endif
     1419#endif
    14171420
    14181421#ifdef YY_USE_PROTOS
    14191422void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
  • libs/mpl/test/integral_c.cpp

    diff -ru boost_1_34_0/libs/mpl/test/integral_c.cpp boost_1_34_0_ibm/libs/mpl/test/integral_c.cpp
    old new  
    1111// $Date: 2005/05/14 16:00:57 $
    1212// $Revision: 1.5 $
    1313
     14#if defined(__IBMCPP__)
     15#pragma options chars=signed
     16#endif
     17
    1418#include <boost/mpl/integral_c.hpp>
    1519#include <boost/preprocessor/repeat.hpp>
    1620
  • libs/python/test/select_from_python_test.cpp

    diff -ru boost_1_34_0/libs/python/test/select_from_python_test.cpp boost_1_34_0_ibm/libs/python/test/select_from_python_test.cpp
    old new  
    55#include <boost/python/type_id.hpp>
    66#include <iostream>
    77
    8 // gcc 2.95.x and MIPSpro 7.3.1.3 linker seem to demand this definition
    9 #if ((defined(__GNUC__) && __GNUC__ < 3)) \
    10  || (defined(__sgi) && defined(__EDG_VERSION__) && (__EDG_VERSION__ == 238))
     8// gcc 2.95.x, MIPSpro 7.3.1.3 and IBM XL for Linux linker seem to demand this definition
     9#if (defined(__GNUC__) && (__GNUC__ < 3)) \
     10 || (defined(__sgi) && defined(__EDG_VERSION__) && (__EDG_VERSION__ == 238)) \
     11 || (defined(__IBMCPP__) && defined(__linux__))
    1112namespace boost { namespace python {
    1213BOOST_PYTHON_DECL bool handle_exception_impl(function0<void>)
    1314{
  • libs/test/test/prg_exec_fail2.cpp

    diff -ru boost_1_34_0/libs/test/test/prg_exec_fail2.cpp boost_1_34_0_ibm/libs/test/test/prg_exec_fail2.cpp
    old new  
    2626#include <cstddef> //Metrowerks linker needs at least one standard library
    2727#endif
    2828
     29#if defined(__IBMCPP__)
     30#pragma options check=divzero
     31#endif
     32
    2933
    3034int cpp_main( int, char *[] )  // note the name
    3135{
  • tools/build/v2/tools/python.jam

    diff -ru boost_1_34_0/tools/build/v2/tools/python.jam boost_1_34_0_ibm/tools/build/v2/tools/python.jam
    old new  
    626626
    627627        case hpux : return  <library>rt ;
    628628
     629        case aix : return  <library>pthread <library>dl ;
     630
    629631        case * : return  <library>pthread <library>dl <toolset>gcc:<library>util ;
    630632    }
    631633}
     
    926928    {
    927929        alias python_for_extensions : python : $(target-requirements) ;
    928930    }
     931    # On AIX we need Python extensions and Boost.Python to import symbols
     932    # from the Python interpreter. Dynamic libraries opened with dlopen()
     933    # do not inherit the symbols from the Python interpreter.
     934    else if $(target-os) = aix
     935    {
     936        alias python_for_extensions
     937                     :
     938                     : $(target-requirements)
     939                     :
     940                     : $(usage-requirements) <linkflags>-Wl,-bI:$(libraries[1])/python.exp
     941                     ;
     942    }
    929943    else
    930944    {
    931945        alias python_for_extensions
  • tools/build/v2/tools/vacpp.jam

    diff -ru boost_1_34_0/tools/build/v2/tools/vacpp.jam boost_1_34_0_ibm/tools/build/v2/tools/vacpp.jam
    old new  
    55# or copy at http://www.boost.org/LICENSE_1_0.txt)
    66
    77#
    8 # Boost.Build V2 toolset for the IBM VisualAge compiler
     8# Boost.Build V2 toolset for the IBM XL C++ compiler
    99#
    1010
    1111import toolset : flags ;
    1212import feature ;
    1313import common ;
    1414import generators ;
     15import os ;
    1516
    1617feature.extend toolset : vacpp ;
    1718toolset.inherit vacpp : unix ;
     
    1920generators.override vacpp.searched-lib-generator : searched-lib-generator ;
    2021feature.subfeature toolset vacpp : version ;
    2122
    22 # Configures the vacpp toolset.
     23# Configure the vacpp toolset
    2324rule init ( version ? : command * : options * )
    2425{
    2526}
    2627
    27 
    2828# Declare generators
    2929generators.register-c-compiler vacpp.compile.c : C : OBJ : <toolset>vacpp ;
    3030generators.register-c-compiler vacpp.compile.c++ : CPP : OBJ : <toolset>vacpp ;
    3131
    32 # Declare flags.
     32# Allow C++ style comments in C files
     33flags vacpp CFLAGS : -qcpluscmt ;
     34
     35# Declare flags
    3336flags vacpp CFLAGS <optimization>off : -qNOOPTimize ;
    3437flags vacpp CFLAGS <optimization>speed : -O3 -qstrict ;
    3538flags vacpp CFLAGS <optimization>space : -O2 -qcompact ;
    3639
     40# Discretionary inlining (not recommended)
    3741flags vacpp CFLAGS <inlining>off : -qnoinline ;
    3842flags vacpp CFLAGS <inlining>on : -qinline ;
    39 flags vacpp CFLAGS <inlining>full : -qinline ;
     43#flags vacpp CFLAGS <inlining>full : -qinline ;
     44flags vacpp CFLAGS <inlining>full : ;
    4045
     46# Exception handling
    4147flags vacpp C++FLAGS <exception-handling>off : -qnoeh ;
    4248flags vacpp C++FLAGS <exception-handling>on : -qeh ;
    4349
     50# Run-time Type Identification
    4451flags vacpp C++FLAGS <rtti>off : -qnortti ;
    4552flags vacpp C++FLAGS <rtti>on : -qrtti ;
    4653
    47 # flags vacpp LINKFLAGS <runtime-link>static : -llibstd_v2.a ;
    48 # flags vacpp LINKFLAGS <runtime-link>shared : -llibstd_v2.sl ;
    49 
    50 # We want the full path to the sources in the debug symbols because otherwise
    51 # the debugger won't find the sources when we use boost.build.
    52 flags vacpp CFLAGS <debug-symbols>on : -g ;
    53 flags vacpp LINKFLAGS <debug-symbols>on : -g ;
     54# Enable 64-bit memory addressing model
     55flags vacpp CFLAGS <address-model>64 : -q64 ;
     56flags vacpp LINKFLAGS <address-model>64 : -q64 ;
     57flags vacpp ARFLAGS <address-model>64 : -X 64 ;
     58
     59# Use absolute path when generating debug information
     60flags vacpp CFLAGS <debug-symbols>on : -g -qfullpath ;
     61flags vacpp LINKFLAGS <debug-symbols>on : -g -qfullpath ;
    5462flags vacpp LINKFLAGS <debug-symbols>off : -s ;
    5563
    56 # V2 does not have <shared-linkable>, not sure what this meant in V1.
    57 #flags vacpp CFLAGS <shared-linkable>true : +Z ;
     64if [ os.name ] = AIX
     65{
     66    # Tell the linker to discard unneeded object files from archive libraries.
     67    # Please note that the static constructors contained by the discarded object
     68    # files will not be invoked.
     69    flags vacpp.compile C++FLAGS : -qfuncsect ;
     70    flags vacpp.link LINKFLAGS <link>static : -qtwolink ;
     71
     72    # Run-time linking
     73    flags vacpp.link EXE-LINKFLAGS <link>shared : -brtl ;
     74}
     75else
     76{
     77    # Linux PPC
     78    flags vacpp.compile CFLAGS <link>shared : -qpic ;
     79}
    5880
     81# Profiling
    5982flags vacpp CFLAGS <profiling>on : -pg ;
    6083flags vacpp LINKFLAGS <profiling>on : -pg ;
    6184
     
    79102flags vacpp VA_CXX_COMPILER <threading>single : xlC   ;
    80103flags vacpp VA_CXX_COMPILER <threading>multi : xlC_r ;
    81104
    82 ROOT = /usr/vacpp/bin ;
     105
    83106actions vacpp.link bind NEEDLIBS
    84107{
    85     $(ROOT)/$(VA_CXX_COMPILER) $(LINKFLAGS) -o "$(<[1])" -L$(LIBPATH) -L$(STDLIBPATH) "$(>)" "$(NEEDLIBS)" "$(NEEDLIBS)" -l$(FINDLIBS)
     108    $(VA_CXX_COMPILER) $(EXE-LINKFLAGS) $(LINKFLAGS) -o "$(<[1])" -L$(LIBPATH) -L$(STDLIBPATH) "$(>)" "$(NEEDLIBS)" "$(NEEDLIBS)" -l$(FINDLIBS)
    86109}
    87110
    88111actions vacpp.link.dll bind NEEDLIBS
    89112{
    90     xlC_r -qmkshrobj $(LINKFLAGS) -o "$(<[1])" -L$(LIBPATH) -L$(STDLIBPATH) "$(>)" "$(NEEDLIBS)" "$(NEEDLIBS)" -l$(FINDLIBS)
     113    xlC_r -G $(LINKFLAGS) -o "$(<[1])" -L$(LIBPATH) -L$(STDLIBPATH) "$(>)" "$(NEEDLIBS)" "$(NEEDLIBS)" -l$(FINDLIBS)
    91114}
    92115
    93116actions vacpp.compile.c
    94 {   
    95     $(ROOT)/$(VA_C_COMPILER) -c -I$(BOOST_ROOT) -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)"
     117{
     118    $(VA_C_COMPILER) -c -I$(BOOST_ROOT) -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)"
    96119}
    97120
    98121actions vacpp.compile.c++
    99122{
    100     $(ROOT)/$(VA_CXX_COMPILER) -c -I$(BOOST_ROOT) -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) $(C++FLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)"
     123    $(VA_CXX_COMPILER) -c -I$(BOOST_ROOT) -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) $(C++FLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)"
    101124}
    102125
    103126actions updated together piecemeal vacpp.archive
  • tools/build/v2/util/os.jam

    diff -ru boost_1_34_0/tools/build/v2/util/os.jam boost_1_34_0_ibm/tools/build/v2/util/os.jam
    old new  
    7171
    7272.shared-library-path-variable-MACOSX = DYLD_LIBRARY_PATH ;
    7373
     74.shared-library-path-variable-AIX = LIBPATH ;
     75
    7476# Default constants
    7577.shared-library-path-variable = LD_LIBRARY_PATH ;
    7678.path-separator = ":" ;
  • tools/regression/compiler_status.cpp

    diff -ru boost_1_34_0/tools/regression/compiler_status.cpp boost_1_34_0_ibm/tools/regression/compiler_status.cpp
    old new  
    576576        test_type_base.erase( trailer );
    577577      }
    578578    }
     579    if ( test_type_base.size() > 4 )
     580    {
     581      const string::size_type trailer = test_type_base.size() - 4;
     582      if ( test_type_base.substr( trailer ) == "_pyd" )
     583      {
     584        test_type_base.erase( trailer );
     585      }
     586    }
    579587    const xml::element & test_type_element( find_element( db, test_type_base ) );
    580588
    581589    pass = !test_type_element.name.empty()