Re: r292497 - [Sema] Fix PR28181 by avoiding calling BuildOverloadedBinOp in C mode

2017-01-23 Thread Hans Wennborg via cfe-commits
On Thu, Jan 19, 2017 at 6:25 PM, Richard Smith  wrote:
> On 19 January 2017 at 15:52, Hans Wennborg  wrote:
>>
>> Richard, what do you think?
>
>
> Yes, let's merge this.

r292808.

Cheers,
Hans

>> On Thu, Jan 19, 2017 at 9:34 AM, Alex L  wrote:
>> > Hi Hans,
>> >
>> > Would it be possible to merge this for 4.0?
>> >
>> > Cheers,
>> > Alex
>> >
>> > On 19 January 2017 at 17:17, Alex Lorenz via cfe-commits
>> >  wrote:
>> >>
>> >> Author: arphaman
>> >> Date: Thu Jan 19 11:17:57 2017
>> >> New Revision: 292497
>> >>
>> >> URL: http://llvm.org/viewvc/llvm-project?rev=292497=rev
>> >> Log:
>> >> [Sema] Fix PR28181 by avoiding calling BuildOverloadedBinOp in C mode
>> >>
>> >> rdar://28532840
>> >>
>> >> Differential Revision: https://reviews.llvm.org/D25213
>> >>
>> >> Added:
>> >> cfe/trunk/test/Sema/PR28181.c
>> >> Modified:
>> >> cfe/trunk/lib/Sema/SemaExpr.cpp
>> >>
>> >> Modified: cfe/trunk/lib/Sema/SemaExpr.cpp
>> >> URL:
>> >>
>> >> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaExpr.cpp?rev=292497=292496=292497=diff
>> >>
>> >>
>> >> ==
>> >> --- cfe/trunk/lib/Sema/SemaExpr.cpp (original)
>> >> +++ cfe/trunk/lib/Sema/SemaExpr.cpp Thu Jan 19 11:17:57 2017
>> >> @@ -11505,7 +11505,7 @@ ExprResult Sema::BuildBinOp(Scope *S, So
>> >>return checkPseudoObjectAssignment(S, OpLoc, Opc, LHSExpr,
>> >> RHSExpr);
>> >>
>> >>  // Don't resolve overloads if the other type is overloadable.
>> >> -if (pty->getKind() == BuiltinType::Overload) {
>> >> +if (getLangOpts().CPlusPlus && pty->getKind() ==
>> >> BuiltinType::Overload) {
>> >>// We can't actually test that if we still have a placeholder,
>> >>// though.  Fortunately, none of the exceptions we see in that
>> >>// code below are valid when the LHS is an overload set.  Note
>> >> @@ -11530,17 +11530,16 @@ ExprResult Sema::BuildBinOp(Scope *S, So
>> >>  // An overload in the RHS can potentially be resolved by the type
>> >>  // being assigned to.
>> >>  if (Opc == BO_Assign && pty->getKind() == BuiltinType::Overload) {
>> >> -  if (LHSExpr->isTypeDependent() || RHSExpr->isTypeDependent())
>> >> -return BuildOverloadedBinOp(*this, S, OpLoc, Opc, LHSExpr,
>> >> RHSExpr);
>> >> -
>> >> -  if (LHSExpr->getType()->isOverloadableType())
>> >> +  if (getLangOpts().CPlusPlus &&
>> >> +  (LHSExpr->isTypeDependent() || RHSExpr->isTypeDependent() ||
>> >> +   LHSExpr->getType()->isOverloadableType()))
>> >>  return BuildOverloadedBinOp(*this, S, OpLoc, Opc, LHSExpr,
>> >> RHSExpr);
>> >>
>> >>return CreateBuiltinBinOp(OpLoc, Opc, LHSExpr, RHSExpr);
>> >>  }
>> >>
>> >>  // Don't resolve overloads if the other type is overloadable.
>> >> -if (pty->getKind() == BuiltinType::Overload &&
>> >> +if (getLangOpts().CPlusPlus && pty->getKind() ==
>> >> BuiltinType::Overload &&
>> >>  LHSExpr->getType()->isOverloadableType())
>> >>return BuildOverloadedBinOp(*this, S, OpLoc, Opc, LHSExpr,
>> >> RHSExpr);
>> >>
>> >>
>> >> Added: cfe/trunk/test/Sema/PR28181.c
>> >> URL:
>> >>
>> >> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/PR28181.c?rev=292497=auto
>> >>
>> >>
>> >> ==
>> >> --- cfe/trunk/test/Sema/PR28181.c (added)
>> >> +++ cfe/trunk/test/Sema/PR28181.c Thu Jan 19 11:17:57 2017
>> >> @@ -0,0 +1,13 @@
>> >> +// RUN: %clang_cc1 -fsyntax-only -verify %s
>> >> +
>> >> +struct spinlock_t {
>> >> +  int lock;
>> >> +} audit_skb_queue;
>> >> +
>> >> +void fn1() {
>> >> +  audit_skb_queue = (lock); // expected-error {{use of undeclared
>> >> identifier 'lock'; did you mean 'long'?}}
>> >> +}   // expected-error@-1 {{assigning to
>> >> 'struct
>> >> spinlock_t' from incompatible type ''}}
>> >> +
>> >> +void fn2() {
>> >> +  audit_skb_queue + (lock); // expected-error {{use of undeclared
>> >> identifier 'lock'; did you mean 'long'?}}
>> >> +}   // expected-error@-1 {{reference to
>> >> overloaded function could not be resolved; did you mean to call it?}}
>> >>
>> >>
>> >> ___
>> >> cfe-commits mailing list
>> >> cfe-commits@lists.llvm.org
>> >> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
>> >
>> >
>
>
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


