]> granicus.if.org Git - clang/log
clang
13 years agoRemove WCHAR_MIN and WCHAR_MAX from limits.h. According to posix and c99
Eric Christopher [Thu, 8 Sep 2011 23:25:25 +0000 (23:25 +0000)]
Remove WCHAR_MIN and WCHAR_MAX from limits.h. According to posix and c99
these should be in stdint.h - and they already are.

Fixes rdar://10097036.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139332 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoThread safety: small edit to unused variation on warning left in by accident from...
Caitlin Sadowski [Thu, 8 Sep 2011 23:17:03 +0000 (23:17 +0000)]
Thread safety: small edit to unused variation on warning left in by accident from earlier commit

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139331 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd some delay between PCH creation and modifying one of the headers it depends on...
Douglas Gregor [Thu, 8 Sep 2011 22:32:33 +0000 (22:32 +0000)]
Add some delay between PCH creation and modifying one of the headers it depends on, which will---hopefully make this test predictably pass on Windows

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139327 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoExtend -Wliteral-conversion to catch "int i = -1.234"
Matt Beaumont-Gay [Thu, 8 Sep 2011 22:30:47 +0000 (22:30 +0000)]
Extend -Wliteral-conversion to catch "int i = -1.234"

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139326 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoThread Safety: In C++0x Mutexes are the objects that control access to shared variab...
Caitlin Sadowski [Thu, 8 Sep 2011 21:52:50 +0000 (21:52 +0000)]
Thread Safety:  In C++0x Mutexes are the objects that control access to shared variables, while Locks are the objects that acquire and release Mutexes. We switch to this new terminology.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139321 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoThe frexp, modf, and remquo builtins are not 'const'.
Jakob Stoklund Olesen [Thu, 8 Sep 2011 21:18:03 +0000 (21:18 +0000)]
The frexp, modf, and remquo builtins are not 'const'.

These functions return a second value by writing to a pointer argument,
so they cannot be marked 'readnone' which implies that they don't access
memory.

<rdar://problem/10070234>

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139319 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoThread Safety: adding basic no thread safety analysis option
Caitlin Sadowski [Thu, 8 Sep 2011 18:35:21 +0000 (18:35 +0000)]
Thread Safety: adding basic no thread safety analysis option

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139310 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoThread safety: Adding basic support for locks required and excluded attributes
Caitlin Sadowski [Thu, 8 Sep 2011 18:27:31 +0000 (18:27 +0000)]
Thread safety: Adding basic support for locks required and excluded attributes

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139308 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoThread safety: shared vs. exclusive locks
Caitlin Sadowski [Thu, 8 Sep 2011 18:19:38 +0000 (18:19 +0000)]
Thread safety: shared vs. exclusive locks

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139307 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoThread safety: small formatting change in test comments
Caitlin Sadowski [Thu, 8 Sep 2011 18:07:26 +0000 (18:07 +0000)]
Thread safety: small formatting change in test comments

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139306 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoLook through SubstNonTypeTemplateParmExpr nodes in the various
Douglas Gregor [Thu, 8 Sep 2011 17:56:33 +0000 (17:56 +0000)]
Look through SubstNonTypeTemplateParmExpr nodes in the various
Expr::Ignore* methods that also look through implicit casts.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139303 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoThread safety: added support for function scopes in attribute arguments.
Caitlin Sadowski [Thu, 8 Sep 2011 17:42:31 +0000 (17:42 +0000)]
Thread safety: added support for function scopes in attribute arguments.

This patch was written by DeLesley Hutchins.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139302 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoThread Safety: Patch to implement delayed parsing of attributes within a
Caitlin Sadowski [Thu, 8 Sep 2011 17:42:22 +0000 (17:42 +0000)]
Thread Safety: Patch to implement delayed parsing of attributes within a
class scope.

This patch was also written by DeLesley Hutchins.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139301 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoDocument __has_feature(objc_instancetype).
Douglas Gregor [Thu, 8 Sep 2011 17:19:31 +0000 (17:19 +0000)]
Document __has_feature(objc_instancetype).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139299 91177308-0d34-0410-b5e6-96231b3b80d8

13 years ago[libclang] Fix annotation and getting a "macro expansion" cursor
Argyrios Kyrtzidis [Thu, 8 Sep 2011 17:18:41 +0000 (17:18 +0000)]
[libclang] Fix annotation and getting a "macro expansion" cursor
for a builtin macro expansion.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139298 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAllow C++0x enumerations with a fixed underlying type in
Douglas Gregor [Thu, 8 Sep 2011 17:18:35 +0000 (17:18 +0000)]
Allow C++0x enumerations with a fixed underlying type in
Objective-C. The @encode'ing of such an enumeration type is the same
as its underlying type. <rdar://problem/5276348>.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139297 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoFormatting.
Eric Christopher [Thu, 8 Sep 2011 17:15:04 +0000 (17:15 +0000)]
Formatting.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139296 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd a block comment explaining how the different source locations work
Eric Christopher [Thu, 8 Sep 2011 17:15:01 +0000 (17:15 +0000)]
Add a block comment explaining how the different source locations work
including some source examples.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139295 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdded missing initialization.
Abramo Bagnara [Thu, 8 Sep 2011 14:20:25 +0000 (14:20 +0000)]
Added missing initialization.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139291 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdding FixIts to static/inline main declaration diagnostics.
David Blaikie [Thu, 8 Sep 2011 06:33:04 +0000 (06:33 +0000)]
Adding FixIts to static/inline main declaration diagnostics.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139282 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoImplement the Objective-C 'instancetype' type, which is an alias of
Douglas Gregor [Thu, 8 Sep 2011 01:46:34 +0000 (01:46 +0000)]
Implement the Objective-C 'instancetype' type, which is an alias of
'id' that can be used (only!) via a contextual keyword as the result
type of an Objective-C message send. 'instancetype' then gives the
method a related result type, which we have already been inferring for
a variety of methods (new, alloc, init, self, retain). Addresses
<rdar://problem/9267640>.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139275 91177308-0d34-0410-b5e6-96231b3b80d8

13 years ago[driver] i386 kext preprocessor jobs also need their unsupported options
Chad Rosier [Thu, 8 Sep 2011 00:38:00 +0000 (00:38 +0000)]
[driver] i386 kext preprocessor jobs also need their unsupported options
filtered.  This happenis when -save-temps is specified.
<rdar://problem/10088387>

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139269 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoOptimize the preprocessor's handling of the __import_module__
Douglas Gregor [Wed, 7 Sep 2011 23:11:54 +0000 (23:11 +0000)]
Optimize the preprocessor's handling of the __import_module__
keyword. We now handle this keyword in HandleIdentifier, making a note
for ourselves when we've seen the __import_module__ keyword so that
the next lexed token can trigger a module import (if needed). This
greatly simplifies Preprocessor::Lex(), and completely erases the 5.5%
-Eonly slowdown Argiris noted when I originally implemented
__import_module__. Big thanks to Argiris for noting that horrible
regression!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139265 91177308-0d34-0410-b5e6-96231b3b80d8

13 years ago[arcmt] Try fixing the windows buildbot.
Argyrios Kyrtzidis [Wed, 7 Sep 2011 21:50:18 +0000 (21:50 +0000)]
[arcmt] Try fixing the windows buildbot.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139262 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRevert r139222, operator->() in PreprocessingRecord::iterator. It is useful
Argyrios Kyrtzidis [Wed, 7 Sep 2011 21:50:10 +0000 (21:50 +0000)]
Revert r139222, operator->() in PreprocessingRecord::iterator. It is useful
to meet the requirements of the InputIterator concept.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139261 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoChange diagnoseAddressOfInvalidType() to use an enum to determine what error message...
Richard Trieu [Wed, 7 Sep 2011 21:46:33 +0000 (21:46 +0000)]
Change diagnoseAddressOfInvalidType() to use an enum to determine what error message to display.  Also, move the function call into on location instead of having it spread among many places in the if/else statements.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139260 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoWhen parsing a function-try-block that does not have a
Douglas Gregor [Wed, 7 Sep 2011 20:36:12 +0000 (20:36 +0000)]
When parsing a function-try-block that does not have a
ctor-initializer, remember to call the Sema action to generate default
ctor-initializers. What a delightful little miscompile. Fixes PR10578
/ <rdar://problem/9877267>.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139253 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoFix Sema::CorrectTypo to ignore found but unresolved symbols
Kaelyn Uhrain [Wed, 7 Sep 2011 20:25:59 +0000 (20:25 +0000)]
Fix Sema::CorrectTypo to ignore found but unresolved symbols

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139252 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoMore missing dependencies picked up by Ninja.
Peter Collingbourne [Wed, 7 Sep 2011 19:12:36 +0000 (19:12 +0000)]
More missing dependencies picked up by Ninja.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139248 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoFix up MCInstPrinter creation to take the new SubtargetInfo parameter (see LLVM r139237)
James Molloy [Wed, 7 Sep 2011 17:25:30 +0000 (17:25 +0000)]
Fix up MCInstPrinter creation to take the new SubtargetInfo parameter (see LLVM r139237)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139238 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoobjc-gc: More sema work for properties declared 'weak'
Fariborz Jahanian [Wed, 7 Sep 2011 16:24:21 +0000 (16:24 +0000)]
objc-gc: More sema work for properties declared 'weak'
in GC mode. // rdar://10073896

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139235 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoExtract the emission of the diagnostic's location into a separate
Chandler Carruth [Wed, 7 Sep 2011 08:05:58 +0000 (08:05 +0000)]
Extract the emission of the diagnostic's location into a separate
function. This is really the beginning of the second phase of
refactorings here. The end goal is to have (roughly) three interfaces:

1) Base class to format a single diagnostic suitable for display on the
   console.
2) Extension of the base class which also displays a caret diagnostic
   suitable for display on the console.
3) An adaptor that implements the DiagnosticClient by delegating to #1
   and/or #2 as appropriate.

Once we have these, things like libclang's formatDiagnostic can use #1
and #2 to provide really well formatted (and consistently formatted!)
textual formatting of diagnostics.

Getting there is going to be quite a bit of shuffling. I'm basically
sketching out where the interface boundaries can be drawn for #1 and #2
within the existing classes. That lets me shuffle with a minimum of fuss
and delta. Once that's done, and any of the related interfaces that need
to change are updated, I'll hoist these into separate headers and
re-implement libclang in terms of their interfaces. Long WIP, but
comments at each step welcome. =D

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139228 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoMove the HilightRange method from TextDiagnosticPrinter down to
Chandler Carruth [Wed, 7 Sep 2011 07:02:31 +0000 (07:02 +0000)]
Move the HilightRange method from TextDiagnosticPrinter down to
CaretDiagnostic. It's completely generic, with nothing to do with the
diagnostic client or info APIs.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139227 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoHoist the tab expansion into a helper function.
Chandler Carruth [Wed, 7 Sep 2011 05:36:50 +0000 (05:36 +0000)]
Hoist the tab expansion into a helper function.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139226 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoDon't compute the same line number in two places, once inside a loop.
Chandler Carruth [Wed, 7 Sep 2011 05:01:10 +0000 (05:01 +0000)]
Don't compute the same line number in two places, once inside a loop.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139225 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoMake sure the FunctionDecl's created by "#pragma weak" have correct ParmVarDecl's...
Eli Friedman [Wed, 7 Sep 2011 04:05:06 +0000 (04:05 +0000)]
Make sure the FunctionDecl's created by "#pragma weak" have correct ParmVarDecl's. PR10878.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139224 91177308-0d34-0410-b5e6-96231b3b80d8

13 years ago[arcmt] Remove xfail on test for windows, Takumi reported that it passes mingw and...
Argyrios Kyrtzidis [Wed, 7 Sep 2011 03:43:41 +0000 (03:43 +0000)]
[arcmt] Remove xfail on test for windows, Takumi reported that it passes mingw and msvc.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139223 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agooperator->() in PreprocessingRecord::iterator is useless since we
Argyrios Kyrtzidis [Wed, 7 Sep 2011 03:43:39 +0000 (03:43 +0000)]
operator->() in PreprocessingRecord::iterator is useless since we
are returning a pointer to pointer.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139222 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRename variables in SemaExpr.cpp to give a more consistant naming scheme.
Richard Trieu [Wed, 7 Sep 2011 02:02:10 +0000 (02:02 +0000)]
Rename variables in SemaExpr.cpp to give a more consistant naming scheme.

ExprResult LHS, RHS,
Expr *LHSExpr, *RHSExpr
QualType LHSType, RHSType

Functions changed:
DiagnoseLogicalAndInLogicalOrLHS()
DiagnoseBinOpPrecedence()
ActOnBinOp()
BuildBinOp()

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139219 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRename variables in SemaExpr.cpp to give a more consistant naming scheme.
Richard Trieu [Wed, 7 Sep 2011 01:49:20 +0000 (01:49 +0000)]
Rename variables in SemaExpr.cpp to give a more consistant naming scheme.

ExprResult LHS, RHS,
Expr *LHSExpr, *RHSExpr
QualType LHSType, RHSType

Functions changed:
CreateBuiltinBinOp()
DiagnoseBitwisePrecedence()

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139218 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoSwitch the CharSourceRange array to a small vector. The array was
Chandler Carruth [Wed, 7 Sep 2011 01:47:09 +0000 (01:47 +0000)]
Switch the CharSourceRange array to a small vector. The array was
a stack array of a magical size with an assert() that we never
overflowed it. That seems incredibly risky. We also have a very nice API
for bundling up a vector we expect to usually have a small size without
loss of functionality or security if the size is excessive.

The fallout is to remove the last pointer+size parameter pair that are
traced through the recursive caret diagnostic emission.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139217 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoSwitch clang over to using fence/atomicrmw/cmpxchg instead of the intrinsics (which...
Eli Friedman [Wed, 7 Sep 2011 01:41:24 +0000 (01:41 +0000)]
Switch clang over to using fence/atomicrmw/cmpxchg instead of the intrinsics (which will go away).  LLVM CodeGen does almost exactly the same thing with these and the old intrinsics, so I'm reasonably confident this will not break anything.

There are still a few issues which need to be resolved with code generation for atomic load and store, so I'm not converting the places which need those for now.

I'm not entirely sure what to do about __builtin_llvm_memory_barrier: the fence instruction doesn't expose all the possibilities which can be expressed by __builtin_llvm_memory_barrier.  I would appreciate hearing from anyone who is using this intrinsic.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139216 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRename variables in SemaExpr.cpp to give a more consistant naming scheme.
Richard Trieu [Wed, 7 Sep 2011 01:33:52 +0000 (01:33 +0000)]
Rename variables in SemaExpr.cpp to give a more consistant naming scheme.

ExprResult LHS, RHS,
Expr *LHSExpr, *RHSExpr
QualType LHSType, RHSType

Functions changed:
CheckAssignmentOperands()
DiagnoseSelfAssignment()
checkArithmeticNull()

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139215 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRename variables in SemaExpr.cpp to give a more consistant naming scheme.
Richard Trieu [Wed, 7 Sep 2011 01:19:57 +0000 (01:19 +0000)]
Rename variables in SemaExpr.cpp to give a more consistant naming scheme.

ExprResult LHS, RHS,
Expr *LHSExpr, *RHSExpr
QualType LHSType, RHSType

Functions changed:
CheckVectorCompareOperands()
CheckBitwiseOperands()
CheckLogicalOperands()

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139214 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoChange the self-reference visitor (which gives the warning for self-reference oninita...
Richard Trieu [Wed, 7 Sep 2011 00:58:53 +0000 (00:58 +0000)]
Change the self-reference visitor (which gives the warning for self-reference oninitalization warning of -Wuninitialized) to exclude member variables that can decay into pointers.  This will cause it to no longer warn on this code:

struct foo { char a[100], *e; } bar = { .e = bar.a };

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139213 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoobjc-gc: Don't force a __strong type'd property
Fariborz Jahanian [Wed, 7 Sep 2011 00:38:49 +0000 (00:38 +0000)]
objc-gc: Don't force a __strong type'd property
to be 'weak'. This prevents a crash and should
probably be flagged as error - later to come.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139211 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoIn Microsoft mode, if we are inside a template class member function and we can't...
Francois Pichet [Wed, 7 Sep 2011 00:14:57 +0000 (00:14 +0000)]
In Microsoft mode, if we are inside a template class member function and we can't resolve a function call then create a type-dependent CallExpr even if the function has no type dependent arguments. The goal is to postpone name lookup to instantiation time to be able to search into type dependent base classes.

With this patch in, clang will generate only 37 errors (down from 212) when parsing a typical MFC source file.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139210 91177308-0d34-0410-b5e6-96231b3b80d8

13 years ago[driver] When clang crashes, don't try to generate diagnostics (i.e.,
Chad Rosier [Tue, 6 Sep 2011 23:52:36 +0000 (23:52 +0000)]
[driver] When clang crashes, don't try to generate diagnostics (i.e.,
preprocessor output) with multiple -arch options.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139207 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoobjc-gc: Adds support for "weak" property attribute under GC.
Fariborz Jahanian [Tue, 6 Sep 2011 23:32:40 +0000 (23:32 +0000)]
objc-gc: Adds support for  "weak" property attribute under GC.
// rdar://10073896

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139203 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRemove the doxyment for this now defunct parameter.
Chandler Carruth [Tue, 6 Sep 2011 22:34:36 +0000 (22:34 +0000)]
Remove the doxyment for this now defunct parameter.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139197 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoDon't recompute the presumed loc twice in 5 lines of code... Spotted by
Chandler Carruth [Tue, 6 Sep 2011 22:34:33 +0000 (22:34 +0000)]
Don't recompute the presumed loc twice in 5 lines of code... Spotted by
inspection.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139196 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoUse ArrayRef for the fixit hint array rather than a pointer and a size.
Chandler Carruth [Tue, 6 Sep 2011 22:31:44 +0000 (22:31 +0000)]
Use ArrayRef for the fixit hint array rather than a pointer and a size.
Clean up loops over the hints to use the more idiomatic iterator form in
LLVM and Clang.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139195 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoHoist the construction of the FixItHint line into a member function with
Chandler Carruth [Tue, 6 Sep 2011 22:01:04 +0000 (22:01 +0000)]
Hoist the construction of the FixItHint line into a member function with
a defined interface. This isn't as nice as the previous one, but should
get better as I push through better data types in all these functions.

Also, I'm hoping to pull some aspects of this out into a common routine
(such as tab expansion).

Again, WIP, comments welcome as I'm going through.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139190 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRename variables in SemaExpr.cpp to give a more consistant naming scheme.
Richard Trieu [Tue, 6 Sep 2011 21:43:51 +0000 (21:43 +0000)]
Rename variables in SemaExpr.cpp to give a more consistant naming scheme.

ExprResult LHS, RHS,
Expr *LHSExpr, *RHSExpr
QualType LHSType, RHSType

Functions changed:
CheckCompareOperands()

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139187 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoWhen extracting the callee declaration from a call expression, be sure
Douglas Gregor [Tue, 6 Sep 2011 21:41:04 +0000 (21:41 +0000)]
When extracting the callee declaration from a call expression, be sure
to look through SubstNonTypeTemplateParmExprs. Then, update the IR
generation of CallExprs to actually use CallExpr::getCalleeDecl()
rather than attempting to mimick its behavior (badly).

Fixes <rdar://problem/10063539>.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139185 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRename variables in SemaExpr.cpp to give a more consistant naming scheme.
Richard Trieu [Tue, 6 Sep 2011 21:27:33 +0000 (21:27 +0000)]
Rename variables in SemaExpr.cpp to give a more consistant naming scheme.

ExprResult LHS, RHS,
Expr *LHSExpr, *RHSExpr
QualType LHSType, RHSType

Functions changed:
checkEnumComparison()
diagnoseDistinctPointerComparison()
convertPointersToCompositeType()
diagnoseFunctionPointerToVoidComparison()

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139184 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRename variables in SemaExpr.cpp to give a more consistant naming scheme.
Richard Trieu [Tue, 6 Sep 2011 21:21:28 +0000 (21:21 +0000)]
Rename variables in SemaExpr.cpp to give a more consistant naming scheme.

ExprResult LHS, RHS,
Expr *LHSExpr, *RHSExpr
QualType LHSType, RHSType

Functions changed:
DiagnoseBadShiftValues()
CheckShiftOperands()

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139183 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRename variables in SemaExpr.cpp to give a more consistant naming scheme.
Richard Trieu [Tue, 6 Sep 2011 21:13:51 +0000 (21:13 +0000)]
Rename variables in SemaExpr.cpp to give a more consistant naming scheme.

ExprResult LHS, RHS,
Expr *LHSExpr, *RHSExpr
QualType LHSType, RHSType

Functions changed:
diagnoseArithmeticOnTwoVoidPointers()
checkArithmeticBinOpPointerOperands()
diagnosePointerIncompatibility()
CheckAdditionOperands()
CheckSubtractionOperands()

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139182 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRename variables in SemaExpr.cpp to give a more consistant naming scheme.
Richard Trieu [Tue, 6 Sep 2011 21:01:04 +0000 (21:01 +0000)]
Rename variables in SemaExpr.cpp to give a more consistant naming scheme.

ExprResult LHS, RHS,
Expr *LHSExpr, *RHSExpr
QualType LHSType, RHSType

Functions changed:
CheckVectorOperands()
CheckMultiplyDivideOperands()
CheckRemainderOperands()

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139181 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoPlace 'equality comparison with extraneous parentheses...' into a subgroup of -Wparen...
Ted Kremenek [Tue, 6 Sep 2011 20:58:32 +0000 (20:58 +0000)]
Place 'equality comparison with extraneous parentheses...' into a subgroup of -Wparentheses called -Wparentheses-equality.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139180 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoImplement the Named Return Value Optimization (NRVO) for blocks.
Douglas Gregor [Tue, 6 Sep 2011 20:46:03 +0000 (20:46 +0000)]
Implement the Named Return Value Optimization (NRVO) for blocks.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139178 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRename variables in SemaExpr.cpp to give a more consistant naming scheme.
Richard Trieu [Tue, 6 Sep 2011 20:40:12 +0000 (20:40 +0000)]
Rename variables in SemaExpr.cpp to give a more consistant naming scheme.

ExprResult LHS, RHS,
Expr *LHSExpr, *RHSExpr
QualType LHSType, RHSType

Functions changed:
CheckTransparentUnionArgumentConstraints()
CheckSingleAssignmentConstraints()
InvalidOperands()

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139176 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoImplement the Named Return Value Optimization (NRVO) for Objective-C++
Douglas Gregor [Tue, 6 Sep 2011 20:33:37 +0000 (20:33 +0000)]
Implement the Named Return Value Optimization (NRVO) for Objective-C++
methods. Fixes PR10835 / <rdar://problem/10050178>.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139175 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRename variables in SemaExpr.cpp to give a more consistant naming scheme.
Richard Trieu [Tue, 6 Sep 2011 20:30:53 +0000 (20:30 +0000)]
Rename variables in SemaExpr.cpp to give a more consistant naming scheme.

ExprResult LHS, RHS,
Expr *LHSExpr, *RHSExpr
QualType LHSType, RHSType

Functions changed:
CheckAssignmentConstraints()

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139173 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRename variables in SemaExpr.cpp to give a more consistant naming scheme.
Richard Trieu [Tue, 6 Sep 2011 20:21:22 +0000 (20:21 +0000)]
Rename variables in SemaExpr.cpp to give a more consistant naming scheme.

ExprResult LHS, RHS,
Expr *LHSExpr, *RHSExpr
QualType LHSType, RHSType

Functions changed:
checkPointerTypesForAssignment()
checkBlockPointerTypesForAssignment()
checkObjCPointerTypesForAssignment()
CheckAssignmentConstraints()

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139170 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRename variables in SemaExpr.cpp to give a more consistant naming scheme.
Richard Trieu [Tue, 6 Sep 2011 20:06:39 +0000 (20:06 +0000)]
Rename variables in SemaExpr.cpp to give a more consistant naming scheme.

ExprResult LHS, RHS,
Expr *LHSExpr, *RHSExpr
QualType LHSType, RHSType

Functions changed:
DiagnoseConditionalForNull()
CheckConditionalOperands()
IsArithmeticBinaryExpr()
DiagnoseConditionalPrecedence()

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139167 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoSpelling.
Benjamin Kramer [Tue, 6 Sep 2011 19:57:14 +0000 (19:57 +0000)]
Spelling.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139165 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRename variables in SemaExpr.cpp to give a more consistant naming scheme.
Richard Trieu [Tue, 6 Sep 2011 19:52:52 +0000 (19:52 +0000)]
Rename variables in SemaExpr.cpp to give a more consistant naming scheme.

ExprResult LHS, RHS,
Expr *LHSExpr, *RHSExpr
QualType LHSType, RHSType

Functions changed:
handleIntegerConversion()
UsualArithmeticConversions()

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139164 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoDon't emit -Wpadded warnings without a valid SourceLocation. This can happen when...
Ted Kremenek [Tue, 6 Sep 2011 19:40:45 +0000 (19:40 +0000)]
Don't emit -Wpadded warnings without a valid SourceLocation.  This can happen when RecordLayoutBuilder is used by Codegen, not Sema.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139162 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRearrange code so that we pass the right pointer to delete[] when an exception is...
Eli Friedman [Tue, 6 Sep 2011 18:53:03 +0000 (18:53 +0000)]
Rearrange code so that we pass the right pointer to delete[] when an exception is thrown constructing the array elements in an array new expression.  Fixes PR10870.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139158 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRename variables in SemaExpr.cpp to give a more consistant naming scheme.
Richard Trieu [Tue, 6 Sep 2011 18:38:41 +0000 (18:38 +0000)]
Rename variables in SemaExpr.cpp to give a more consistant naming scheme.

ExprResult LHS, RHS,
Expr *LHSExpr, *RHSExpr
QualType LHSType, RHSType

Functions changed:
handleFloatConversion()
handleComplexIntConvsersion()

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139153 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRename variables in SemaExpr.cpp to give a more consistant naming scheme.
Richard Trieu [Tue, 6 Sep 2011 18:25:09 +0000 (18:25 +0000)]
Rename variables in SemaExpr.cpp to give a more consistant naming scheme.

ExprResult LHS, RHS,
Expr *LHSExpr, *RHSExpr
QualType LHSType, RHSType

Functions changed:
handleComplexFloatToComplexFloatConverstion()
handleComplexFloatConversion()

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139151 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdvertise support for cxx_range_for as an extension in C++98 mode. Patch by Jean...
Richard Smith [Tue, 6 Sep 2011 18:03:41 +0000 (18:03 +0000)]
Advertise support for cxx_range_for as an extension in C++98 mode. Patch by Jean-Daniel Dupas!
Also provide a modicum of test coverage for ranged for in C++98.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139149 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoFinish implementing (de-)serialization of the CXXDefinitionData bits
Douglas Gregor [Tue, 6 Sep 2011 16:38:46 +0000 (16:38 +0000)]
Finish implementing (de-)serialization of the CXXDefinitionData bits
needed for implicit move constructors and move assignment
operators. Fixes PR10847.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139144 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoWhen performing a derived-to-base cast on the right-hand side of the
Douglas Gregor [Tue, 6 Sep 2011 16:26:56 +0000 (16:26 +0000)]
When performing a derived-to-base cast on the right-hand side of the
synthesized move assignment within an implicitly-defined move
assignment operator, be sure to treat the derived-to-base cast as an
xvalue (rather than an lvalue). Otherwise, we'll end up getting the
wrong constructor.

Optimize a direct call to a trivial move assignment operator to an
aggregate copy, as we do for trivial copy assignment operators, and
update the the assertion in CodeGenFunction::EmitAggregateCopy() to
cope with this optimization.

Fixes PR10860.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139143 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoPR10867: Work around a bug in lit. Multiple RUN: lines are joined with &&, so:
Richard Smith [Tue, 6 Sep 2011 03:01:15 +0000 (03:01 +0000)]
PR10867: Work around a bug in lit. Multiple RUN: lines are joined with &&, so:

  RUN: foo
  RUN: bar || true

is equivalent to:

  RUN: foo && bar || true

which is equivalent to:

  RUN: (foo && bar) || true

This resulted in several of the fixit tests not really testing anything.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139132 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd missing dependency
Peter Collingbourne [Tue, 6 Sep 2011 02:08:40 +0000 (02:08 +0000)]
Add missing dependency

Spotted by Ninja.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139129 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoFix typo
Peter Collingbourne [Tue, 6 Sep 2011 02:08:36 +0000 (02:08 +0000)]
Fix typo

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139128 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd the resource directory to the search path for Driver::GetFilePath,
Peter Collingbourne [Tue, 6 Sep 2011 02:08:31 +0000 (02:08 +0000)]
Add the resource directory to the search path for Driver::GetFilePath,
as well as the search path printed by -print-search-dirs.

The main purpose of this change is to cause -print-file-name=include
to print the path to the include directory under Clang's resource
directory, instead of the system compiler's include directory, whose
header files Clang may not be able to parse.  Some build scripts will
do something like:
  $(CC) -nostdinc -I`$(CC) -print-file-name=include`
to exclude all header paths except the compiler's.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139127 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoSpeed up BCPL comment lexing by looking aggressively for newlines and then scannig...
Benjamin Kramer [Mon, 5 Sep 2011 07:19:39 +0000 (07:19 +0000)]
Speed up BCPL comment lexing by looking aggressively for newlines and then scannig backwards to see if the newline is escaped.

3% speedup in preprocessing all of clang with -Eonly. Also includes a small testcase for coverage.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139116 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoUse the Lexer's definition of whitespace here.
Benjamin Kramer [Mon, 5 Sep 2011 07:19:35 +0000 (07:19 +0000)]
Use the Lexer's definition of whitespace here.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139115 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoStop cluttering the test directory with temporary files.
Benjamin Kramer [Mon, 5 Sep 2011 07:19:32 +0000 (07:19 +0000)]
Stop cluttering the test directory with temporary files.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139114 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoEnable -Wdangling-fields by default in Clang. I've run this warning over
Chandler Carruth [Mon, 5 Sep 2011 05:47:35 +0000 (05:47 +0000)]
Enable -Wdangling-fields by default in Clang. I've run this warning over
a very large chunk of code and found zero false positives. I've only
found a few bugs, but that likely is because bugs of this nature
actually do manifest. We've also identified several bugs that were
caught by Valgrind, but would have been caught faster and more easily
with this warning.

If anyone has concerns, or this causes fallout on any build bots, lemme
know. I'm happy to just put it under -Wmost.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139112 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoImplement the suggested resolution of WG21 N3307 issue 19: When determining whether...
Richard Smith [Mon, 5 Sep 2011 02:13:09 +0000 (02:13 +0000)]
Implement the suggested resolution of WG21 N3307 issue 19: When determining whether a class is an aggregate in C++0x, treat all functions which are neither deleted nor defaulted as user-provided, not just special member functions. The wording of the standard only defines the term "user-provided" for special member functions, but the intent seems to be that any function can be user-provided.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139111 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoPR10506: Extend test for temporary cleanups in range-based for loop to cover the...
Richard Smith [Sun, 4 Sep 2011 23:52:03 +0000 (23:52 +0000)]
PR10506: Extend test for temporary cleanups in range-based for loop to cover the dependent case.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139109 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoPass 0 instead of a empty TemplateArgumentListInfo when creating a CXXDependentScopeM...
Francois Pichet [Sun, 4 Sep 2011 23:00:48 +0000 (23:00 +0000)]
Pass 0 instead of a empty TemplateArgumentListInfo when creating a CXXDependentScopeMemberExpr to handle a "this->" fixit (lookup into dependent bases of class template)

Otherwise the fixit doesn't really work for subsequent lookup.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139105 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoUse const_cast to avoid warnings.
Benjamin Kramer [Sun, 4 Sep 2011 20:26:28 +0000 (20:26 +0000)]
Use const_cast to avoid warnings.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139104 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoPR10458: Last part of providing 'auto' type specifier as an extension in C++98: permi...
Richard Smith [Sun, 4 Sep 2011 20:24:20 +0000 (20:24 +0000)]
PR10458: Last part of providing 'auto' type specifier as an extension in C++98: permit it within type-ids.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139103 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoPR10458: Finesse behaviour of C++0x features when in pre-0x mode. Accept for-range...
Richard Smith [Sun, 4 Sep 2011 19:54:14 +0000 (19:54 +0000)]
PR10458: Finesse behaviour of C++0x features when in pre-0x mode. Accept for-range and auto with an ExtWarn, and produce a -Wc++0x-compat warning in C++98 mode when auto is used as a storage class.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139102 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd test case for defaulted copy and move structure validation.
Sebastian Redl [Sun, 4 Sep 2011 18:14:28 +0000 (18:14 +0000)]
Add test case for defaulted copy and move structure validation.
Fix bug this uncovered.
Address minor comments from Doug.
Enable cxx_implicit_moves feature.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139101 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoHandle a code-completion token being passed to the macro stringify operator.
Argyrios Kyrtzidis [Sun, 4 Sep 2011 03:32:19 +0000 (03:32 +0000)]
Handle a code-completion token being passed to the macro stringify operator.
Fixes http://llvm.org/PR10826.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139087 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoSupport code-completion for C++ inline methods and ObjC buffering methods.
Argyrios Kyrtzidis [Sun, 4 Sep 2011 03:32:15 +0000 (03:32 +0000)]
Support code-completion for C++ inline methods and ObjC buffering methods.

Previously we would cut off the source file buffer at the code-completion
point; this impeded code-completion inside C++ inline methods and,
recently, with buffering ObjC methods.

Have the code-completion inserted into the source buffer so that it can
be buffered along with a method body. When we actually hit the code-completion
point the cut-off lexing or parsing.

Fixes rdar://10056932&8319466

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139086 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoFix Lexer::ComputePreamble when MaxLines parameter is non-zero.
Argyrios Kyrtzidis [Sun, 4 Sep 2011 03:32:04 +0000 (03:32 +0000)]
Fix Lexer::ComputePreamble when MaxLines parameter is non-zero.

The function was only counting lines that included tokens and not empty lines,
but MaxLines (mainly initiated to the line where the code-completion point resides)
is a count of overall lines (even empty ones).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139085 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoMore unused variable removal.
Benjamin Kramer [Sat, 3 Sep 2011 08:46:20 +0000 (08:46 +0000)]
More unused variable removal.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139080 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoMake helpers static, remove unused variables.
Benjamin Kramer [Sat, 3 Sep 2011 03:30:59 +0000 (03:30 +0000)]
Make helpers static, remove unused variables.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139078 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoTeach -Wdangling-field to warn about temporaries bound to references as
Chandler Carruth [Sat, 3 Sep 2011 02:21:57 +0000 (02:21 +0000)]
Teach -Wdangling-field to warn about temporaries bound to references as
well.

Also, clean up the flow of the code a bit, and factor things more
nicely.

Finally, add the test case that was missing from my previous
commit (sorry), with new tests added to cover temporaries and other fun
cases.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139077 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd a simple new warning to catch blatantly dangling pointer and
Chandler Carruth [Sat, 3 Sep 2011 01:14:15 +0000 (01:14 +0000)]
Add a simple new warning to catch blatantly dangling pointer and
reference members of classes. We've had several bugs reported because of
this, and there's no reason not to flag it right away in the compiler.

Comments especially welcome on the strategy for implementing this
warning (IE, what should trigger this?) and on the text of the warning
itself.

I'm going to extend this to cover obvious cases with temporaries and
beef up the test cases some in subsequent patches. I'll then run it over
a large codebase and make sure its not misbehaving before I add it to
-Wall or turn it on by default. I think this one might be a good
candidate for on by default.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139075 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRevise test and see if it passes with a release-built clang.
Fariborz Jahanian [Fri, 2 Sep 2011 21:47:51 +0000 (21:47 +0000)]
Revise test and see if it passes with a release-built clang.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139043 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoFix some indenting issues in SemaExpr.cpp
Richard Trieu [Fri, 2 Sep 2011 21:44:27 +0000 (21:44 +0000)]
Fix some indenting issues in SemaExpr.cpp

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139042 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoblocks: Support capturing complex variable in block.
Fariborz Jahanian [Fri, 2 Sep 2011 21:33:44 +0000 (21:33 +0000)]
blocks: Support capturing complex variable in block.
// rdar://10033896

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139041 91177308-0d34-0410-b5e6-96231b3b80d8