On Jun 19, 2012, at 6:10 PM, Argyrios Kyrtzidis wrote:
> Author: akirtzidis
> Date: Tue Jun 19 20:10:40 2012
> New Revision: 158781
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=158781&view=rev
> Log:
> [arcmt] When migrating to ARC disable -Werror so as to only block migration
> for "hard" ARC errors, not warnings.
> 
> rdar://11691437
> 
> Modified:
>    cfe/trunk/lib/ARCMigrate/ARCMT.cpp
>    cfe/trunk/test/ARCMT/checking.m
> 
> Modified: cfe/trunk/lib/ARCMigrate/ARCMT.cpp
> URL: 
> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/ARCMigrate/ARCMT.cpp?rev=158781&r1=158780&r2=158781&view=diff
> ==============================================================================
> --- cfe/trunk/lib/ARCMigrate/ARCMT.cpp (original)
> +++ cfe/trunk/lib/ARCMigrate/ARCMT.cpp Tue Jun 19 20:10:40 2012
> @@ -195,8 +195,18 @@
>   CInvok->getLangOpts()->ObjCAutoRefCount = true;
>   CInvok->getLangOpts()->setGC(LangOptions::NonGC);
>   CInvok->getDiagnosticOpts().ErrorLimit = 0;
> -  CInvok->getDiagnosticOpts().Warnings.push_back(
> -                                            
> "error=arc-unsafe-retained-assign");
> +
> +  // Ignore -Werror flags when migrating.
> +  std::vector<std::string> WarnOpts;
> +  for (std::vector<std::string>::iterator
> +         I = CInvok->getDiagnosticOpts().Warnings.begin(),
> +         E = CInvok->getDiagnosticOpts().Warnings.end(); I != E; ++I) {
> +    if (!StringRef(*I).startswith("error"))
> +      WarnOpts.push_back(*I);
> +  }
> +  WarnOpts.push_back("error=arc-unsafe-retained-assign");
> +  CInvok->getDiagnosticOpts().Warnings = WarnOpts;
> +

You can use llvm_move(WarnOpts) here.

John.
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to