Jeff, Ack, sorry. I've grouped the built-in atomics into a family 020x as discussed. I've also got the built-ins renamed as OMPI_BULTIN_name. Commit is coming up soon.
--Ryan On 4/15/14 8:57 AM, "Jeff Squyres (jsquyres)" <jsquy...@cisco.com> wrote: >Ryan -- > >I'm getting build failures with this: > >----- >make[1]: Entering directory >`/home/jsquyres/svn/ompi5/openmpi-1.9a1r31394M/_build/opal/asm' > CC asm.lo >In file included from ../../../opal/asm/asm.c:21: >../../../opal/include/opal/sys/atomic.h:144:7: error: invalid digit "8" >in octal constant >../../../opal/include/opal/sys/atomic.h:146:7: error: invalid digit "8" >in octal constant >----- > >The problem seems to be coming from a new #define you added: > >#define OMPI_NO_BUILTIN 0800 > >With the leading 0, it's being interpreted as octal, and therefore 8 is >an invalid digit. > >From looking at the other values in that #define group, it's not clear to >me if these are supposed to be bit flags or just unique values...? > > > >On Apr 15, 2014, at 9:17 AM, svn-commit-mai...@open-mpi.org wrote: > >> Author: regrant (Ryan Grant) >> Date: 2014-04-15 09:17:04 EDT (Tue, 15 Apr 2014) >> New Revision: 31393 >> URL: https://svn.open-mpi.org/trac/ompi/changeset/31393 >> >> Log: >> Fixing atomics selection issue, to be CMR'd after it passes the nightly >>tests >> >> Text files modified: >> trunk/config/opal_config_asm.m4 | 26 >>++++++++++++++++++-------- >> trunk/opal/include/opal/sys/architecture.h | 1 + >> >> trunk/opal/include/opal/sys/atomic.h | 10 +++++----- >> >> 3 files changed, 24 insertions(+), 13 deletions(-) >> >> Modified: trunk/config/opal_config_asm.m4 >> >>========================================================================= >>===== >> --- trunk/config/opal_config_asm.m4 Tue Apr 15 03:23:39 2014 (r31392) >> +++ trunk/config/opal_config_asm.m4 2014-04-15 09:17:04 EDT (Tue, 15 >>Apr 2014) (r31393) >> @@ -766,14 +766,17 @@ >> [Enable use of OSX builtin atomics (default: disabled)])]) >> >> if test "$enable_builtin_atomics" = "yes" ; then >> - OPAL_CHECK_SYNC_BUILTINS([ompi_cv_asm_arch="SYNC_BUILTIN"], >> + OPAL_CHECK_SYNC_BUILTINS([ompi_cv_asm_builtin="SYNC_BUILTIN"], >> [AC_MSG_ERROR([__sync builtin atomics requested but not >>found.])]) >> AC_DEFINE([OPAL_C_GCC_INLINE_ASSEMBLY], [1], >> [Whether C compiler supports GCC style inline assembly]) >> elif test "$enable_osx_builtin_atomics" = "yes" ; then >> - AC_CHECK_HEADER([libkern/OSAtomic.h],[ompi_cv_asm_arch="OSX_BUILTIN"], >> + >>AC_CHECK_HEADER([libkern/OSAtomic.h],[ompi_cv_asm_builtin="OSX_BUILTIN"], >> [AC_MSG_ERROR([OSX builtin atomics requested but not found.])]) >> else >> + ompi_cv_asm_builtin="NO_BUILTIN" >> + fi >> + >> OMPI_CHECK_ASM_PROC >> OMPI_CHECK_ASM_TEXT >> OMPI_CHECK_ASM_GLOBAL >> @@ -898,12 +901,12 @@ >> ;; >> >> *) >> - OPAL_CHECK_SYNC_BUILTINS([ompi_cv_asm_arch="SYNC_BUILTIN"], >> + >>OPAL_CHECK_SYNC_BUILTINS([ompi_cv_asm_builtin="SYNC_BUILTIN"], >> [AC_MSG_ERROR([No atomic primitives available for >>$host])]) >> ;; >> esac >> >> - if test "$ompi_cv_asm_arch" = "SYNC_BUILTIN" ; then >> + if test "$ompi_cv_asm_builtin" = "SYNC_BUILTIN" ; then >> AC_DEFINE([OPAL_C_GCC_INLINE_ASSEMBLY], [1], >> [Whether C compiler supports GCC style inline assembly]) >> else >> @@ -954,17 +957,24 @@ >> AC_DEFINE_UNQUOTED([OPAL_ASSEMBLY_FORMAT], >>["$OPAL_ASSEMBLY_FORMAT"], >> [Format of assembly file]) >> AC_SUBST([OPAL_ASSEMBLY_FORMAT]) >> - fi # if ompi_cv_asm_arch = SYNC_BUILTIN >> - fi # if cv_c_compiler_vendor = microsoft >> + fi # if ompi_cv_asm_builtin = SYNC_BUILTIN >> >> result="OMPI_$ompi_cv_asm_arch" >> OPAL_ASSEMBLY_ARCH="$ompi_cv_asm_arch" >> AC_MSG_CHECKING([for asssembly architecture]) >> AC_MSG_RESULT([$ompi_cv_asm_arch]) >> AC_DEFINE_UNQUOTED([OPAL_ASSEMBLY_ARCH], [$result], >> - [Architecture type of assembly to use for atomic operations]) >> + [Architecture type of assembly to use for atomic operations >>and CMA]) >> AC_SUBST([OPAL_ASSEMBLY_ARCH]) >> >> + result="OMPI_$ompi_cv_asm_builtin" >> + OPAL_ASSEMBLY_BUILTIN="$ompi_cv_asm_builtin" >> + AC_MSG_CHECKING([for builtin atomics]) >> + AC_MSG_RESULT([$ompi_cv_asm_builtin]) >> + AC_DEFINE_UNQUOTED([OPAL_ASSEMBLY_BUILTIN], [$result], >> + [Whether to use builtin atomics]) >> + AC_SUBST([OPAL_ASSEMBLY_BUILTIN]) >> + >> OMPI_ASM_FIND_FILE >> >> unset result asm_format >> @@ -983,7 +993,7 @@ >> AC_REQUIRE([AC_PROG_GREP]) >> AC_REQUIRE([AC_PROG_FGREP]) >> >> -if test "$ompi_cv_asm_arch" != "WINDOWS" -a "$ompi_cv_asm_arch" != >>"SYNC_BUILTIN" -a "$ompi_cv_asm_arch" != "OSX_BUILTIN" ; then >> +if test "$ompi_cv_asm_arch" != "WINDOWS" -a "$ompi_cv_asm_builtin" != >>"SYNC_BUILTIN" -a "$ompi_cv_asm_builtin" != "OSX_BUILTIN" ; then >> AC_CHECK_PROG([PERL], [perl], [perl]) >> >> # see if we have a pre-built one already >> >> Modified: trunk/opal/include/opal/sys/architecture.h >> >>========================================================================= >>===== >> --- trunk/opal/include/opal/sys/architecture.h Tue Apr 15 03:23:39 >>2014 (r31392) >> +++ trunk/opal/include/opal/sys/architecture.h 2014-04-15 09:17:04 EDT >>(Tue, 15 Apr 2014) (r31393) >> @@ -39,6 +39,7 @@ >> #define OMPI_ARM 0100 >> #define OMPI_SYNC_BUILTIN 0200 >> #define OMPI_OSX_BUILTIN 0400 >> +#define OMPI_NO_BUILTIN 0800 >> >> /* Formats */ >> #define OMPI_DEFAULT 1000 /* standard for given architecture */ >> >> Modified: trunk/opal/include/opal/sys/atomic.h >> >>========================================================================= >>===== >> --- trunk/opal/include/opal/sys/atomic.h Tue Apr 15 03:23:39 >>2014 (r31392) >> +++ trunk/opal/include/opal/sys/atomic.h 2014-04-15 09:17:04 EDT (Tue, >>15 Apr 2014) (r31393) >> @@ -136,9 +136,13 @@ >> * Load the appropriate architecture files and set some reasonable >> * default values for our support >> * >> - *********************************************************************/ >> + >>*********************************************************************/ >> #if defined(DOXYGEN) >> /* don't include system-level gorp when generating doxygen files */ >> +#elif OPAL_ASSEMBLY_BUILTIN == OMPI_SYNC_BUILTIN >> +#include "opal/sys/sync_builtin/atomic.h" >> +#elif OPAL_ASSEMBLY_BUILTIN == OMPI_OSX_BUILTIN >> +#include "opal/sys/osx/atomic.h" >> #elif OPAL_ASSEMBLY_ARCH == OMPI_ALPHA >> #include "opal/sys/alpha/atomic.h" >> #elif OPAL_ASSEMBLY_ARCH == OMPI_AMD64 >> @@ -161,10 +165,6 @@ >> #include "opal/sys/sparcv9/atomic.h" >> #elif OPAL_ASSEMBLY_ARCH == OMPI_SPARCV9_64 >> #include "opal/sys/sparcv9/atomic.h" >> -#elif OPAL_ASSEMBLY_ARCH == OMPI_SYNC_BUILTIN >> -#include "opal/sys/sync_builtin/atomic.h" >> -#elif OPAL_ASSEMBLY_ARCH == OMPI_OSX_BUILTIN >> -#include "opal/sys/osx/atomic.h" >> #endif >> >> #ifndef DOXYGEN >> _______________________________________________ >> svn-full mailing list >> svn-f...@open-mpi.org >> http://www.open-mpi.org/mailman/listinfo.cgi/svn-full > > >-- >Jeff Squyres >jsquy...@cisco.com >For corporate legal information go to: >http://www.cisco.com/web/about/doing_business/legal/cri/ > >_______________________________________________ >devel mailing list >de...@open-mpi.org >Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel >Link to this post: >http://www.open-mpi.org/community/lists/devel/2014/04/14529.php