[cfe-commits] [libcxx] r170137 - in /libcxx/branches/release_32: ./ include/ src/ test/language.support/support.limits/limits/numeric.limits.members/ test/localization/locale.categories/category.ctype

2012-12-13 Thread Pawel Wodnicki
Author: pawel
Date: Thu Dec 13 10:31:31 2012
New Revision: 170137

URL: http://llvm.org/viewvc/llvm-project?rev=170137view=rev
Log:
Merging r170026: into the 3.2 release branch.

Zhang Xiongpang:  Add definitions for const data members.  Fixes 
http://llvm.org/bugs/show_bug.cgi?id=14585.

Added:

libcxx/branches/release_32/test/language.support/support.limits/limits/numeric.limits.members/const_data_members.pass.cpp
  - copied unchanged from r170026, 
libcxx/trunk/test/language.support/support.limits/limits/numeric.limits.members/const_data_members.pass.cpp
Modified:
libcxx/branches/release_32/   (props changed)
libcxx/branches/release_32/include/limits
libcxx/branches/release_32/include/locale
libcxx/branches/release_32/include/random
libcxx/branches/release_32/include/regex
libcxx/branches/release_32/src/chrono.cpp
libcxx/branches/release_32/src/locale.cpp

libcxx/branches/release_32/test/localization/locale.categories/category.ctype/ctype_base.pass.cpp

libcxx/branches/release_32/test/localization/locale.categories/category.monetary/locale.moneypunct/types.pass.cpp

libcxx/branches/release_32/test/localization/locales/locale/locale.types/locale.category/category.pass.cpp

libcxx/branches/release_32/test/numerics/rand/rand.adapt/rand.adapt.disc/values.pass.cpp

libcxx/branches/release_32/test/numerics/rand/rand.adapt/rand.adapt.shuf/values.pass.cpp

libcxx/branches/release_32/test/numerics/rand/rand.eng/rand.eng.lcong/values.pass.cpp

libcxx/branches/release_32/test/numerics/rand/rand.eng/rand.eng.mers/values.pass.cpp

libcxx/branches/release_32/test/numerics/rand/rand.eng/rand.eng.sub/values.pass.cpp

libcxx/branches/release_32/test/re/re.regex/re.regex.const/constants.pass.cpp

libcxx/branches/release_32/test/utilities/time/time.clock/time.clock.hires/consistency.pass.cpp

libcxx/branches/release_32/test/utilities/time/time.clock/time.clock.steady/consistency.pass.cpp

libcxx/branches/release_32/test/utilities/time/time.clock/time.clock.system/consistency.pass.cpp

Propchange: libcxx/branches/release_32/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Dec 13 10:31:31 2012
@@ -1 +1,2 @@
 /libcxx/branches/apple:136569-137939
+/libcxx/trunk:170026

Modified: libcxx/branches/release_32/include/limits
URL: 
http://llvm.org/viewvc/llvm-project/libcxx/branches/release_32/include/limits?rev=170137r1=170136r2=170137view=diff
==
--- libcxx/branches/release_32/include/limits (original)
+++ libcxx/branches/release_32/include/limits Thu Dec 13 10:31:31 2012
@@ -479,6 +479,53 @@
 };
 
 template class _Tp
+_LIBCPP_CONSTEXPR const bool numeric_limits_Tp::is_specialized;
+template class _Tp
+_LIBCPP_CONSTEXPR const int numeric_limits_Tp::digits;
+template class _Tp
+_LIBCPP_CONSTEXPR const int numeric_limits_Tp::digits10;
+template class _Tp
+_LIBCPP_CONSTEXPR const int numeric_limits_Tp::max_digits10;
+template class _Tp
+_LIBCPP_CONSTEXPR const bool numeric_limits_Tp::is_signed;
+template class _Tp
+_LIBCPP_CONSTEXPR const bool numeric_limits_Tp::is_integer;
+template class _Tp
+_LIBCPP_CONSTEXPR const bool numeric_limits_Tp::is_exact;
+template class _Tp
+_LIBCPP_CONSTEXPR const int numeric_limits_Tp::radix;
+template class _Tp
+_LIBCPP_CONSTEXPR const int numeric_limits_Tp::min_exponent;
+template class _Tp
+_LIBCPP_CONSTEXPR const int numeric_limits_Tp::min_exponent10;
+template class _Tp
+_LIBCPP_CONSTEXPR const int numeric_limits_Tp::max_exponent;
+template class _Tp
+_LIBCPP_CONSTEXPR const int numeric_limits_Tp::max_exponent10;
+template class _Tp
+_LIBCPP_CONSTEXPR const bool numeric_limits_Tp::has_infinity;
+template class _Tp
+_LIBCPP_CONSTEXPR const bool numeric_limits_Tp::has_quiet_NaN;
+template class _Tp
+_LIBCPP_CONSTEXPR const bool numeric_limits_Tp::has_signaling_NaN;
+template class _Tp
+_LIBCPP_CONSTEXPR const float_denorm_style numeric_limits_Tp::has_denorm;
+template class _Tp
+_LIBCPP_CONSTEXPR const bool numeric_limits_Tp::has_denorm_loss;
+template class _Tp
+_LIBCPP_CONSTEXPR const bool numeric_limits_Tp::is_iec559;
+template class _Tp
+_LIBCPP_CONSTEXPR const bool numeric_limits_Tp::is_bounded;
+template class _Tp
+_LIBCPP_CONSTEXPR const bool numeric_limits_Tp::is_modulo;
+template class _Tp
+_LIBCPP_CONSTEXPR const bool numeric_limits_Tp::traps;
+template class _Tp
+_LIBCPP_CONSTEXPR const bool numeric_limits_Tp::tinyness_before;
+template class _Tp
+_LIBCPP_CONSTEXPR const float_round_style numeric_limits_Tp::round_style;
+
+template class _Tp
 class _LIBCPP_VISIBLE numeric_limitsconst _Tp
 : private numeric_limits_Tp
 {
@@ -525,6 +572,53 @@
 };
 
 template class _Tp
