]>
granicus.if.org Git - clang/log
Eli Friedman [Fri, 20 Nov 2009 05:53:06 +0000 (05:53 +0000)]
Fix a couple minor memory leaks.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89450
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 20 Nov 2009 05:27:05 +0000 (05:27 +0000)]
Add simple static analyzer checker to check for sending 'release', 'retain', etc. directly to a class. Fixes <rdar://problem/
7252064 >.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89449
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 20 Nov 2009 04:31:57 +0000 (04:31 +0000)]
Unused ivar checker: ivars referenced by lexically nested functions should not be flagged as unused. Fixes <rdar://problem/
7254495 >.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89448
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Fri, 20 Nov 2009 04:09:56 +0000 (04:09 +0000)]
No need to pass the state argument explicitly.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89447
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Fri, 20 Nov 2009 03:50:46 +0000 (03:50 +0000)]
Revert r89437 and add a comment.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89446
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Fri, 20 Nov 2009 02:31:07 +0000 (02:31 +0000)]
Implement throw d, where d is a class type that requires copy
construction. WIP.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89442
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 20 Nov 2009 02:31:03 +0000 (02:31 +0000)]
Don't build an explicit conversion to a reference type
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89441
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Fri, 20 Nov 2009 01:57:39 +0000 (01:57 +0000)]
Handle throw d, where d is a class type but only has a trivial copy
constructor. WIP.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89438
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Fri, 20 Nov 2009 01:56:48 +0000 (01:56 +0000)]
It's unnecessary to check for unknown at this point.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89437
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 20 Nov 2009 01:46:44 +0000 (01:46 +0000)]
Driver: Add parsing for TargetOptions to CompilerInvocation::CreateFromArgs.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89435
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 20 Nov 2009 01:31:27 +0000 (01:31 +0000)]
Ignore -Wstrict-overflow={3,4,5} for now.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89433
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 20 Nov 2009 01:20:12 +0000 (01:20 +0000)]
Really fix test case.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89430
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 20 Nov 2009 01:19:22 +0000 (01:19 +0000)]
Fix test case.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89429
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 20 Nov 2009 00:59:20 +0000 (00:59 +0000)]
When we have a non-dependent expression such as
A::f
that occurs within a non-static member function with a type-dependent
"this", don't consider this to be a case for introduction of an
implicit "(*this)." to refer to a specific member function unless we
know (at template definition time) that A is a base class of *this.
There is some disagreement here between GCC, EDG, and Clang about the
handling of this case. I believe that Clang now has the correct,
literal interpretation of the standard, but have asked for
clarification (c++std-core-15483).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89425
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Fri, 20 Nov 2009 00:56:31 +0000 (00:56 +0000)]
Add suport for throw;. WIP.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89424
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Fri, 20 Nov 2009 00:43:57 +0000 (00:43 +0000)]
Fix rtti generation for throws. WIP.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89420
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Fri, 20 Nov 2009 00:31:50 +0000 (00:31 +0000)]
Simplify rtti building code a little. Prep for reuse for throw rtti
generation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89416
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 20 Nov 2009 00:12:36 +0000 (00:12 +0000)]
Fix null dereference in NSAutoreleasePoolChecker when analyzing messages sent to blocks.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89413
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Fri, 20 Nov 2009 00:02:19 +0000 (00:02 +0000)]
Fixup key function calculations.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89412
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 19 Nov 2009 23:25:22 +0000 (23:25 +0000)]
Deduce a ConstantArrayType from a value-dependent initializer list
rather than punting to a DependentSizedArrayType, tightening up our
type checking for template definitions. Thanks, John!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89407
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Thu, 19 Nov 2009 22:55:06 +0000 (22:55 +0000)]
Draw a brighter line between "unresolved" expressions, where we have done the
appropriate lookup and simply can't resolve the referrent yet, and
"dependent scope" expressions, where we can't do the lookup yet because the
entity we need to look into is a dependent type.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89402
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Thu, 19 Nov 2009 22:12:37 +0000 (22:12 +0000)]
Don't issue spurious diagnostic with Obj-C fast enumeration.
(radar
7409165 ).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89400
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Thu, 19 Nov 2009 22:01:32 +0000 (22:01 +0000)]
Ignore build output in include/clang/Driver
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89399
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 19 Nov 2009 20:54:59 +0000 (20:54 +0000)]
Fix some default in the option classes, and some CompilerInvocation argification
errors.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89388
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 19 Nov 2009 20:54:45 +0000 (20:54 +0000)]
Add missing dependency on TableGen.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89387
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Thu, 19 Nov 2009 20:52:19 +0000 (20:52 +0000)]
Fixup address point computations. WIP.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89386
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 19 Nov 2009 20:20:24 +0000 (20:20 +0000)]
Fix crash when using --analyzer-store=region when handling initializers with nested arrays/structs whose values are not explicitly specified. Fixes <rdar://problem/
7403269 >.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89384
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 19 Nov 2009 20:01:53 +0000 (20:01 +0000)]
Remove printf statement.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89383
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 19 Nov 2009 19:59:42 +0000 (19:59 +0000)]
Fix 80 col. violation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89382
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 19 Nov 2009 19:04:08 +0000 (19:04 +0000)]
Only fetch the ASTContext object within the assertion.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89375
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 19 Nov 2009 18:53:25 +0000 (18:53 +0000)]
Silence -Asserts warning.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89373
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 19 Nov 2009 18:47:17 +0000 (18:47 +0000)]
Driver: Move INPUT and UNKNOWN sentinel options into the OptParser.td file.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89371
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Thu, 19 Nov 2009 18:39:40 +0000 (18:39 +0000)]
Patch to implement new-operators with default args.
Fixes pr5547.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89370
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 19 Nov 2009 18:09:06 +0000 (18:09 +0000)]
Driver: Add Sentinel flag to option kinds.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89367
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 19 Nov 2009 18:03:26 +0000 (18:03 +0000)]
Cope with an amusingly little anomaly with dependent types and
incomplete array initialization, where we have the following in a
template:
int a[] = { 1, 2, something-value-dependent };
// ...
sizeof(a);
The type of "a" appears to be a non-dependent IncompleteArrayType, but
treating it as such makes the sizeof(a) fail at template definition
time. We now correctly handle this by morphing the IncompleteArrayType
into a DependentSizedArrayType with a NULL expression, indicating that
its size has no corresponding expression (and, therefore, the type is
distinct from others).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89366
91177308 -0d34-0410-b5e6-
96231b3b80d8
John Thompson [Thu, 19 Nov 2009 17:18:50 +0000 (17:18 +0000)]
Added preliminary support step for PS3
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89362
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 19 Nov 2009 16:42:34 +0000 (16:42 +0000)]
Try yet again to de-bork CMake Windows build w.r.t. clang++
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89361
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ken Dyck [Thu, 19 Nov 2009 15:53:08 +0000 (15:53 +0000)]
Define WCHAR_MIN and WCHAR_MAX in terms of __WCHAR_WIDTH__ for consistency with
other limit macros.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89355
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ken Dyck [Thu, 19 Nov 2009 15:47:58 +0000 (15:47 +0000)]
Define __WCHAR_WIDTH__ for use in stdint.h.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89353
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nuno Lopes [Thu, 19 Nov 2009 14:57:24 +0000 (14:57 +0000)]
ignore Output folders
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89351
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ken Dyck [Thu, 19 Nov 2009 14:35:19 +0000 (14:35 +0000)]
Parameterize WINT_MIN and WINT_MAX with __WINT_WIDTH__ to support arbitrary
widths. This corrects the values of these definitions for MSP430 and PIC16.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89350
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ken Dyck [Thu, 19 Nov 2009 14:16:57 +0000 (14:16 +0000)]
Add __WINT_WIDTH__ to paramaterize the limits of WINT_MIN and WINT_MAX in
stdint.h.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89348
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ken Dyck [Thu, 19 Nov 2009 14:03:24 +0000 (14:03 +0000)]
Construct definition of SIZE_MAX from __SIZE_WIDTH__ to support targets of
arbitrary widths.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89347
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ken Dyck [Thu, 19 Nov 2009 13:42:09 +0000 (13:42 +0000)]
Add __SIZE_WIDTH__ to eventually replace __SIZE_TYPE__ in stdint.h.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89346
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ken Dyck [Thu, 19 Nov 2009 13:18:59 +0000 (13:18 +0000)]
Restore __INTMAX_TYPE__, __UINTMAX_TYPE__, __PTRDIFF_TYPE__, and
__INTPTR_TYPE__ as the last is used in the test/CodeGen/const-init.c and all
could potentially be in use in the wild. My apologies.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89345
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ken Dyck [Thu, 19 Nov 2009 12:37:14 +0000 (12:37 +0000)]
Remove __PTRDIFF_TYPE__ as it is no longer needed by stdint.h. It has been
replaced with __PTRDIFF_WIDTH__.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89344
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ken Dyck [Thu, 19 Nov 2009 12:33:01 +0000 (12:33 +0000)]
Construct the macro body of PTRDIFF_MAX and PTRDIFF_MIN from __PTRDIFF_WIDTH__.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89343
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ken Dyck [Thu, 19 Nov 2009 12:21:52 +0000 (12:21 +0000)]
Add __PTRDIFF_WIDTH__ macro to eventually replace __PTRDIFF_TYPE__ in stdint.h.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89342
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ken Dyck [Thu, 19 Nov 2009 12:15:31 +0000 (12:15 +0000)]
Remove __INTPTR_TYPE__ as it is no longer needed by stdint.h, which uses
__INTPTR_WIDTH__ instead.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89340
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 19 Nov 2009 07:59:29 +0000 (07:59 +0000)]
Try to fix CMake clang++ creation on Windows
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89336
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 19 Nov 2009 07:58:03 +0000 (07:58 +0000)]
Add missing testcase for Objective-C p@property getter/setter completions
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89335
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 19 Nov 2009 07:41:15 +0000 (07:41 +0000)]
Objective-C code completion within properties after "setter = " or
"getter = ", to provide suitable method names.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89334
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 19 Nov 2009 07:37:51 +0000 (07:37 +0000)]
Sketch some 'clang -cc1' support, for testing parts of CompilerInvocation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89333
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 19 Nov 2009 07:37:40 +0000 (07:37 +0000)]
Add missing dependency for CMake.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89332
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 19 Nov 2009 07:37:33 +0000 (07:37 +0000)]
Add missing init.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89331
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 19 Nov 2009 07:19:04 +0000 (07:19 +0000)]
Sketch .td file and build system goop for OptTable based clang-cc options.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89330
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 19 Nov 2009 06:35:06 +0000 (06:35 +0000)]
Factor out OptTable::ParseArgs, for parsing an entire argument vector.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89327
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 19 Nov 2009 05:46:45 +0000 (05:46 +0000)]
CMake goop to create clang++ symlink
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89320
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 19 Nov 2009 05:32:21 +0000 (05:32 +0000)]
clang-cc: Remove some more llvm::cl::init arguments, by only setting values when
the argument is given.
Also, tweak Opt.Sysroot defaulting.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89318
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 19 Nov 2009 05:32:09 +0000 (05:32 +0000)]
Change -code-completion-debug-printer to -no-code-completion-debug-printer.
Also, tweak a few help strings and update CompilerInvocation serialization for prev change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89317
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 19 Nov 2009 04:55:23 +0000 (04:55 +0000)]
Switch -f{builtin,math-errno,rtti} and -analyzer-purge-dead to -...no... variants instead of using llvm::cl::init(true) arguments.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89315
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 19 Nov 2009 04:55:06 +0000 (04:55 +0000)]
clang-cc: Remove superfluous llvm::cl::init(false) arguments.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89314
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 19 Nov 2009 04:25:22 +0000 (04:25 +0000)]
Driver: ArgList doesn't depend on Options.h anymore.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89313
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 19 Nov 2009 04:25:06 +0000 (04:25 +0000)]
Driver: Take option ID for {Input,Unknown}Option, to drop dependency on actual options.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89312
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 19 Nov 2009 04:14:53 +0000 (04:14 +0000)]
Driver: Introduce OptSpecifier class for protecting access to an option id.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89310
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Thu, 19 Nov 2009 04:04:36 +0000 (04:04 +0000)]
Refine vtable, rtti and rtti name instantiation so that they follow
the key function. All the code is wired up, but won't work yet, as I
had to turn off key function calculation as it doesn't work yet.
Also, we refine visibility of the vtable, rtti and rtti name to match
the class, as well as as arrange for all the symbols to be internal
for anonymous namespace entities.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89309
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 19 Nov 2009 04:00:53 +0000 (04:00 +0000)]
Driver: Switch to using explicit {getLast,has}ArgNoClaim functions instead of taking a Claim argument.
- Most driver code always claims, and bool arguments don't play nice with the overloads.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89308
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Thu, 19 Nov 2009 03:53:54 +0000 (03:53 +0000)]
This doesn't work yet.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89307
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 19 Nov 2009 03:26:50 +0000 (03:26 +0000)]
Driver: Resolve inconsistency in matching options against options which are
aliases -- just treat this case as an (unchecked) client error.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89306
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 19 Nov 2009 03:26:40 +0000 (03:26 +0000)]
Use Option::matches instead of direct ID comparison.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89305
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 19 Nov 2009 03:26:32 +0000 (03:26 +0000)]
Remove extra ';', found by clang++.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89304
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Thu, 19 Nov 2009 03:14:00 +0000 (03:14 +0000)]
The sub-statement of a case statement is not an unevaluated context!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89303
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 19 Nov 2009 01:08:35 +0000 (01:08 +0000)]
Improve code completion for Objective-C message sends, so that we
provide completion results before each keyword argument, e.g.,
[foo Method:arg WithArg1:arg1 WithArg2:arg2]
We now complete before "WithArg1" and before "WithArg2", in addition
to completing before "Method".
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89290
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Thu, 19 Nov 2009 01:08:19 +0000 (01:08 +0000)]
Improve instantiation control for rtti data and allow key functions to
instantiate a class. WIP.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89289
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 19 Nov 2009 01:03:50 +0000 (01:03 +0000)]
Driver: Switch to using TableGen'erated Options.inc instead of Options.def file.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89288
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Thu, 19 Nov 2009 00:49:05 +0000 (00:49 +0000)]
Refine linkage on thunks. WIP.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89287
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 19 Nov 2009 00:21:33 +0000 (00:21 +0000)]
Use TOOLALIAS so that clang++ gets 'built'.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89286
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 19 Nov 2009 00:15:11 +0000 (00:15 +0000)]
Driver: Split OptTable out into OptTable.{h,cpp}
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89283
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 19 Nov 2009 00:14:45 +0000 (00:14 +0000)]
Improve the accuracy of code completion for the attributes of an @property declaration, so that we don't produce completions for attributes that would conflict with already-specified attributes
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89281
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 19 Nov 2009 00:01:57 +0000 (00:01 +0000)]
Improve code-completion results for the flags in an @property
declaration by providing patterns for "getter = <method>" and "setter
= <method>". As part of this, invented a new "pattern" result kind
that is merely a semantic string. The "pattern" result kind should
help with other kinds of code templates.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89277
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 18 Nov 2009 23:15:37 +0000 (23:15 +0000)]
Do not enter forward class 'Protocol' in decl context.
Will do it later. Fixes pr5552.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89269
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Wed, 18 Nov 2009 23:10:33 +0000 (23:10 +0000)]
Do overload resolution for compound assignment even if only the RHS is overloadable. Compound assignment may be overloaded as a non-member, and anyway the overload resolution is necessary because it triggers implicit (used-defined) conversions. Fixes PR5512, but not really the deeper issues lurking. Those are standard defects.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89268
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 18 Nov 2009 23:08:07 +0000 (23:08 +0000)]
Rename CodeCompleteObjCProperty to something more specific. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89267
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Wed, 18 Nov 2009 23:05:13 +0000 (23:05 +0000)]
Resolve this FIXME: unelaborated lookups are ambiguous, too.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89266
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 18 Nov 2009 22:56:13 +0000 (22:56 +0000)]
Code completion after @dynamic
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89265
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Wed, 18 Nov 2009 22:49:29 +0000 (22:49 +0000)]
Overhaul previous-declaration and overload checking to work on lookup results
rather than NamedDecl*. This is a major step towards eliminating
OverloadedFunctionDecl.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89263
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 18 Nov 2009 22:37:38 +0000 (22:37 +0000)]
Test case for parsing-recovery change to @synthesized
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89260
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 18 Nov 2009 22:32:06 +0000 (22:32 +0000)]
Code completion for Objective-C @synthesized.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89259
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 18 Nov 2009 22:16:17 +0000 (22:16 +0000)]
ignore parens surounding the type when diagnosing
pointer-to-member cast types used in expressions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89255
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 18 Nov 2009 21:54:48 +0000 (21:54 +0000)]
This patch fixes a bug in misdiagnosing correct
use of pointer to data member.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89251
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Wed, 18 Nov 2009 21:51:29 +0000 (21:51 +0000)]
Track overriding methods when instantiating a template class. Fixes PR5550.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89248
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 18 Nov 2009 21:42:57 +0000 (21:42 +0000)]
Make MSVC happy.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89247
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Wed, 18 Nov 2009 20:55:52 +0000 (20:55 +0000)]
Pretend destructors are const and volatile. This allows calling them with const and/or volatile objects. Fixes PR5548.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89244
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Wed, 18 Nov 2009 20:39:26 +0000 (20:39 +0000)]
Don't generate superfluous and ambiguous built-in candidates for multi-level array subscript and arithmetic. Fixes PR5546.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89242
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ken Dyck [Wed, 18 Nov 2009 20:36:29 +0000 (20:36 +0000)]
Construct INTPTR_MIN, INTPTR_MAX, and UINTPTR_MAX from the exact-width limit
macros corresponding to __INTPTR_WIDTH__.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89239
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ken Dyck [Wed, 18 Nov 2009 20:24:13 +0000 (20:24 +0000)]
Define intptr_t and uintptr_t in terms of their equivalent exact-width types.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89237
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 18 Nov 2009 20:19:44 +0000 (20:19 +0000)]
Update test to stop scanning things in the predefines buffer, this isn't adding
value.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89235
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 18 Nov 2009 20:19:36 +0000 (20:19 +0000)]
Driver: Rework OptTable to have no dependency on the options it manages.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89234
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 18 Nov 2009 20:19:26 +0000 (20:19 +0000)]
Driver: Make local type name more distinct.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89233
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 18 Nov 2009 20:19:19 +0000 (20:19 +0000)]
Driver: Store Option ID field as unsigned to drop dependency on the options
type.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89232
91177308 -0d34-0410-b5e6-
96231b3b80d8