Running

clang_delta --transformation=param-to-global --counter=2 gmock-gtest-all.cc

on attached file does not modify it but exits successfully leading to infinite 
loop in creduce.

-- 
Regards,
Konstantin
                     extern "C"              typedef __typeof__(sizeof(int)) size_t;
                  typedef unsigned int pthread_key_t;
                        extern "C"           extern int pthread_key_create (           void  (void *))      throw () __attribute__ ((__nonnull__ ));
                        static __typeof(pthread_key_create) voide __attribute__ ((__weakref__("pthread_key_create")));
                  template <typename T> class scoped_ptr {
             public:   typedef T element_type;
              explicit scoped_ptr(T* p = __null) : ptr_(p) {
           }
             private:   T* ptr_;
            };
                  extern "C" inline void DeleteThreadLocalValue(void* value_holder) ;
                  template <typename T> class ThreadLocal {
             public:         explicit ThreadLocal(const T& value) : key_(CreateKey()),                                          default_(value) {
        }
              static pthread_key_t CreateKey() {
             if (const int gtest_error = pthread_key_create( &DeleteThreadLocalValue)) 0;
           }
              const pthread_key_t key_;
              const T default_;
            };
                  template <size_t size> class TypeWithSize {
             public:   typedef int Int;
              typedef unsigned int UInt;
            };
                  typedef TypeWithSize<4>::UInt UInt32;
                  typedef TypeWithSize<8>::Int TimeInMillis;
                     class UnitTest;
                  class Random {
             public:   static const UInt32 kMaxRange = 1u << 31;
              explicit Random(UInt32 seed) : state_(seed) {
         }
             private:   UInt32 state_;
            };
                  class DeathTestFactory {
            };
                  class DefaultDeathTestFactory : public DeathTestFactory {
            };
                  class InternalRunDeathTestFlag ;
                  class ParameterizedTestCaseRegistry {
            };
                     class TestPartResultReporterInterface {
               };
                  class UnitTestImpl* GetUnitTestImpl;
                     class TestResult {
               };
                     class TestInfo ;
                     class TestCase ;
                  class OsStackTraceGetterInterface ;
                  class DefaultGlobalTestPartResultReporter   : public TestPartResultReporterInterface {
             public:   explicit DefaultGlobalTestPartResultReporter(UnitTestImpl* unit_test);
            };
                  class DefaultPerThreadTestPartResultReporter     : public TestPartResultReporterInterface {
             public:   explicit DefaultPerThreadTestPartResultReporter(UnitTestImpl* unit_test);
            };
                  class UnitTestImpl {
             public:   explicit UnitTestImpl(UnitTest* parent);
              UnitTest* const parent_;
              DefaultGlobalTestPartResultReporter default_global_test_part_result_reporter_;
              DefaultPerThreadTestPartResultReporter       default_per_thread_test_part_result_reporter_;
              TestPartResultReporterInterface* global_test_part_result_repoter_;
              ThreadLocal<TestPartResultReporterInterface*>       per_thread_test_part_result_reporter_;
              ParameterizedTestCaseRegistry parameterized_test_registry_;
              bool parameterized_tests_registered_;
              int last_death_test_case_;
              TestCase* current_test_case_;
              TestInfo* current_test_info_;
              TestResult ad_hoc_test_result_;
              OsStackTraceGetterInterface* os_stack_trace_getter_;
              bool post_flag_parse_init_performed_;
              int random_seed_;
              Random random_;
              TimeInMillis elapsed_time_;
              scoped_ptr<InternalRunDeathTestFlag> internal_run_death_test_flag_;
              scoped_ptr<DeathTestFactory> death_test_factory_;
              bool catch_exceptions_;
            };
                  UnitTestImpl::UnitTestImpl(UnitTest* parent)     : parent_(parent),       default_global_test_part_result_reporter_(this),       default_per_thread_test_part_result_reporter_(this),       global_test_part_result_repoter_(           &default_global_test_part_result_reporter_),       per_thread_test_part_result_reporter_(           &default_per_thread_test_part_result_reporter_),       parameterized_test_registry_(),       parameterized_tests_registered_(false),       last_death_test_case_(-1),       current_test_case_(__null),       current_test_info_(__null),       ad_hoc_test_result_(),       os_stack_trace_getter_(__null),       post_flag_parse_init_performed_(false),       random_seed_(0),       random_(0),       elapsed_time_(0),       internal_run_death_test_flag_(__null),       death_test_factory_(new DefaultDeathTestFactory),       catch_exceptions_(false) {
            }

Reply via email to