+_LIBCPP_CONSTEXPR const bool numeric_limitsconst _Tp::is_specialized;
+template class 

Re: [cfe-commits] r167766 - in /cfe/trunk: include/clang/Sema/Scope.h lib/Parse/ParseStmt.cpp lib/Sema/IdentifierResolver.cpp test/CXX/basic/basic.scope/basic.scope.local/p2.cpp

2012-12-05 Thread Pawel Wodnicki

 
 On Dec 5, 2012, at 3:31 PM, Richard Smith rich...@metafoo.co.uk wrote:
 
 On Wed, Dec 5, 2012 at 8:42 AM, David Blaikie dblai...@gmail.com wrote:
 Richard - apparently this didn't make it into the 3.2 branch, could you 
 approve?

 Yes, this is important. Approved, but Doug was owner here for 3.2, and I'm 
 not sure whether Pawel is looking at the owners as listed in the branch or 
 on trunk, so you may need his approval too.
 
 Richard's approval of Sema patches is fine. (Approved regardless)
 
 

Committed revision 169451.
It is a good fix!
Thank you,
Pawel

- Doug
 
 On Tue, Nov 13, 2012 at 10:53 AM, David Blaikie dblai...@gmail.com wrote:
 On Mon, Nov 12, 2012 at 3:41 PM, Richard Smith rich...@metafoo.co.uk 
 wrote:
 On Mon, Nov 12, 2012 at 2:25 PM, David Blaikie dblai...@gmail.com wrote:
 Author: dblaikie
 Date: Mon Nov 12 16:25:41 2012
 New Revision: 167766

 URL: http://llvm.org/viewvc/llvm-project?rev=167766view=rev
 Log:
 Fix more try scoping bugs introduced by r167650.

 Introduces more clear scoping flags  flag combinations which should 
 hopefully
 be more understandable.

 Modified:
 cfe/trunk/include/clang/Sema/Scope.h
 cfe/trunk/lib/Parse/ParseStmt.cpp
 cfe/trunk/lib/Sema/IdentifierResolver.cpp
 cfe/trunk/test/CXX/basic/basic.scope/basic.scope.local/p2.cpp

 Modified: cfe/trunk/include/clang/Sema/Scope.h
 URL: 
 http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Sema/Scope.h?rev=167766r1=167765r2=167766view=diff
 ==
 --- cfe/trunk/include/clang/Sema/Scope.h (original)
 +++ cfe/trunk/include/clang/Sema/Scope.h Mon Nov 12 16:25:41 2012
 @@ -84,11 +84,18 @@
  /// TryScope - This is the scope of a C++ try statement.
  TryScope = 0x1000,

 +/// CatchScope - This is the scope of a C++ catch statement.
 +CatchScope = 0x2000,
 +
 +/// FnTryCatchScope - This is the scope for a function-level C++ try 
 or
 +/// catch scope.
 +FnTryCatchScope = 0x4000,
 +
  /// FnTryScope - This is the scope of a function-level C++ try scope.
 -FnTryScope = 0x3000,
 +FnTryScope = TryScope | FnTryCatchScope,

  /// FnCatchScope - This is the scope of a function-level C++ catch 
 scope.
 -FnCatchScope = 0x4000
 +FnCatchScope = CatchScope | FnTryCatchScope

 The other enumeration values here are all single flags, and callers |
 together the relevant ones. I think the users of this class would be
 clearer and more consistent without these two additional values.

 Also, you don't seem to be using the CatchScope flag for anything; is
 it necessary?

 Addressed both of these in r167856. I think initially the grouped
 flags made sense when it made it easier to do x  GROUP == GROUP but
 after refactoring the tests in IdentifierResolver I didn't end up
 needing to test multiple flags simultaneously.

 The CatchScope flag was just for consistency but, yes, it's unused so
 I've removed it.

 
 

