[cfe-commits] r160404 - /cfe/trunk/include/clang/AST/RecursiveASTVisitor.h

NAKAMURA Takumi geek4civic at gmail.com
Wed Jul 18 19:30:52 PDT 2012


Doug, excuse me, I have reverted it in r160486, to get mingw bots green.

I have been still investigating.

2012/7/18 NAKAMURA Takumi <geek4civic at gmail.com>:
> It killed mingw32-gcc on my buildslave... investigating.
> (Compilation could be done if r160404 were reverted)
>
> $ g++ --version
> g++.exe (TDM-1 mingw32) 4.4.0
>
> llvm[4]: Compiling TransProperties.cpp for Release+Asserts build
> if  g++ -I/e/bb-win7/clang-i686-msys/build/include
> -I/e/bb-win7/clang-i686-msys/build/tools/clang/lib/ARCMigrate
> -I/e/bb-win7/clang-i686-msys/llvm-project/clang/lib/ARCMigrate
> -I/e/bb-win7/clang-i686-msys/llvm-project/llvm/include  -D_DEBUG
> -D__NO_CTYPE_INLINE -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS
> -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
> -I/e/bb-win7/clang-i686-msys/llvm-project/clang/lib/ARCMigrate/../../include
> -I/e/bb-win7/clang-i686-msys/build/tools/clang/lib/ARCMigrate/../../include
> -O2 -fomit-frame-pointer -fno-exceptions -fno-rtti
> -Woverloaded-virtual -Wcast-qual -fno-strict-aliasing    -pedantic
> -Wno-long-long -Wall -W -Wno-unused-parameter -Wwrite-strings   -c
> -MMD -MP -MF "/e/bb-win7/clang-i686-msys/build/tools/clang/lib/ARCMigrate/Release+Asserts/TransProperties.d.tmp"
> -MT "/e/bb-win7/clang-i686-msys/build/tools/clang/lib/ARCMigrate/Release+Asserts/TransProperties.o"
> -MT "/e/bb-win7/clang-i686-msys/build/tools/clang/lib/ARCMigrate/Release+Asserts/TransProperties.d"
> /e/bb-win7/clang-i686-msys/llvm-project/clang/lib/ARCMigrate/TransProperties.cpp
> -o /e/bb-win7/clang-i686-msys/build/tools/clang/lib/ARCMigrate/Release+Asserts/TransProperties.o
> ; \
>                 then /bin/sed 's/^\([ \t]*\)\([A-Za-z]\):/\1\/\2/g'
> "/e/bb-win7/clang-i686-msys/build/tools/clang/lib/ARCMigrate/Release+Asserts/TransProperties.d.tmp"
>> "/e/bb-win7/clang-i686-msys/build/tools/clang/lib/ARCMigrate/Release+Asserts/TransProperties.d";
> /bin/rm "/e/bb-win7/clang-i686-msys/build/tools/clang/lib/ARCMigrate/Release+Asserts/TransProperties.d.tmp";
> else /bin/rm "/e/bb-win7/clang-i686-msys/build/tools/clang/lib/ARCMigrate/Release+Asserts/TransProperties.d.tmp";
> exit 1; fi
> In file included from
> e:/bb-win7/clang-i686-msys/llvm-project/clang/lib/ARCMigrate/Transforms.h:13,
>                  from
> e:/bb-win7/clang-i686-msys/llvm-project/clang/lib/ARCMigrate/TransProperties.cpp:33:
> e:/bb-win7/clang-i686-msys/llvm-project/clang/lib/ARCMigrate/../../include/clang/AST/RecursiveASTVisitor.h:
> In member function 'bool
> clang::RecursiveASTVisitor<Derived>::dataTraverse(clang::Stmt*) [with
> Derived = <unnamed>::PropertiesRewriter::PlusOneAssign]':
> e:/bb-win7/clang-i686-msys/llvm-project/clang/lib/ARCMigrate/../../include/clang/AST/RecursiveASTVisitor.h:461:
> internal compiler error: Segmentation fault
> Please submit a full bug report,
> with preprocessed source if appropriate.
> See <http://www.tdragon.net/recentgcc/bugs.php> for instructions.
> /bin/rm: cannot remove
> `/e/bb-win7/clang-i686-msys/build/tools/clang/lib/ARCMigrate/Release+Asserts/TransProperties.d.tmp':
> No such file or directory
> make[4]: *** [/e/bb-win7/clang-i686-msys/build/tools/clang/lib/ARCMigrate/Release+Asserts/TransProperties.o]
> Error 1
>
>
>
> 2012/7/18 Douglas Gregor <dgregor at apple.com>:
>> Author: dgregor
>> Date: Tue Jul 17 18:07:44 2012
>> New Revision: 160404
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=160404&view=rev
>> Log:
>> Eliminating the GCC_CAST hack, take two.
>>
>> Modified:
>>     cfe/trunk/include/clang/AST/RecursiveASTVisitor.h
>>
>> Modified: cfe/trunk/include/clang/AST/RecursiveASTVisitor.h
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/RecursiveASTVisitor.h?rev=160404&r1=160403&r2=160404&view=diff
>> ==============================================================================
>> --- cfe/trunk/include/clang/AST/RecursiveASTVisitor.h (original)
>> +++ cfe/trunk/include/clang/AST/RecursiveASTVisitor.h Tue Jul 17 18:07:44 2012
>> @@ -464,19 +464,12 @@
>>  bool RecursiveASTVisitor<Derived>::dataTraverseNode(Stmt *S,
>>                                                      bool &EnqueueChildren) {
>>
>> -// The cast for DISPATCH_WALK is needed for older versions of g++, but causes
>> -// problems for MSVC.  So we'll skip the cast entirely for MSVC.
>> -#if defined(_MSC_VER)
>> -  #define GCC_CAST(CLASS)
>> -#else
>> -  #define GCC_CAST(CLASS) (bool (RecursiveASTVisitor::*)(CLASS*))
>> -#endif
>> -
>>    // Dispatch to the corresponding WalkUpFrom* function only if the derived
>>    // class didn't override Traverse* (and thus the traversal is trivial).
>>  #define DISPATCH_WALK(NAME, CLASS, VAR) \
>> -  if (&RecursiveASTVisitor::Traverse##NAME == \
>> -      GCC_CAST(CLASS)&Derived::Traverse##NAME) \
>> +  if (bool (Derived::*DerivedFn)(CLASS*) = &Derived::Traverse##NAME) \
>> +    if (bool (Derived::*BaseFn)(CLASS*) = &RecursiveASTVisitor::Traverse##NAME)\
>> +      if (DerivedFn == BaseFn) \
>>      return getDerived().WalkUpFrom##NAME(static_cast<CLASS*>(VAR)); \
>>    EnqueueChildren = false; \
>>    return getDerived().Traverse##NAME(static_cast<CLASS*>(VAR));
>> @@ -516,7 +509,6 @@
>>    }
>>
>>  #undef DISPATCH_WALK
>> -#undef GCC_CAST
>>
>>    return true;
>>  }
>>
>>
>> _______________________________________________
>> cfe-commits mailing list
>> cfe-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits



More information about the cfe-commits mailing list