[llvm-commits] [llvm] r94484 - in /llvm/trunk/unittests: ExecutionEngine/JIT/JITEventListenerTest.cpp ExecutionEngine/JIT/JITTest.cpp Makefile.unittest VMCore/PassManagerTest.cpp

Bob Wilson bob.wilson at apple.com
Tue Jan 26 11:03:45 PST 2010


This breaks the build on Darwin.  There are lots of messages like:

In file included from /usr/include/c++/4.2.1/tr1/tuple:159,
                 from /Users/bwilson/local/nightly/build/llvmCore.roots/llvmCore~obj/src/utils/unittest/googletest/include/gtest/internal/gtest-port.h:329,
                 from /Users/bwilson/local/nightly/build/llvmCore.roots/llvmCore~obj/src/utils/unittest/googletest/include/gtest/internal/gtest-internal.h:40,
                 from /Users/bwilson/local/nightly/build/llvmCore.roots/llvmCore~obj/src/utils/unittest/googletest/include/gtest/gtest.h:65,
                 from /Users/bwilson/local/nightly/build/llvmCore.roots/llvmCore~obj/src/unittests/Support/AllocatorTest.cpp:12:
/usr/include/c++/4.2.1/tr1/functional: In static member function 'static bool std::tr1::_Function_base::_Base_manager<_Functor>::_M_manager(std::tr1::_Any_data&, const std::tr1::_Any_data&, std::tr1::_Manager_operation)':
/usr/include/c++/4.2.1/tr1/functional:907: error: cannot use typeid with -fno-rtti

In file included from /usr/include/c++/4.2.1/tr1/repeat.h:74,
                 from /usr/include/c++/4.2.1/tr1/functional:1098,
                 from /usr/include/c++/4.2.1/tr1/tuple:159,
                 from /Users/bwilson/local/nightly/build/llvmCore.roots/llvmCore~obj/src/utils/unittest/googletest/include/gtest/internal/gtest-port.h:329,
                 from /Users/bwilson/local/nightly/build/llvmCore.roots/llvmCore~obj/src/utils/unittest/googletest/include/gtest/internal/gtest-internal.h:40,
                 from /Users/bwilson/local/nightly/build/llvmCore.roots/llvmCore~obj/src/utils/unittest/googletest/include/gtest/gtest.h:65,
                 from /Users/bwilson/local/nightly/build/llvmCore.roots/llvmCore~obj/src/unittests/Support/AllocatorTest.cpp:12:
/usr/include/c++/4.2.1/tr1/functional_iterate.h: In static member function 'static bool std::tr1::_Function_handler<void ()(), _Member _Class::*>::_M_manager(std::tr1::_Any_data&, const std::tr1::_Any_data&, std::tr1::_Manager_operation)':
/usr/include/c++/4.2.1/tr1/functional_iterate.h:572: error: cannot use typeid with -fno-rtti

(just to pick 2 samples at random).

I'm reverting this for now.  I'd be glad to test a revised patch for you in case you don't have convenient access to a Mac.

On Jan 25, 2010, at 5:26 PM, Jeffrey Yasskin wrote:

> Author: jyasskin
> Date: Mon Jan 25 19:26:46 2010
> New Revision: 94484
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=94484&view=rev
> Log:
> Re-enable unit tests disabled in r94164 by telling GTest about the
> lack of RTTI.
> 
> Modified:
>    llvm/trunk/unittests/ExecutionEngine/JIT/JITEventListenerTest.cpp
>    llvm/trunk/unittests/ExecutionEngine/JIT/JITTest.cpp
>    llvm/trunk/unittests/Makefile.unittest
>    llvm/trunk/unittests/VMCore/PassManagerTest.cpp
> 
> Modified: llvm/trunk/unittests/ExecutionEngine/JIT/JITEventListenerTest.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/ExecutionEngine/JIT/JITEventListenerTest.cpp?rev=94484&r1=94483&r2=94484&view=diff
> 
> ==============================================================================
> --- llvm/trunk/unittests/ExecutionEngine/JIT/JITEventListenerTest.cpp (original)
> +++ llvm/trunk/unittests/ExecutionEngine/JIT/JITEventListenerTest.cpp Mon Jan 25 19:26:46 2010
> @@ -25,7 +25,6 @@
> 
> int dummy;
> 
> -#if 0
> namespace {
> 
> struct FunctionEmittedEvent {
> @@ -238,4 +237,3 @@
>   testing::AddGlobalTestEnvironment(new JITEnvironment);
> 
> }  // anonymous namespace
> -#endif
> 
> Modified: llvm/trunk/unittests/ExecutionEngine/JIT/JITTest.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/ExecutionEngine/JIT/JITTest.cpp?rev=94484&r1=94483&r2=94484&view=diff
> 
> ==============================================================================
> --- llvm/trunk/unittests/ExecutionEngine/JIT/JITTest.cpp (original)
> +++ llvm/trunk/unittests/ExecutionEngine/JIT/JITTest.cpp Mon Jan 25 19:26:46 2010
> @@ -58,7 +58,6 @@
>   return Result;
> }
> 
> -#if 0
> class RecordingJITMemoryManager : public JITMemoryManager {
>   const OwningPtr<JITMemoryManager> Base;
> public:
> @@ -179,7 +178,6 @@
>     return Base->endExceptionTable(F, TableStart, TableEnd, FrameRegister);
>   }
> };
> -#endif
> 
> bool LoadAssemblyInto(Module *M, const char *assembly) {
>   SMDiagnostic Error;
> @@ -197,15 +195,11 @@
>   virtual void SetUp() {
>     M = new Module("<main>", Context);
>     MP = new ExistingModuleProvider(M);
> -#if 0
>     RJMM = new RecordingJITMemoryManager;
>     RJMM->setPoisonMemory(true);
> -#endif
>     std::string Error;
>     TheJIT.reset(EngineBuilder(MP).setEngineKind(EngineKind::JIT)
> -#if 0
>                  .setJITMemoryManager(RJMM)
> -#endif
>                  .setErrorStr(&Error).create());
>     ASSERT_TRUE(TheJIT.get() != NULL) << Error;
>   }
> @@ -217,9 +211,7 @@
>   LLVMContext Context;
>   Module *M;  // Owned by MP.
>   ModuleProvider *MP;  // Owned by ExecutionEngine.
> -#if 0
>   RecordingJITMemoryManager *RJMM;
> -#endif
>   OwningPtr<ExecutionEngine> TheJIT;
> };
> 
> @@ -438,7 +430,6 @@
>   TheJIT->getPointerToFunction(func);
>   TheJIT->deleteModuleProvider(MP);
> 
> -#if 0
>   SmallPtrSet<const void*, 2> FunctionsDeallocated;
>   for (unsigned i = 0, e = RJMM->deallocateFunctionBodyCalls.size();
>        i != e; ++i) {
> @@ -472,7 +463,6 @@
>   }
>   EXPECT_EQ(RJMM->startExceptionTableCalls.size(),
>             NumTablesDeallocated);
> -#endif
> }
> 
> // ARM and PPC still emit stubs for calls since the target may be too far away
> @@ -507,18 +497,14 @@
> 
>   // We should now allocate no more stubs, we have the code to foo
>   // and the existing stub for bar.
> -#if 0
>   int stubsBefore = RJMM->stubsAllocated;
> -#endif
>   Function *func = M->getFunction("main");
>   TheJIT->getPointerToFunction(func);
> 
>   Function *bar = M->getFunction("bar");
>   TheJIT->getPointerToFunction(bar);
> 
> -#if 0
>   ASSERT_EQ(stubsBefore, RJMM->stubsAllocated);
> -#endif
> }
> #endif  // !ARM && !PPC
> 
> 
> Modified: llvm/trunk/unittests/Makefile.unittest
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/Makefile.unittest?rev=94484&r1=94483&r2=94484&view=diff
> 
> ==============================================================================
> --- llvm/trunk/unittests/Makefile.unittest (original)
> +++ llvm/trunk/unittests/Makefile.unittest Mon Jan 25 19:26:46 2010
> @@ -14,7 +14,11 @@
> # Set up variables for building a unit test.
> ifdef TESTNAME
> 
> -REQUIRES_RTTI = 1
> +CXXFLAGS += -DGTEST_HAS_RTTI=0
> +# gcc's TR1 <tuple> header depends on RTTI, so force googletest to use
> +# its own tuple implementation.  When we import googletest >=1.4.0, we
> +# can drop this line.
> +CXXFLAGS += -DGTEST_HAS_TR1_TUPLE=0
> 
> include $(LEVEL)/Makefile.common
> 
> 
> Modified: llvm/trunk/unittests/VMCore/PassManagerTest.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/VMCore/PassManagerTest.cpp?rev=94484&r1=94483&r2=94484&view=diff
> 
> ==============================================================================
> --- llvm/trunk/unittests/VMCore/PassManagerTest.cpp (original)
> +++ llvm/trunk/unittests/VMCore/PassManagerTest.cpp Mon Jan 25 19:26:46 2010
> @@ -32,10 +32,6 @@
> #include "llvm/Assembly/PrintModulePass.h"
> #include "gtest/gtest.h"
> 
> -int dummy;
> -
> -#if 0
> -
> namespace llvm {
>   namespace {
>     // ND = no deps
> @@ -529,4 +525,3 @@
> 
>   }
> }
> -#endif
> 
> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits





More information about the llvm-commits mailing list