___
cfe-commits mailing list
cfe-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits


Re: [cfe-commits] [llvm-branch-commits] [cfe-branch] r168830 - in /cfe/branches/release_32: ./ lib/Sema/TreeTransform.h test/SemaTemplate/instantiate-overload-candidates.cpp

2012-11-29 Thread Pawel Wodnicki
On 11/28/2012 11:09 PM, Douglas Gregor wrote:
 
 On Nov 28, 2012, at 9:09 PM, Pawel Wodnicki pa...@32bitmicro.com wrote:
 
 On 11/28/2012 10:41 PM, Douglas Gregor wrote:

 On Nov 28, 2012, at 8:08 PM, Pawel Wodnicki pa...@32bitmicro.com wrote:

 Takumi,

 Modified: 
 cfe/branches/release_32/test/SemaTemplate/instantiate-overload-candidates.cpp
 URL: 
 http://llvm.org/viewvc/llvm-project/cfe/branches/release_32/test/SemaTemplate/instantiate-overload-candidates.cpp?rev=168830r1=168829r2=168830view=diff
 ==
 --- 
 cfe/branches/release_32/test/SemaTemplate/instantiate-overload-candidates.cpp
  (original)
 +++ 
 cfe/branches/release_32/test/SemaTemplate/instantiate-overload-candidates.cpp
  Wed Nov 28 17:44:46 2012
 @@ -19,3 +19,34 @@
 void test(int x) {
  f(x, 0);
 }
 +
 +// Ensure that we instantiate an overloaded function if it's selected by
 +// overload resolution when initializing a function pointer.
 +templatetypename T struct X {
 +  static T f() { T::error; } // expected-error {{has no members}}
 +  static T f(bool);
 +};
 +void (*p)() = Xvoid().f; // expected-note {{instantiation of}}

 It has been introduced in r167918 and causes failure in release_32.


 Yeah, I am was just looking at this.

 http://bb.pgr.jp/builders/clang-3stage-x86_64-linux/builds/74
 --
 error: 'error' diagnostics expected but not seen:
 Line 26: has no members
 error: 'note' diagnostics expected but not seen:
 Line 29: instantiation of
 2 errors generated.
 --

 Pawel, I suggest you a couple of options;

 1) Remove the extra test.

 2) Apply Richard's r167918, too. Doug and Richard, how do you think?

 I think applying r167918 is the best way and I'll test it but let's wait
 till Doug and Richard had a chance to look at this.

 r167514 is small, looks good, and fixes a regression. Let's take it.

 - Doug


 Doug,
 Did you have r167918 in mind rather then r167514 ?
 Pawel
 
 Yes, sorry. Pasted the wrong revision number (but reviewed the right one!).

r167918 - Committed revision 16.
And we have diagnostics back where they are
expected.
 
   - Doug
 
 
 

Pawel
___
cfe-commits mailing list
cfe-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits


Re: [cfe-commits] r168297 - in /cfe/trunk: include/clang/Basic/DiagnosticDriverKinds.td include/clang/Driver/ToolChain.h lib/Driver/ToolChains.cpp lib/Driver/ToolChains.h lib/Driver/Tools.cpp lib/Driv

2012-11-29 Thread Pawel Wodnicki
Takumi,

 Pawel,
 
 FYI,
 
 - Revert r168416, Merging r168297 into 3.2 release branch
 - Pick up r167846 and r168297.

I have decided to just cherry pic.c @ r168297, makes
both OS X and Linux quiet when running make check-all.

Do you still have a win32 builder on http://bb.pgr.jp
building release_32 branch?

Thanks for taking time to dig into this!

