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

Douglas Gregor dgregor at apple.com
Wed Jul 18 19:56:24 PDT 2012



Sent from my iPhone

On Jul 18, 2012, at 7:30 PM, NAKAMURA Takumi <geek4civic at gmail.com> wrote:

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

Okay, thanks for looking into this!

> 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