Re: r292497 - [Sema] Fix PR28181 by avoiding calling BuildOverloadedBinOp in C mode

2017-01-19 Thread Richard Smith via cfe-commits
On 19 January 2017 at 15:52, Hans Wennborg  wrote:

> Richard, what do you think?


Yes, let's merge this.


> On Thu, Jan 19, 2017 at 9:34 AM, Alex L  wrote:
> > Hi Hans,
> >
> > Would it be possible to merge this for 4.0?
> >
> > Cheers,
> > Alex
> >
> > On 19 January 2017 at 17:17, Alex Lorenz via cfe-commits
> >  wrote:
> >>
> >> Author: arphaman
> >> Date: Thu Jan 19 11:17:57 2017
> >> New Revision: 292497
> >>
> >> URL: http://llvm.org/viewvc/llvm-project?rev=292497=rev
> >> Log:
> >> [Sema] Fix PR28181 by avoiding calling BuildOverloadedBinOp in C mode
> >>
> >> rdar://28532840
> >>
> >> Differential Revision: https://reviews.llvm.org/D25213
> >>
> >> Added:
> >> cfe/trunk/test/Sema/PR28181.c
> >> Modified:
> >> cfe/trunk/lib/Sema/SemaExpr.cpp
> >>
> >> Modified: cfe/trunk/lib/Sema/SemaExpr.cpp
> >> URL:
> >> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/
> SemaExpr.cpp?rev=292497=292496=292497=diff
> >>
> >> 
> ==
> >> --- cfe/trunk/lib/Sema/SemaExpr.cpp (original)
> >> +++ cfe/trunk/lib/Sema/SemaExpr.cpp Thu Jan 19 11:17:57 2017
> >> @@ -11505,7 +11505,7 @@ ExprResult Sema::BuildBinOp(Scope *S, So
> >>return checkPseudoObjectAssignment(S, OpLoc, Opc, LHSExpr,
> >> RHSExpr);
> >>
> >>  // Don't resolve overloads if the other type is overloadable.
> >> -if (pty->getKind() == BuiltinType::Overload) {
> >> +if (getLangOpts().CPlusPlus && pty->getKind() ==
> >> BuiltinType::Overload) {
> >>// We can't actually test that if we still have a placeholder,
> >>// though.  Fortunately, none of the exceptions we see in that
> >>// code below are valid when the LHS is an overload set.  Note
> >> @@ -11530,17 +11530,16 @@ ExprResult Sema::BuildBinOp(Scope *S, So
> >>  // An overload in the RHS can potentially be resolved by the type
> >>  // being assigned to.
> >>  if (Opc == BO_Assign && pty->getKind() == BuiltinType::Overload) {
> >> -  if (LHSExpr->isTypeDependent() || RHSExpr->isTypeDependent())
> >> -return BuildOverloadedBinOp(*this, S, OpLoc, Opc, LHSExpr,
> >> RHSExpr);
> >> -
> >> -  if (LHSExpr->getType()->isOverloadableType())
> >> +  if (getLangOpts().CPlusPlus &&
> >> +  (LHSExpr->isTypeDependent() || RHSExpr->isTypeDependent() ||
> >> +   LHSExpr->getType()->isOverloadableType()))
> >>  return BuildOverloadedBinOp(*this, S, OpLoc, Opc, LHSExpr,
> >> RHSExpr);
> >>
> >>return CreateBuiltinBinOp(OpLoc, Opc, LHSExpr, RHSExpr);
> >>  }
> >>
> >>  // Don't resolve overloads if the other type is overloadable.
> >> -if (pty->getKind() == BuiltinType::Overload &&
> >> +if (getLangOpts().CPlusPlus && pty->getKind() ==
> >> BuiltinType::Overload &&
> >>  LHSExpr->getType()->isOverloadableType())
> >>return BuildOverloadedBinOp(*this, S, OpLoc, Opc, LHSExpr,
> >> RHSExpr);
> >>
> >>
> >> Added: cfe/trunk/test/Sema/PR28181.c
> >> URL:
> >> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/
> PR28181.c?rev=292497=auto
> >>
> >> 
> ==
> >> --- cfe/trunk/test/Sema/PR28181.c (added)
> >> +++ cfe/trunk/test/Sema/PR28181.c Thu Jan 19 11:17:57 2017
> >> @@ -0,0 +1,13 @@
> >> +// RUN: %clang_cc1 -fsyntax-only -verify %s
> >> +
> >> +struct spinlock_t {
> >> +  int lock;
> >> +} audit_skb_queue;
> >> +
> >> +void fn1() {
> >> +  audit_skb_queue = (lock); // expected-error {{use of undeclared
> >> identifier 'lock'; did you mean 'long'?}}
> >> +}   // expected-error@-1 {{assigning to
> 'struct
> >> spinlock_t' from incompatible type ''}}
> >> +
> >> +void fn2() {
> >> +  audit_skb_queue + (lock); // expected-error {{use of undeclared
> >> identifier 'lock'; did you mean 'long'?}}
> >> +}   // expected-error@-1 {{reference to
> >> overloaded function could not be resolved; did you mean to call it?}}
> >>
> >>
> >> ___
> >> cfe-commits mailing list
> >> cfe-commits@lists.llvm.org
> >> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
> >
> >
>
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