Pawel

 
 They can be applied cleanly. But two failures could be seen.
 
 Failing Tests (2):
 Clang :: Driver/rewrite-legacy-objc.m
 Clang :: Driver/rewrite-objc.m
 
 I wonder I have no idea in r168419, Merging r168063 into 3.2 release branch,
 whether to be fixed or reverted in release_32.
 Chad, any idea?
 
 ...Takumi
 
 2012/11/29 Pawel Wodnicki pa...@32bitmicro.com:
 Takumi,

 Pawel, it seems test/Driver/pic.c has not been fine on the release_32.

 Could you merge r168297 again? Or may I update release_32 instead?

 I know it is a bit irritating but I am still looking at the
 test/Driver/pic.c trying to figure out what went wrong.


 FYI, with git,

 a) git cherry-pick r168297 works.

 b) git revert r168297  git cherry-pick r168297 works, too. :D

 Ok so r168297 works but we also need r167846 and I need to check
 if it breaks the test.


 (I have no idea about svn...)

 Can you commit to using git?


 ...Takumi

 Pawel


 2012/11/27 Chad Rosier mcros...@apple.com:

 On Nov 26, 2012, at 10:50 AM, jahanian fjahan...@apple.com wrote:


 On Nov 26, 2012, at 9:58 AM, Chad Rosier mcros...@apple.com wrote:

 Fariborz,
 Due to another commit (i.e., r168297), it was necessary to merge your 
 commit r168063 into the current release branch.  Can you please confirm 
 that this is something safe to pull into the branch?  Also, would you 
 mind looking at r168419 (i.e., the merge of r168063) to make sure that 
 the merge looks clean?

 Chad,
 As we talked off line, merge of my r168063 should be ok.

 Great, thanks Fariborz.

 - Fariborz



 ___
 cfe-commits mailing list
 cfe-commits@cs.uiuc.edu
 http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits



 
 

___
cfe-commits mailing list
cfe-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits


Re: [cfe-commits] r168269 - in /cfe/trunk: lib/Lex/Lexer.cpp test/Lexer/eof-char.c test/Lexer/eof-file.c test/Lexer/eof-string.c

2012-11-28 Thread Pawel Wodnicki

 
 On Nov 17, 2012, at 12:42 PM, Nico Weber tha...@chromium.org wrote:
 
 Doug, Pawel marked PR14369 as blocker for the 3.2 release. Is it ok to
 merge this? (And if so, how do I do that?)
 
 Approved. You can merge the patch into the release_32 branch in Subversion.
 
   - Doug



 On Nov 17, 2012, at 12:42 PM, Nico Weber tha...@chromium.org wrote:

 Doug, Pawel marked PR14369 as blocker for the 3.2 release. Is it ok to
 merge this? (And if so, how do I do that?)

 Approved. You can merge the patch into the release_32 branch in
Subversion.

 - Doug


Committed revision 168808.

There was a bit of a hiccup merging r168269  into lib/Lex/Lexer.cpp, I
got 1 conflict but seems to be resolved cleanly.

Pawel

 
 On Sat, Nov 17, 2012 at 12:25 PM, Nico Weber nicolaswe...@gmx.de wrote:
 Author: nico
 Date: Sat Nov 17 14:25:54 2012
 New Revision: 168269

 URL: http://llvm.org/viewvc/llvm-project?rev=168269view=rev
 Log:
 Fix crash on end-of-file after \ in a char literal, fixes PR14369.

 This makes LexCharConstant() look more like LexStringLiteral(), which 
 doesn't
 have this bug. Add tests for eof after \ for several other cases.


 Added:
cfe/trunk/test/Lexer/eof-char.c
cfe/trunk/test/Lexer/eof-file.c
cfe/trunk/test/Lexer/eof-string.c
 Modified:
cfe/trunk/lib/Lex/Lexer.cpp

 Modified: cfe/trunk/lib/Lex/Lexer.cpp
 URL: 
 http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Lex/Lexer.cpp?rev=168269r1=168268r2=168269view=diff
 ==
 --- cfe/trunk/lib/Lex/Lexer.cpp (original)
 +++ cfe/trunk/lib/Lex/Lexer.cpp Sat Nov 17 14:25:54 2012
 @@ -1823,16 +1823,18 @@

   while (C != '\'') {
 // Skip escaped characters.
 -if (C == '\\') {
 -  // Skip the escaped character.
 -  getAndAdvanceChar(CurPtr, Result);
 -} else if (C == '\n' || C == '\r' || // Newline.
 -   (C == 0  CurPtr-1 == BufferEnd)) {  // End of file.
 +if (C == '\\')
 +  C = getAndAdvanceChar(CurPtr, Result);
 +
 +if (C == '\n' || C == '\r' || // Newline.
 +(C == 0  CurPtr-1 == BufferEnd)) {  // End of file.
   if (!isLexingRawMode()  !LangOpts.AsmPreprocessor)
 Diag(BufferPtr, diag::ext_unterminated_char);
   FormTokenWithChars(Result, CurPtr-1, tok::unknown);
   return;
 -} else if (C == 0) {
 +}
 +
 +if (C == 0) {
   if (isCodeCompletionPoint(CurPtr-1)) {
 PP-CodeCompleteNaturalLanguage();
 FormTokenWithChars(Result, CurPtr-1, tok::unknown);

 Added: cfe/trunk/test/Lexer/eof-char.c
 URL: 
 http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Lexer/eof-char.c?rev=168269view=auto
 ==
 --- cfe/trunk/test/Lexer/eof-char.c (added)
 +++ cfe/trunk/test/Lexer/eof-char.c Sat Nov 17 14:25:54 2012
 @@ -0,0 +1,8 @@
 +// RUN: %clang_cc1 %s -verify -fsyntax-only
 +// vim: set binary noeol:
 +
 +// This file intentionally ends without a \n on the last line.  Make sure 
 your
 +// editor doesn't add one.
 +
 +// expected-warning@+1{{missing terminating ' character}} 
 expected-error@+1{{expected expression}} expected-error@+1{{expected ';'}}
 +char c = '\
 \ No newline at end of file

 Added: cfe/trunk/test/Lexer/eof-file.c
 URL: 
 http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Lexer/eof-file.c?rev=168269view=auto
 ==
 --- cfe/trunk/test/Lexer/eof-file.c (added)
 +++ cfe/trunk/test/Lexer/eof-file.c Sat Nov 17 14:25:54 2012
 @@ -0,0 +1,8 @@
 +// RUN: %clang_cc1 %s -verify -fsyntax-only
 +// vim: set binary noeol:
 +
 +// This file intentionally ends without a \n on the last line.  Make sure 
 your
 +// editor doesn't add one.
 +
 +// expected-error@+1{{expected expression}} expected-error@+1{{expected 
 ';'}}
 +char c = \
 \ No newline at end of file

 Added: cfe/trunk/test/Lexer/eof-string.c
 URL: 
 http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Lexer/eof-string.c?rev=168269view=auto
 ==
 --- cfe/trunk/test/Lexer/eof-string.c (added)
 +++ cfe/trunk/test/Lexer/eof-string.c Sat Nov 17 14:25:54 2012
 @@ -0,0 +1,8 @@
 +// RUN: %clang_cc1 %s -verify -fsyntax-only
 +// vim: set binary noeol:
 +
 +// This file intentionally ends without a \n on the last line.  Make sure 
 your
 +// editor doesn't add one.
 +
 +// expected-warning@+1{{missing terminating '' character}} 
 expected-error@+1{{expected expression}} expected-error@+1{{expected ';'}}
 +char c = \
 \ No newline at end of file


 ___
 cfe-commits mailing list
 cfe-commits@cs.uiuc.edu
 http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
 
 
 

___
cfe-commits mailing list
cfe-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits


Re: [cfe-commits] r168674 - in /cfe/trunk: include/clang/AST/ASTContext.h include/clang/Basic/Builtins.def include/clang/Basic/TargetInfo.h lib/AST/ASTContext.cpp lib/Basic/TargetInfo.cpp lib/Basic/Ta

2012-11-28 Thread Pawel Wodnicki
 
 On Nov 27, 2012, at 3:45 PM, Eli Friedman eli.fried...@gmail.com wrote:
 
 On Mon, Nov 26, 2012 at 6:58 PM, Eli Friedman eli.fried...@gmail.com wrote:
 Author: efriedma
 Date: Mon Nov 26 20:58:24 2012
 New Revision: 168674

 URL: http://llvm.org/viewvc/llvm-project?rev=168674view=rev
 Log:
 Fix the definition of the vfork() builtin on Haiku.  PR14378.


 Modified:
cfe/trunk/include/clang/AST/ASTContext.h
cfe/trunk/include/clang/Basic/Builtins.def
cfe/trunk/include/clang/Basic/TargetInfo.h
cfe/trunk/lib/AST/ASTContext.cpp
cfe/trunk/lib/Basic/TargetInfo.cpp
cfe/trunk/lib/Basic/Targets.cpp

 A request came from http://llvm.org/bugs/show_bug.cgi?id=14378#c3 to
 pull this into 3.2.

 I think it's low-risk (and I won't comment on the reward).
 
 Definitely low-risk, and important for that community.
 
 Approved.

Committed revision 168819.

 
   - Doug
 
 

Pawel

___
cfe-commits mailing list
cfe-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits


Re: [cfe-commits] r168303 - in /cfe/trunk/test: Analysis/malloc.c SemaObjCXX/pointer-to-objc-pointer-conv.mm

2012-11-28 Thread Pawel Wodnicki
 On Nov 28, 2012, at 3:47 AM, NAKAMURA Takumi geek4ci...@gmail.com wrote:
 John, I propose you please to approve r168303 for release_32.

 It's a suppression to two tests for Windows x64 (and possibly
 mingw-w64 x64) to pass clang tests.
 See also; http://llvm.org/bugs/show_bug.cgi?id=8833

 Confirmed with x64|MinSizeRel on visual studio 10.
 
 Yes, this is fine.  I don't particularly see a need to take Jordan's patch 
 updating the test instead, but if you'd rather do that, it's probably the 
 right thing.
 
 John.
 
 

Committed revision 168823.

Pawel

___
cfe-commits mailing list
cfe-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits


Re: [cfe-commits] r168818 - in /cfe/trunk: lib/Sema/TreeTransform.h test/SemaTemplate/instantiate-overload-candidates.cpp

2012-11-28 Thread Pawel Wodnicki

 On Nov 28, 2012, at 2:09 PM, Richard Smith rich...@metafoo.co.uk wrote:
 
 This fixes release blocker PR13098. Doug, OK for 3.2?
 
 This is very important. Approved.

Committed revision 168830.

Pawel

 
   - Doug
 
 On Wed, Nov 28, 2012 at 1:47 PM, Richard Smith richard-l...@metafoo.co.uk 
 wrote:
 Author: rsmith
 Date: Wed Nov 28 15:47:39 2012
 New Revision: 168818

 URL: http://llvm.org/viewvc/llvm-project?rev=168818view=rev
 Log:
 PR13098: If we're instantiating an overloaded binary operator and we could
 determine which member function would be the callee from within the template
 definition, don't pass that function as a non-member function to
 CreateOverloadedBinOp. Instead, just rely on it to select the member function
 for itself.

 Modified:
 cfe/trunk/lib/Sema/TreeTransform.h
 cfe/trunk/test/SemaTemplate/instantiate-overload-candidates.cpp

 Modified: cfe/trunk/lib/Sema/TreeTransform.h
 URL: 
 http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/TreeTransform.h?rev=168818r1=168817r2=168818view=diff
 ==
 --- cfe/trunk/lib/Sema/TreeTransform.h (original)
 +++ cfe/trunk/lib/Sema/TreeTransform.h Wed Nov 28 15:47:39 2012
 @@ -9180,7 +9180,12 @@
  // IsAcceptableNonMemberOperatorCandidate for each of these?
  Functions.append(ULE-decls_begin(), ULE-decls_end());
} else {
 -Functions.addDecl(castDeclRefExpr(Callee)-getDecl());
 +// If we've resolved this to a particular non-member function, just call
 +// that function. If we resolved it to a member function,
 +// CreateOverloaded* will find that function for us.
 +NamedDecl *ND = castDeclRefExpr(Callee)-getDecl();
 +if (!isaCXXMethodDecl(ND))
 +  Functions.addDecl(ND);
}

// Add any functions found via argument-dependent lookup.

 Modified: cfe/trunk/test/SemaTemplate/instantiate-overload-candidates.cpp
 URL: 
 http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaTemplate/instantiate-overload-candidates.cpp?rev=168818r1=168817r2=168818view=diff
 ==
 --- cfe/trunk/test/SemaTemplate/instantiate-overload-candidates.cpp 
 (original)
 +++ cfe/trunk/test/SemaTemplate/instantiate-overload-candidates.cpp Wed Nov 
 28 15:47:39 2012
 @@ -27,3 +27,25 @@
static T f(bool);
  };
  void (*p)() = Xvoid().f; // expected-note {{instantiation of}}
 +
 +namespace PR13098 {
 +  struct A {
 +A(int);
 +void operator++() {}
 +void operator+(int) {}
 +void operator+(A) {}
 +void operator[](int) {}
 +void operator[](A) {}
 +  };
 +  struct B : A {
 +using A::operator++;
 +using A::operator+;
 +using A::operator[];
 +  };
 +  templatetypename T void f(B b) {
 +++b;
 +b + 0;
 +b[0];
 +  }
 +  template void fvoid(B);
 +}


 ___
 cfe-commits mailing list
 cfe-commits@cs.uiuc.edu
 http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

 
 

___
cfe-commits mailing list
cfe-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits


Re: [cfe-commits] [llvm-branch-commits] [cfe-branch] r168830 - in /cfe/branches/release_32: ./ lib/Sema/TreeTransform.h test/SemaTemplate/instantiate-overload-candidates.cpp

2012-11-28 Thread Pawel Wodnicki
Takumi,

 Modified: 
 cfe/branches/release_32/test/SemaTemplate/instantiate-overload-candidates.cpp
 URL: 
 http://llvm.org/viewvc/llvm-project/cfe/branches/release_32/test/SemaTemplate/instantiate-overload-candidates.cpp?rev=168830r1=168829r2=168830view=diff
 ==
 --- 
 cfe/branches/release_32/test/SemaTemplate/instantiate-overload-candidates.cpp
  (original)
 +++ 
 cfe/branches/release_32/test/SemaTemplate/instantiate-overload-candidates.cpp
  Wed Nov 28 17:44:46 2012
 @@ -19,3 +19,34 @@
  void test(int x) {
f(x, 0);
  }
 +
 +// Ensure that we instantiate an overloaded function if it's selected by
 +// overload resolution when initializing a function pointer.
 +templatetypename T struct X {
 +  static T f() { T::error; } // expected-error {{has no members}}
 +  static T f(bool);
 +};
 +void (*p)() = Xvoid().f; // expected-note {{instantiation of}}
 
 It has been introduced in r167918 and causes failure in release_32.
 

Yeah, I am was just looking at this.

 http://bb.pgr.jp/builders/clang-3stage-x86_64-linux/builds/74
 --
 error: 'error' diagnostics expected but not seen:
   Line 26: has no members
 error: 'note' diagnostics expected but not seen:
   Line 29: instantiation of
 2 errors generated.
 --
 
 Pawel, I suggest you a couple of options;
 
 1) Remove the extra test.
 
 2) Apply Richard's r167918, too. Doug and Richard, how do you think?

I think applying r167918 is the best way and I'll test it but let's wait
till Doug and Richard had a chance to look at this.

 
 
 ...Takumi
 
 

Pawel

___
cfe-commits mailing list
cfe-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits


Re: [cfe-commits] r168297 - in /cfe/trunk: include/clang/Basic/DiagnosticDriverKinds.td include/clang/Driver/ToolChain.h lib/Driver/ToolChains.cpp lib/Driver/ToolChains.h lib/Driver/Tools.cpp lib/Driv

2012-11-28 Thread Pawel Wodnicki
Takumi,

 Pawel, it seems test/Driver/pic.c has not been fine on the release_32.
 
 Could you merge r168297 again? Or may I update release_32 instead?

I know it is a bit irritating but I am still looking at the
test/Driver/pic.c trying to figure out what went wrong.

 
 FYI, with git,
 
 a) git cherry-pick r168297 works.
 
 b) git revert r168297  git cherry-pick r168297 works, too. :D

Ok so r168297 works but we also need r167846 and I need to check
if it breaks the test.

 
 (I have no idea about svn...)

Can you commit to using git?

 
 ...Takumi

Pawel

 
 2012/11/27 Chad Rosier mcros...@apple.com:

 On Nov 26, 2012, at 10:50 AM, jahanian fjahan...@apple.com wrote:


 On Nov 26, 2012, at 9:58 AM, Chad Rosier mcros...@apple.com wrote:

 Fariborz,
 Due to another commit (i.e., r168297), it was necessary to merge your 
 commit r168063 into the current release branch.  Can you please confirm 
 that this is something safe to pull into the branch?  Also, would you mind 
 looking at r168419 (i.e., the merge of r168063) to make sure that the 
 merge looks clean?

 Chad,
 As we talked off line, merge of my r168063 should be ok.

 Great, thanks Fariborz.

 - Fariborz



 ___
 cfe-commits mailing list
 cfe-commits@cs.uiuc.edu
 http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
 
 

___
cfe-commits mailing list
cfe-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits


Re: [cfe-commits] [llvm-branch-commits] [cfe-branch] r168830 - in /cfe/branches/release_32: ./ lib/Sema/TreeTransform.h test/SemaTemplate/instantiate-overload-candidates.cpp

2012-11-28 Thread Pawel Wodnicki
On 11/28/2012 10:41 PM, Douglas Gregor wrote:
 
 On Nov 28, 2012, at 8:08 PM, Pawel Wodnicki pa...@32bitmicro.com wrote:
 
 Takumi,

 Modified: 
 cfe/branches/release_32/test/SemaTemplate/instantiate-overload-candidates.cpp
 URL: 
 http://llvm.org/viewvc/llvm-project/cfe/branches/release_32/test/SemaTemplate/instantiate-overload-candidates.cpp?rev=168830r1=168829r2=168830view=diff
 ==
 --- 
 cfe/branches/release_32/test/SemaTemplate/instantiate-overload-candidates.cpp
  (original)
 +++ 
 cfe/branches/release_32/test/SemaTemplate/instantiate-overload-candidates.cpp
  Wed Nov 28 17:44:46 2012
 @@ -19,3 +19,34 @@
 void test(int x) {
   f(x, 0);
 }
 +
 +// Ensure that we instantiate an overloaded function if it's selected by
 +// overload resolution when initializing a function pointer.
 +templatetypename T struct X {
 +  static T f() { T::error; } // expected-error {{has no members}}
 +  static T f(bool);
 +};
 +void (*p)() = Xvoid().f; // expected-note {{instantiation of}}

 It has been introduced in r167918 and causes failure in release_32.


 Yeah, I am was just looking at this.

 http://bb.pgr.jp/builders/clang-3stage-x86_64-linux/builds/74
 --
 error: 'error' diagnostics expected but not seen:
  Line 26: has no members
 error: 'note' diagnostics expected but not seen:
  Line 29: instantiation of
 2 errors generated.
 --

 Pawel, I suggest you a couple of options;

 1) Remove the extra test.

 2) Apply Richard's r167918, too. Doug and Richard, how do you think?

 I think applying r167918 is the best way and I'll test it but let's wait
 till Doug and Richard had a chance to look at this.
 
 r167514 is small, looks good, and fixes a regression. Let's take it.
 
   - Doug
 
 
Doug,
Did you have r167918 in mind rather then r167514 ?
Pawel

___
cfe-commits mailing list
cfe-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits


Re: [cfe-commits] r168277 - in /cfe/trunk: include/clang/Basic/DiagnosticCommentKinds.td lib/AST/CommentParser.cpp test/Sema/warn-documentation.cpp

2012-11-27 Thread Pawel Wodnicki
Hi,

 
 On Nov 17, 2012, at 4:34 PM, Dmitri Gribenko griboz...@gmail.com wrote:
 
 On Sun, Nov 18, 2012 at 2:30 AM, Dmitri Gribenko griboz...@gmail.com wrote:
 Author: gribozavr
 Date: Sat Nov 17 18:30:31 2012
 New Revision: 168277

 URL: http://llvm.org/viewvc/llvm-project?rev=168277view=rev
 Log:
 Documentation parsing: propely handle a lone '\endverbatim' and emit a 
 warning.

 We actually used to assert on this.

 Thanks to NAKAMURA Takumi for noticing this!

 Hi Doug,

 This fixes a crash, so I think it should go into 3.2 release.  I need
 your approval for this.  Could you please take a look?
 
 r168277 and r168278 are approved for the release branch.

r168277 - Committed revision 168730.
r168278 - Committed revision 168732.

 
   - Doug
 
 

Pawel

___
cfe-commits mailing list
cfe-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits


[cfe-commits] [libcxxabi] r167867 - /libcxxabi/branches/release_32/trunk/

2012-11-13 Thread Pawel Wodnicki
Author: pawel
Date: Tue Nov 13 13:42:56 2012
New Revision: 167867

URL: http://llvm.org/viewvc/llvm-project?rev=167867view=rev
Log:
3.2 release branch r167707

Added:
libcxxabi/branches/release_32/trunk/
  - copied from r167700, libcxxabi/trunk/

___
cfe-commits mailing list
cfe-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits


[cfe-commits] [clang-tools-extra] r167713 - /clang-tools-extra/branches/release_32/

2012-11-11 Thread Pawel Wodnicki
Author: pawel
Date: Sun Nov 11 22:30:34 2012
New Revision: 167713

URL: http://llvm.org/viewvc/llvm-project?rev=167713view=rev
Log:
3.2 release branch r167713

Added:
clang-tools-extra/branches/release_32/
  - copied from r167712, clang-tools-extra/trunk/

___
cfe-commits mailing list
cfe-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits


[cfe-commits] [libcxx] r167706 - /libcxx/branches/release_32/

2012-11-11 Thread Pawel Wodnicki
Author: pawel
Date: Sun Nov 11 22:17:58 2012
New Revision: 167706

URL: http://llvm.org/viewvc/llvm-project?rev=167706view=rev
Log:
3.2 release branch r167706

Added:
libcxx/branches/release_32/   (props changed)
  - copied from r167705, libcxx/trunk/

Propchange: libcxx/branches/release_32/
--
svn:mergeinfo = /libcxx/branches/apple:136569-137939


___
cfe-commits mailing list
cfe-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits


[cfe-commits] [libcxxabi] r167707 - /libcxxabi/branches/release_32/

2012-11-11 Thread Pawel Wodnicki
Author: pawel
Date: Sun Nov 11 22:19:18 2012
New Revision: 167707

URL: http://llvm.org/viewvc/llvm-project?rev=167707view=rev
Log:
3.2 release branch r167707

Added:
libcxxabi/branches/release_32/
  - copied from r167706, libcxxabi/trunk/

___
cfe-commits mailing list
cfe-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits