]> granicus.if.org Git - clang/log
clang
14 years agoSketch .td file and build system goop for OptTable based clang-cc options.
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

14 years agoFactor out OptTable::ParseArgs, for parsing an entire argument vector.
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

14 years agoCMake goop to create clang++ symlink
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

14 years agoclang-cc: Remove some more llvm::cl::init arguments, by only setting values when
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

14 years agoChange -code-completion-debug-printer to -no-code-completion-debug-printer.
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

14 years agoSwitch -f{builtin,math-errno,rtti} and -analyzer-purge-dead to -...no... variants...
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

14 years agoclang-cc: Remove superfluous llvm::cl::init(false) arguments.
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

14 years agoDriver: ArgList doesn't depend on Options.h anymore.
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

14 years agoDriver: Take option ID for {Input,Unknown}Option, to drop dependency on actual options.
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

14 years agoDriver: Introduce OptSpecifier class for protecting access to an option id.
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

14 years agoRefine vtable, rtti and rtti name instantiation so that they follow
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

14 years agoDriver: Switch to using explicit {getLast,has}ArgNoClaim functions instead of taking...
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

14 years agoThis doesn't work yet.
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

14 years agoDriver: Resolve inconsistency in matching options against options which are
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

14 years agoUse Option::matches instead of direct ID comparison.
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

14 years agoRemove extra ';', found by clang++.
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

14 years agoThe sub-statement of a case statement is not an unevaluated context!
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

14 years agoImprove code completion for Objective-C message sends, so that we
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

14 years agoImprove instantiation control for rtti data and allow key functions to
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

14 years agoDriver: Switch to using TableGen'erated Options.inc instead of Options.def file.
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

14 years agoRefine linkage on thunks. WIP.
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

14 years agoUse TOOLALIAS so that clang++ gets 'built'.
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

14 years agoDriver: Split OptTable out into OptTable.{h,cpp}
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

14 years agoImprove the accuracy of code completion for the attributes of an @property declaratio...
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

14 years agoImprove code-completion results for the flags in an @property
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

14 years agoDo not enter forward class 'Protocol' in decl context.
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

14 years agoDo overload resolution for compound assignment even if only the RHS is overloadable...
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

14 years agoRename CodeCompleteObjCProperty to something more specific. No functionality change.
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

14 years agoResolve this FIXME: unelaborated lookups are ambiguous, too.
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

14 years agoCode completion after @dynamic
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

14 years agoOverhaul previous-declaration and overload checking to work on lookup results
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

14 years agoTest case for parsing-recovery change to @synthesized
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

14 years agoCode completion for Objective-C @synthesized.
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

14 years agoignore parens surounding the type when diagnosing
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

14 years agoThis patch fixes a bug in misdiagnosing correct
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

14 years agoTrack overriding methods when instantiating a template class. Fixes PR5550.
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

14 years agoMake MSVC happy.
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

14 years agoPretend destructors are const and volatile. This allows calling them with const and...
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

14 years agoDon't generate superfluous and ambiguous built-in candidates for multi-level array...
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

14 years agoConstruct INTPTR_MIN, INTPTR_MAX, and UINTPTR_MAX from the exact-width limit
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

14 years agoDefine intptr_t and uintptr_t in terms of their equivalent exact-width types.
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

14 years agoUpdate test to stop scanning things in the predefines buffer, this isn't adding
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

14 years agoDriver: Rework OptTable to have no dependency on the options it manages.
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

14 years agoDriver: Make local type name more distinct.
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

14 years agoDriver: Store Option ID field as unsigned to drop dependency on the options
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

14 years agoPredefine __INTPTR_WIDTH__ for future use in stdint.h.
Ken Dyck [Wed, 18 Nov 2009 20:05:48 +0000 (20:05 +0000)]
Predefine __INTPTR_WIDTH__ for future use in stdint.h.

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

14 years agoRemove the __INTMAX_TYPE__ and __UINTMAX_TYPE__ built-in macros as they are no
Ken Dyck [Wed, 18 Nov 2009 19:51:06 +0000 (19:51 +0000)]
Remove the __INTMAX_TYPE__ and __UINTMAX_TYPE__ built-in macros as they are no
longer used by stdint.h.

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

14 years agoUse llvm::sys::Path to check isAbsolute, instead of hard coding. Also, remove random...
Daniel Dunbar [Wed, 18 Nov 2009 19:50:41 +0000 (19:50 +0000)]
Use llvm::sys::Path to check isAbsolute, instead of hard coding. Also, remove random FIXME (?).

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

14 years agoImprove diagnostics and recovery when parsing @synthesized definitions
Douglas Gregor [Wed, 18 Nov 2009 19:45:45 +0000 (19:45 +0000)]
Improve diagnostics and recovery when parsing @synthesized definitions

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

14 years agoDefine INTMAX_C and UINTMAX_C in terms of the corresponding exact-width
Ken Dyck [Wed, 18 Nov 2009 19:42:57 +0000 (19:42 +0000)]
Define INTMAX_C and UINTMAX_C in terms of the corresponding exact-width
INTn_C and UINTn_C macros.

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

14 years agoDefine INTMAX_MIN, INTMAX_MAX, and UINTMAX_MAX in terms of the limit macros for
Ken Dyck [Wed, 18 Nov 2009 19:22:15 +0000 (19:22 +0000)]
Define INTMAX_MIN, INTMAX_MAX, and UINTMAX_MAX in terms of the limit macros for
their corresponding exact-width type.

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

14 years agoImplement code completion for Objective-C category names in @interface
Douglas Gregor [Wed, 18 Nov 2009 19:08:43 +0000 (19:08 +0000)]
Implement code completion for Objective-C category names in @interface
and @implementation declarations.

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

14 years agoReflow to fit 80-col.
Mike Stump [Wed, 18 Nov 2009 18:57:56 +0000 (18:57 +0000)]
Reflow to fit 80-col.

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

14 years agoDefine intmax_t and uintmax_t as the [u]intN_t type corresponding to
Ken Dyck [Wed, 18 Nov 2009 18:57:04 +0000 (18:57 +0000)]
Define intmax_t and uintmax_t as the [u]intN_t type corresponding to
__INTMAX_WIDTH__.

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

14 years agoDon't warn if objc method param types in declaration and
Fariborz Jahanian [Wed, 18 Nov 2009 18:56:09 +0000 (18:56 +0000)]
Don't warn if objc method param types in declaration and
implementation mismatch in their qualifiers only.
This will match similar behavior in c/c++ and
fixes radar 7211653.

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

14 years agoTrim whitespace.
Mike Stump [Wed, 18 Nov 2009 18:52:31 +0000 (18:52 +0000)]
Trim whitespace.

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

14 years agoImprove on diagnosing type mismatches because of
Fariborz Jahanian [Wed, 18 Nov 2009 18:26:29 +0000 (18:26 +0000)]
Improve on diagnosing type mismatches because of
lack of viable convesion functions.

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

14 years agoCastsAwayConstness shouldn't care if member pointers point into different classes...
Sebastian Redl [Wed, 18 Nov 2009 18:10:53 +0000 (18:10 +0000)]
CastsAwayConstness shouldn't care if member pointers point into different classes. Fixes PR5545.

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

14 years agoDriver: Switch Options.def to storing flags as a bitmask (instead of mangled
Daniel Dunbar [Wed, 18 Nov 2009 17:42:34 +0000 (17:42 +0000)]
Driver: Switch Options.def to storing flags as a bitmask (instead of mangled
into a string).

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

14 years agoCode completion for Objective-C class names after @interface,
Douglas Gregor [Wed, 18 Nov 2009 16:26:39 +0000 (16:26 +0000)]
Code completion for Objective-C class names after @interface,
@implementation, and in the declaration of the superclass of an
@interface.

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

14 years agoFix passing stdc++ correctly in the FreeBSD toolchain support, Credit to Roman Divacky.
Edward O'Callaghan [Wed, 18 Nov 2009 14:51:31 +0000 (14:51 +0000)]
Fix passing stdc++ correctly in the FreeBSD toolchain support, Credit to Roman Divacky.

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

14 years agoUpdate index tests for r89203.
Benjamin Kramer [Wed, 18 Nov 2009 14:20:01 +0000 (14:20 +0000)]
Update index tests for r89203.

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

14 years agoPredefine __INTMAX_WIDTH__ for the future parameterization of INTMAX macros in
Ken Dyck [Wed, 18 Nov 2009 13:52:57 +0000 (13:52 +0000)]
Predefine __INTMAX_WIDTH__ for the future parameterization of INTMAX macros in
stdint.h.

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

14 years agoMinor cleanup to member pointer handling.
Eli Friedman [Wed, 18 Nov 2009 09:41:26 +0000 (09:41 +0000)]
Minor cleanup to member pointer handling.

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

14 years agoSplit LookupResult into its own header.
John McCall [Wed, 18 Nov 2009 07:57:50 +0000 (07:57 +0000)]
Split LookupResult into its own header.

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

14 years agoClean up EmitPointerToDataMemberBinaryExpr a bit.
Eli Friedman [Wed, 18 Nov 2009 05:01:17 +0000 (05:01 +0000)]
Clean up EmitPointerToDataMemberBinaryExpr a bit.

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

14 years agoCode completion after @property, providing the names of forward-declared properties
Douglas Gregor [Wed, 18 Nov 2009 04:49:41 +0000 (04:49 +0000)]
Code completion after @property, providing the names of forward-declared properties

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

14 years agoRename code-completion test to actually make sense
Douglas Gregor [Wed, 18 Nov 2009 04:41:01 +0000 (04:41 +0000)]
Rename code-completion test to actually make sense

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

14 years agoCode completion for Objective-C properly lists
Douglas Gregor [Wed, 18 Nov 2009 04:19:12 +0000 (04:19 +0000)]
Code completion for Objective-C properly lists

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

14 years agoSet up vtable visibility appropriately.
Mike Stump [Wed, 18 Nov 2009 04:00:48 +0000 (04:00 +0000)]
Set up vtable visibility appropriately.

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

14 years agoMake CreateOverloadedUnaryOp build the correct node for postinc/dec operators.
Eli Friedman [Wed, 18 Nov 2009 03:58:17 +0000 (03:58 +0000)]
Make CreateOverloadedUnaryOp build the correct node for postinc/dec operators.

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

14 years agoPropagate hidden to the _ZTS symbols appropriately. WIP.
Mike Stump [Wed, 18 Nov 2009 03:46:51 +0000 (03:46 +0000)]
Propagate hidden to the _ZTS symbols appropriately.  WIP.

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

14 years agoAdd an assertion to catch bad calls to EmitCallArgs.
Eli Friedman [Wed, 18 Nov 2009 03:42:04 +0000 (03:42 +0000)]
Add an assertion to catch bad calls to EmitCallArgs.

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

14 years agoSimplify ActOnPostfixUnaryOp.
Eli Friedman [Wed, 18 Nov 2009 03:38:04 +0000 (03:38 +0000)]
Simplify ActOnPostfixUnaryOp.

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

14 years agoBe sure to set visibility for ZTI symbols for classes from the class.
Mike Stump [Wed, 18 Nov 2009 03:21:29 +0000 (03:21 +0000)]
Be sure to set visibility for ZTI symbols for classes from the class.

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

14 years agoMake _ZTI symbols hidden. This speeds up the dynamic linker.
Mike Stump [Wed, 18 Nov 2009 02:53:28 +0000 (02:53 +0000)]
Make _ZTI symbols hidden.  This speeds up the dynamic linker.

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

14 years agoIncremental progress on using declarations. Split UnresolvedUsingDecl into
John McCall [Wed, 18 Nov 2009 02:36:19 +0000 (02:36 +0000)]
Incremental progress on using declarations.  Split UnresolvedUsingDecl into
two classes, one for typenames and one for values;  this seems to have some
support from Doug if not necessarily from the extremely-vague-on-this-point
standard.  Track the location of the 'typename' keyword in a using-typename
decl.  Make a new lookup result for unresolved values and deal with it in
most places.

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

14 years agoAdd special clang_getCursor() support for @class. Handles <rdar://problem/7383421>.
Ted Kremenek [Wed, 18 Nov 2009 02:02:52 +0000 (02:02 +0000)]
Add special clang_getCursor() support for @class.  Handles <rdar://problem/7383421>.

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

14 years agoCode completion for member accesses that involve Objective-C properties and instance...
Douglas Gregor [Wed, 18 Nov 2009 01:29:26 +0000 (01:29 +0000)]
Code completion for member accesses that involve Objective-C properties and instance variables

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

14 years agoEliminate some completely-redundant lookups
Douglas Gregor [Wed, 18 Nov 2009 01:29:02 +0000 (01:29 +0000)]
Eliminate some completely-redundant lookups

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

14 years agoPR5520: Make sure to check whether the base type is complete before looking for
Eli Friedman [Wed, 18 Nov 2009 01:28:03 +0000 (01:28 +0000)]
PR5520: Make sure to check whether the base type is complete before looking for
operator->.

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

14 years agoAdd ObjCClassDecl::getSourceRange().
Ted Kremenek [Wed, 18 Nov 2009 01:26:56 +0000 (01:26 +0000)]
Add ObjCClassDecl::getSourceRange().

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

14 years agoMissing piece of r89173.
Eli Friedman [Wed, 18 Nov 2009 00:57:03 +0000 (00:57 +0000)]
Missing piece of r89173.

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

14 years agoRefactor emitting call to delete operator into common function EmitDeleteCall.
Eli Friedman [Wed, 18 Nov 2009 00:50:08 +0000 (00:50 +0000)]
Refactor emitting call to delete operator into common function EmitDeleteCall.

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

14 years agoFix one last gotcha with typeid.
Mike Stump [Wed, 18 Nov 2009 00:40:12 +0000 (00:40 +0000)]
Fix one last gotcha with typeid.

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

14 years agoAdd SourceLocations to ObjCClassDecl for the class identifiers referenced by @class.
Ted Kremenek [Wed, 18 Nov 2009 00:28:11 +0000 (00:28 +0000)]
Add SourceLocations to ObjCClassDecl for the class identifiers referenced by @class.

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

14 years agoFinish code completion for Objective-C message sends
Douglas Gregor [Wed, 18 Nov 2009 00:06:18 +0000 (00:06 +0000)]
Finish code completion for Objective-C message sends

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

14 years agoCleanup.
Mike Stump [Tue, 17 Nov 2009 23:51:10 +0000 (23:51 +0000)]
Cleanup.

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

14 years agoAdd rtti support for arrays, functiond without prototypes, vectors and
Mike Stump [Tue, 17 Nov 2009 23:45:57 +0000 (23:45 +0000)]
Add rtti support for arrays, functiond without prototypes, vectors and
enums.

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

14 years agoRename Objective-C message send completion functions to indicate that we're referring...
Douglas Gregor [Tue, 17 Nov 2009 23:31:36 +0000 (23:31 +0000)]
Rename Objective-C message send completion functions to indicate that we're referring to message sends

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

14 years agoRefactor code-completion support for message sends, collecting the
Douglas Gregor [Tue, 17 Nov 2009 23:22:23 +0000 (23:22 +0000)]
Refactor code-completion support for message sends, collecting the
code to find and add Objective-C methods (starting at an
ObjCContainerDecl) into a single, static function. Also, make sure
that we search into the implementations of classes and categories to
find even more methods.

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

14 years agoPass source locations of identifiers referenced by @class through Action::ActOnForwar...
Ted Kremenek [Tue, 17 Nov 2009 23:12:20 +0000 (23:12 +0000)]
Pass source locations of identifiers referenced by @class through Action::ActOnForwardClassDeclaration().

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

14 years agoAdd rtti info for function prototypes and refactor. This allows
Mike Stump [Tue, 17 Nov 2009 23:11:22 +0000 (23:11 +0000)]
Add rtti info for function prototypes and refactor.  This allows
pointer to member functions to work.  WIP.

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

14 years agoDo not register ObjCInterfaceDecls implicitly created by @class in the
Ted Kremenek [Tue, 17 Nov 2009 22:58:30 +0000 (22:58 +0000)]
Do not register ObjCInterfaceDecls implicitly created by @class in the
current DeclContext.  These "imaginary" declarations pose issues for
clients searching DeclContext for actual declarations.  Instead,
register them for name lookup, and add the ObjCInterfaceDecl later to
the DeclContext when we hit an actual @interface declaration.

This also fixes a bug where the invariant that the Decls in a
DeclContext are sorted in order of their appearance is no longer
violated.  What could happen is that an @class causes an
ObjCInterfaceDecl to get added first to the DeclContext, then the
ObjCClassDecl itself is added, and then later the SourceLocation of
the ObjCInterfaceDecl is updated with the correct location (which is
later in the file).  This breaks an assumed invariant in
ResolveLocation.cpp (and possibly other clients).

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

14 years agoThis patch finalizes implementatin of weak_import
Fariborz Jahanian [Tue, 17 Nov 2009 22:42:00 +0000 (22:42 +0000)]
This patch finalizes implementatin of weak_import
objective-c2 classes (radar 6815425).

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

14 years agoAdd rtti support for pointer to data members.
Mike Stump [Tue, 17 Nov 2009 22:33:00 +0000 (22:33 +0000)]
Add rtti support for pointer to data members.

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

14 years agoDrop unnecessary #include.
Daniel Dunbar [Tue, 17 Nov 2009 22:25:16 +0000 (22:25 +0000)]
Drop unnecessary #include.

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

14 years agoRemove unnecessary &&s.
Daniel Dunbar [Tue, 17 Nov 2009 22:25:07 +0000 (22:25 +0000)]
Remove unnecessary &&s.

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

14 years agoMore cases for weak_import objective-c2 classes.
Fariborz Jahanian [Tue, 17 Nov 2009 22:02:21 +0000 (22:02 +0000)]
More cases for weak_import objective-c2 classes.
(still radar 6815425).

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

14 years agoFix -Asserts warning.
Daniel Dunbar [Tue, 17 Nov 2009 21:51:03 +0000 (21:51 +0000)]
Fix -Asserts warning.

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