Re: r292497 - [Sema] Fix PR28181 by avoiding calling BuildOverloadedBinOp in C mode

2017-01-19 Thread Hans Wennborg via cfe-commits
Richard, what do you think?

On Thu, Jan 19, 2017 at 9:34 AM, Alex L  wrote:
> Hi Hans,
>
> Would it be possible to merge this for 4.0?
>
> Cheers,
> Alex
>
> On 19 January 2017 at 17:17, Alex Lorenz via cfe-commits
>  wrote:
>>
>> Author: arphaman
>> Date: Thu Jan 19 11:17:57 2017
>> New Revision: 292497
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=292497=rev
>> Log:
>> [Sema] Fix PR28181 by avoiding calling BuildOverloadedBinOp in C mode
>>
>> rdar://28532840
>>
>> Differential Revision: https://reviews.llvm.org/D25213
>>
>> Added:
>> cfe/trunk/test/Sema/PR28181.c
>> Modified:
>> cfe/trunk/lib/Sema/SemaExpr.cpp
>>
>> Modified: cfe/trunk/lib/Sema/SemaExpr.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaExpr.cpp?rev=292497=292496=292497=diff
>>
>> ==
>> --- cfe/trunk/lib/Sema/SemaExpr.cpp (original)
>> +++ cfe/trunk/lib/Sema/SemaExpr.cpp Thu Jan 19 11:17:57 2017
>> @@ -11505,7 +11505,7 @@ ExprResult Sema::BuildBinOp(Scope *S, So
>>return checkPseudoObjectAssignment(S, OpLoc, Opc, LHSExpr,
>> RHSExpr);
>>
>>  // Don't resolve overloads if the other type is overloadable.
>> -if (pty->getKind() == BuiltinType::Overload) {
>> +if (getLangOpts().CPlusPlus && pty->getKind() ==
>> BuiltinType::Overload) {
>>// We can't actually test that if we still have a placeholder,
>>// though.  Fortunately, none of the exceptions we see in that
>>// code below are valid when the LHS is an overload set.  Note
>> @@ -11530,17 +11530,16 @@ ExprResult Sema::BuildBinOp(Scope *S, So
>>  // An overload in the RHS can potentially be resolved by the type
>>  // being assigned to.
>>  if (Opc == BO_Assign && pty->getKind() == BuiltinType::Overload) {
>> -  if (LHSExpr->isTypeDependent() || RHSExpr->isTypeDependent())
>> -return BuildOverloadedBinOp(*this, S, OpLoc, Opc, LHSExpr,
>> RHSExpr);
>> -
>> -  if (LHSExpr->getType()->isOverloadableType())
>> +  if (getLangOpts().CPlusPlus &&
>> +  (LHSExpr->isTypeDependent() || RHSExpr->isTypeDependent() ||
>> +   LHSExpr->getType()->isOverloadableType()))
>>  return BuildOverloadedBinOp(*this, S, OpLoc, Opc, LHSExpr,
>> RHSExpr);
>>
>>return CreateBuiltinBinOp(OpLoc, Opc, LHSExpr, RHSExpr);
>>  }
>>
>>  // Don't resolve overloads if the other type is overloadable.
>> -if (pty->getKind() == BuiltinType::Overload &&
>> +if (getLangOpts().CPlusPlus && pty->getKind() ==
>> BuiltinType::Overload &&
>>  LHSExpr->getType()->isOverloadableType())
>>return BuildOverloadedBinOp(*this, S, OpLoc, Opc, LHSExpr,
>> RHSExpr);
>>
>>
>> Added: cfe/trunk/test/Sema/PR28181.c
>> URL:
>> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/PR28181.c?rev=292497=auto
>>
>> ==
>> --- cfe/trunk/test/Sema/PR28181.c (added)
>> +++ cfe/trunk/test/Sema/PR28181.c Thu Jan 19 11:17:57 2017
>> @@ -0,0 +1,13 @@
>> +// RUN: %clang_cc1 -fsyntax-only -verify %s
>> +
>> +struct spinlock_t {
>> +  int lock;
>> +} audit_skb_queue;
>> +
>> +void fn1() {
>> +  audit_skb_queue = (lock); // expected-error {{use of undeclared
>> identifier 'lock'; did you mean 'long'?}}
>> +}   // expected-error@-1 {{assigning to 'struct
>> spinlock_t' from incompatible type ''}}
>> +
>> +void fn2() {
>> +  audit_skb_queue + (lock); // expected-error {{use of undeclared
>> identifier 'lock'; did you mean 'long'?}}
>> +}   // expected-error@-1 {{reference to
>> overloaded function could not be resolved; did you mean to call it?}}
>>
>>
>> ___
>> cfe-commits mailing list
>> cfe-commits@lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
>
>
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


Re: r292497 - [Sema] Fix PR28181 by avoiding calling BuildOverloadedBinOp in C mode

2017-01-19 Thread Alex L via cfe-commits
Hi Hans,

Would it be possible to merge this for 4.0?

Cheers,
Alex

On 19 January 2017 at 17:17, Alex Lorenz via cfe-commits <
cfe-commits@lists.llvm.org> wrote:

> Author: arphaman
> Date: Thu Jan 19 11:17:57 2017
> New Revision: 292497
>
> URL: http://llvm.org/viewvc/llvm-project?rev=292497=rev
> Log:
> [Sema] Fix PR28181 by avoiding calling BuildOverloadedBinOp in C mode
>
> rdar://28532840
>
> Differential Revision: https://reviews.llvm.org/D25213
>
> Added:
> cfe/trunk/test/Sema/PR28181.c
> Modified:
> cfe/trunk/lib/Sema/SemaExpr.cpp
>
> Modified: cfe/trunk/lib/Sema/SemaExpr.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaE
> xpr.cpp?rev=292497=292496=292497=diff
> 
> ==
> --- cfe/trunk/lib/Sema/SemaExpr.cpp (original)
> +++ cfe/trunk/lib/Sema/SemaExpr.cpp Thu Jan 19 11:17:57 2017
> @@ -11505,7 +11505,7 @@ ExprResult Sema::BuildBinOp(Scope *S, So
>return checkPseudoObjectAssignment(S, OpLoc, Opc, LHSExpr, RHSExpr);
>
>  // Don't resolve overloads if the other type is overloadable.
> -if (pty->getKind() == BuiltinType::Overload) {
> +if (getLangOpts().CPlusPlus && pty->getKind() ==
> BuiltinType::Overload) {
>// We can't actually test that if we still have a placeholder,
>// though.  Fortunately, none of the exceptions we see in that
>// code below are valid when the LHS is an overload set.  Note
> @@ -11530,17 +11530,16 @@ ExprResult Sema::BuildBinOp(Scope *S, So
>  // An overload in the RHS can potentially be resolved by the type
>  // being assigned to.
>  if (Opc == BO_Assign && pty->getKind() == BuiltinType::Overload) {
> -  if (LHSExpr->isTypeDependent() || RHSExpr->isTypeDependent())
> -return BuildOverloadedBinOp(*this, S, OpLoc, Opc, LHSExpr,
> RHSExpr);
> -
> -  if (LHSExpr->getType()->isOverloadableType())
> +  if (getLangOpts().CPlusPlus &&
> +  (LHSExpr->isTypeDependent() || RHSExpr->isTypeDependent() ||
> +   LHSExpr->getType()->isOverloadableType()))
>  return BuildOverloadedBinOp(*this, S, OpLoc, Opc, LHSExpr,
> RHSExpr);
>
>return CreateBuiltinBinOp(OpLoc, Opc, LHSExpr, RHSExpr);
>  }
>
>  // Don't resolve overloads if the other type is overloadable.
> -if (pty->getKind() == BuiltinType::Overload &&
> +if (getLangOpts().CPlusPlus && pty->getKind() ==
> BuiltinType::Overload &&
>  LHSExpr->getType()->isOverloadableType())
>return BuildOverloadedBinOp(*this, S, OpLoc, Opc, LHSExpr, RHSExpr);
>
>
> Added: cfe/trunk/test/Sema/PR28181.c
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/PR28
> 181.c?rev=292497=auto
> 
> ==
> --- cfe/trunk/test/Sema/PR28181.c (added)
> +++ cfe/trunk/test/Sema/PR28181.c Thu Jan 19 11:17:57 2017
> @@ -0,0 +1,13 @@
> +// RUN: %clang_cc1 -fsyntax-only -verify %s
> +
> +struct spinlock_t {
> +  int lock;
> +} audit_skb_queue;
> +
> +void fn1() {
> +  audit_skb_queue = (lock); // expected-error {{use of undeclared
> identifier 'lock'; did you mean 'long'?}}
> +}   // expected-error@-1 {{assigning to 'struct
> spinlock_t' from incompatible type ''}}
> +
> +void fn2() {
> +  audit_skb_queue + (lock); // expected-error {{use of undeclared
> identifier 'lock'; did you mean 'long'?}}
> +}   // expected-error@-1 {{reference to
> overloaded function could not be resolved; did you mean to call it?}}
>
>
> ___
> cfe-commits mailing list
> cfe-commits@lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
>
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


r292497 - [Sema] Fix PR28181 by avoiding calling BuildOverloadedBinOp in C mode

2017-01-19 Thread Alex Lorenz via cfe-commits
Author: arphaman
Date: Thu Jan 19 11:17:57 2017
New Revision: 292497

URL: http://llvm.org/viewvc/llvm-project?rev=292497=rev
Log:
[Sema] Fix PR28181 by avoiding calling BuildOverloadedBinOp in C mode

rdar://28532840

Differential Revision: https://reviews.llvm.org/D25213

Added:
cfe/trunk/test/Sema/PR28181.c
Modified:
cfe/trunk/lib/Sema/SemaExpr.cpp

Modified: cfe/trunk/lib/Sema/SemaExpr.cpp
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaExpr.cpp?rev=292497=292496=292497=diff
==
--- cfe/trunk/lib/Sema/SemaExpr.cpp (original)
+++ cfe/trunk/lib/Sema/SemaExpr.cpp Thu Jan 19 11:17:57 2017
@@ -11505,7 +11505,7 @@ ExprResult Sema::BuildBinOp(Scope *S, So
   return checkPseudoObjectAssignment(S, OpLoc, Opc, LHSExpr, RHSExpr);
 
 // Don't resolve overloads if the other type is overloadable.
-if (pty->getKind() == BuiltinType::Overload) {
+if (getLangOpts().CPlusPlus && pty->getKind() == BuiltinType::Overload) {
   // We can't actually test that if we still have a placeholder,
   // though.  Fortunately, none of the exceptions we see in that
   // code below are valid when the LHS is an overload set.  Note
@@ -11530,17 +11530,16 @@ ExprResult Sema::BuildBinOp(Scope *S, So
 // An overload in the RHS can potentially be resolved by the type
 // being assigned to.
 if (Opc == BO_Assign && pty->getKind() == BuiltinType::Overload) {
-  if (LHSExpr->isTypeDependent() || RHSExpr->isTypeDependent())
-return BuildOverloadedBinOp(*this, S, OpLoc, Opc, LHSExpr, RHSExpr);
-
-  if (LHSExpr->getType()->isOverloadableType())
+  if (getLangOpts().CPlusPlus &&
+  (LHSExpr->isTypeDependent() || RHSExpr->isTypeDependent() ||
+   LHSExpr->getType()->isOverloadableType()))
 return BuildOverloadedBinOp(*this, S, OpLoc, Opc, LHSExpr, RHSExpr);
 
   return CreateBuiltinBinOp(OpLoc, Opc, LHSExpr, RHSExpr);
 }
 
 // Don't resolve overloads if the other type is overloadable.
-if (pty->getKind() == BuiltinType::Overload &&
+if (getLangOpts().CPlusPlus && pty->getKind() == BuiltinType::Overload &&
 LHSExpr->getType()->isOverloadableType())
   return BuildOverloadedBinOp(*this, S, OpLoc, Opc, LHSExpr, RHSExpr);
 

Added: cfe/trunk/test/Sema/PR28181.c
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/PR28181.c?rev=292497=auto
==
--- cfe/trunk/test/Sema/PR28181.c (added)
+++ cfe/trunk/test/Sema/PR28181.c Thu Jan 19 11:17:57 2017
@@ -0,0 +1,13 @@
+// RUN: %clang_cc1 -fsyntax-only -verify %s
+
+struct spinlock_t {
+  int lock;
+} audit_skb_queue;
+
+void fn1() {
+  audit_skb_queue = (lock); // expected-error {{use of undeclared identifier 
'lock'; did you mean 'long'?}}
+}   // expected-error@-1 {{assigning to 'struct 
spinlock_t' from incompatible type ''}}
+
+void fn2() {
+  audit_skb_queue + (lock); // expected-error {{use of undeclared identifier 
'lock'; did you mean 'long'?}}
+}   // expected-error@-1 {{reference to overloaded 
function could not be resolved; did you mean to call it?}}


___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits