]>
granicus.if.org Git - clang/log
Eli Friedman [Wed, 1 Apr 2009 03:17:08 +0000 (03:17 +0000)]
Fix pascal string support; testcase from mailing list message.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68181
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Wed, 1 Apr 2009 02:59:02 +0000 (02:59 +0000)]
Follow gcc's example and warn by default on unknown escapes. Inspired
by mailing list message about "\phello" style strings.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68180
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Wed, 1 Apr 2009 02:55:21 +0000 (02:55 +0000)]
Fix test failure on Linux by forcing the triple to OS X.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68179
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Wed, 1 Apr 2009 02:48:25 +0000 (02:48 +0000)]
Flip diagnostic from Warning to ExtWarn so that it's an error
with -pedantic-errors. This fixes the C99 part of PR3919.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68178
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 1 Apr 2009 02:36:43 +0000 (02:36 +0000)]
fix the two xfails I added with a previous patch by making ObjC interface
types get completed when their definition is seen if previously laid out by
the code generator.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68177
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 1 Apr 2009 02:08:13 +0000 (02:08 +0000)]
move trivial forwarding function inline.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68176
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 1 Apr 2009 02:00:48 +0000 (02:00 +0000)]
tidy some code.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68174
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Wed, 1 Apr 2009 01:17:39 +0000 (01:17 +0000)]
Fix block comparisons. Radar
6732116 .
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68171
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Wed, 1 Apr 2009 00:58:25 +0000 (00:58 +0000)]
Implement code generation of namespaces and add mangling tests.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68170
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 1 Apr 2009 00:44:37 +0000 (00:44 +0000)]
add support for the LONG_LONG_MIN/LONG_LONG_MAX/ULONG_LONG_MAX limits.h GNU extensions.
rdar://
6740292
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68169
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Wed, 1 Apr 2009 00:42:16 +0000 (00:42 +0000)]
Fix a bug (that I thought I had fixed already) where mangling a prefix could get us into an infinite loop
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68168
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 1 Apr 2009 00:28:59 +0000 (00:28 +0000)]
Parsing, semantic analysis, and template instantiation for typename
specifiers that terminate in a simple-template-id, e.g.,
typename MetaFun::template apply<T1, T2>
Also, implement template instantiation for dependent
nested-name-specifiers that involve unresolved identifiers, e.g.,
typename T::type::type
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68166
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 1 Apr 2009 00:27:44 +0000 (00:27 +0000)]
Tweak darwin::Assemble and add a FIXME.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68165
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 1 Apr 2009 00:23:28 +0000 (00:23 +0000)]
Add '-emit-pth' option to clang-cc as an alternate API for the high-level driver
to generate PTH files. Soon we will remove from clang-cc the GCC-style '-x
c-header' interface for generating PTH files and push this logic to 'clang'.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68164
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Wed, 1 Apr 2009 00:15:23 +0000 (00:15 +0000)]
Fix a mangling bug where functions with no arguments weren't getting the 'v' parameter specifier.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68162
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 31 Mar 2009 23:42:16 +0000 (23:42 +0000)]
Add Target hooks for IRgen of [cf]string literals.
- Notably, set section on cfstring literal string data (for now, this
is done everywhere because it matches what we were already doing
for the CFString data itself)
- <rdar://problem/
6599098 > [irgen] linker requires objc string data
to go into cstring
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68160
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 31 Mar 2009 23:00:32 +0000 (23:00 +0000)]
More code reshuffling. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68157
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 31 Mar 2009 22:37:52 +0000 (22:37 +0000)]
Change UsedArray to be a vector of WeakVH to fix a dangling pointer problem that occurs when
attribute(used) and asm renaming are used together.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68155
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 31 Mar 2009 22:17:44 +0000 (22:17 +0000)]
remove some obsolete comments, use an AssertingVH.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68151
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 31 Mar 2009 21:38:17 +0000 (21:38 +0000)]
Driver: Implement basic --help text.
- PR3875.
- <rdar://problem/
6615249 > [driver] ccc should support some form of
--help
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68148
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 31 Mar 2009 21:26:12 +0000 (21:26 +0000)]
Driver: Add OptTable::getOptionKind.
Also, removed default value for getOptionMetaVar.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68146
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 31 Mar 2009 20:53:55 +0000 (20:53 +0000)]
Driver: Forward -Wp, and -Xpreprocessor arguments to clang when using
the preprocessor.
- PR3602.
- As is inherent in the blanket forwarding options, this will only
work if clang-cc happens to accept what the user passed. Users by
and large should use driver options to interact with the
preprocessor, if at all possible.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68144
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 31 Mar 2009 20:22:36 +0000 (20:22 +0000)]
Allow two codepaths for PathDiagnostic generation. This patch mainly consists of
refactoring to make this possible (no functionality change).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68141
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Tue, 31 Mar 2009 20:22:05 +0000 (20:22 +0000)]
Some cleanup and renaming. No functionality change
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68140
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 31 Mar 2009 20:12:05 +0000 (20:12 +0000)]
Driver: Add extra parameters for help text to option definitions.
- Currently unused.
And yes, now may be about the time I want a TableGen backend.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68139
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 31 Mar 2009 20:10:05 +0000 (20:10 +0000)]
Add two FIXMEs
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68138
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Tue, 31 Mar 2009 20:07:16 +0000 (20:07 +0000)]
Improve the dependent nested-name-specifier test a bit
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68136
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 31 Mar 2009 19:01:39 +0000 (19:01 +0000)]
x86_32 Darwin ABI: Treat empty unions like empty structures.
- Current return-arguments-32 status: 15/1000 failures
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68132
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 31 Mar 2009 18:58:14 +0000 (18:58 +0000)]
Rename clang.[cpp,h] to clang-cc.[cpp,h] to reflect the name change of the
low-level frontend driver.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68131
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 31 Mar 2009 18:57:19 +0000 (18:57 +0000)]
Update VS project.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68130
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Tue, 31 Mar 2009 18:38:02 +0000 (18:38 +0000)]
Implement template instantiation for template names, including both
template template parameters and dependent template names. For
example, the oft-mentioned
typename MetaFun::template apply<T1, T2>::type
can now be instantiated, with the appropriate name lookup for "apply".
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68128
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Tue, 31 Mar 2009 18:27:22 +0000 (18:27 +0000)]
Patch to fix proptocol reference ir-gen for GNU runtime.
Patch by David Chisnal.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68125
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Tue, 31 Mar 2009 18:11:23 +0000 (18:11 +0000)]
ir-gen support for nonfragile abi's synthesized ivars.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68122
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 31 Mar 2009 17:45:15 +0000 (17:45 +0000)]
Driver: Call 'as' directly on FreeBSD.
- Patch by Ed Schouten!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68121
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 31 Mar 2009 17:35:15 +0000 (17:35 +0000)]
(LLVM up) Update to use llvm::sys::getHostTriple().
- Always pass -triple to clang-cc (-arch will be removed).
- clang-cc doesn't play guess work with the target triple anymore.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68119
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Tue, 31 Mar 2009 17:28:26 +0000 (17:28 +0000)]
Add -Wdeprecated-declarations to driver and add a test case.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68117
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Tue, 31 Mar 2009 17:17:14 +0000 (17:17 +0000)]
We fully support namespace aliases now.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68116
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Tue, 31 Mar 2009 17:00:52 +0000 (17:00 +0000)]
More toward nonfragile abi's synthesized ivars.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68115
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Tue, 31 Mar 2009 16:53:37 +0000 (16:53 +0000)]
Some "prep" work for handling ObjC @-string constants that contain UTF-8. No functionality change.
Changed GenerateConstantString() to take an ObjCStringLiteral (instead of a std::string). While this isn't strictly necessary, it seems cleaner and allows us to cache to "containsNonAscii" if necessary (to avoid checking in both Sema and CodeGen).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68114
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Tue, 31 Mar 2009 16:35:03 +0000 (16:35 +0000)]
Implement -Wmissing-prototypes. Fixes PR3911.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68110
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Tue, 31 Mar 2009 15:00:11 +0000 (15:00 +0000)]
Add support for -Wdeprecated-declarations.
This fixes <rdar://problem/
6712496 > Unable to disable deprecated warning.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68108
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Tue, 31 Mar 2009 10:29:45 +0000 (10:29 +0000)]
Incorporate feedback from Eli.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68107
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 31 Mar 2009 09:24:30 +0000 (09:24 +0000)]
Fix a problem in ASTContext::addRecordToClass handling forward declarations.
In a case like:
@class foo;
foo *P;
addRecordToClass was making an empty shadow struct for the foo interface and
completing it. Later when an:
@interface foo
...
@endif
foo *Q;
was seen, ASTContext::addRecordToClass would think that foo was already laid
out and not lay out the definition. This fixes it to create a forward declared
struct the first time around, then complete it when the definition is seen.
Note that this causes two tests to regress, because something is trying to get
the size of the forward declared structs returned by this. Previously, this
would end up getting a size of zero but now it properly dies. I'm not sure
what the right solution is for this, so I xfailed the tests.
Fariborz, please take a look at this. The testcase in rdar://
6676794 now gets
farther, but dies later because the objc ivar is not assigned a field number.
As an aside, I really don't like the fact that the objc front-end is creating
shadow C structs for ObjC types. This seems like an implementation detail of
the code generator that could be fixed by better factoring of the extant code.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68106
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 31 Mar 2009 09:07:15 +0000 (09:07 +0000)]
remove a dead prototype
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68105
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 31 Mar 2009 09:04:50 +0000 (09:04 +0000)]
remove the warning. We don't control what users do, and this code
is run for perfectly reasonable things like NSString* because type
layout is recursive.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68104
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 31 Mar 2009 08:58:42 +0000 (08:58 +0000)]
disable copying of Type objects.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68103
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 31 Mar 2009 08:55:07 +0000 (08:55 +0000)]
do not *copy* objc interface types, just use their reference.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68102
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 31 Mar 2009 08:48:01 +0000 (08:48 +0000)]
fill in temporary smallvectors instead of vectors for performance.
Fix BuildAggrIvarLayout to not access vectors out of range.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68101
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 31 Mar 2009 08:36:08 +0000 (08:36 +0000)]
simplify some casting
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68098
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 31 Mar 2009 08:33:16 +0000 (08:33 +0000)]
small cleanups.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68095
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 31 Mar 2009 08:31:13 +0000 (08:31 +0000)]
add a const version of the lookupFieldDeclForIvar method.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68094
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 31 Mar 2009 08:18:48 +0000 (08:18 +0000)]
reduce nesting.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68091
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 31 Mar 2009 07:46:52 +0000 (07:46 +0000)]
Codegen sometimes crashes on comparisons that aren't legal, just
disable this feature for now, to err on the side of rejecting instead
of sometimes crashing. rdar://
6326239
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68088
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Tue, 31 Mar 2009 05:47:19 +0000 (05:47 +0000)]
Check in test for namespace aliases+using directives.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68086
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Tue, 31 Mar 2009 04:51:13 +0000 (04:51 +0000)]
Document NamespaceAliasDecl.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68085
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 31 Mar 2009 03:34:38 +0000 (03:34 +0000)]
Update test case.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68084
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Tue, 31 Mar 2009 00:43:58 +0000 (00:43 +0000)]
Parsing and AST representation for dependent template names that occur
within nested-name-specifiers, e.g., for the "apply" in
typename MetaFun::template apply<T1, T2>::type
At present, we can't instantiate these nested-name-specifiers, so our
testing is sketchy.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68081
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Tue, 31 Mar 2009 00:06:29 +0000 (00:06 +0000)]
fe support for objc2's nonfragile-abi synthesized ivars.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68077
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Mon, 30 Mar 2009 23:46:03 +0000 (23:46 +0000)]
Implement UCN support for C string literals (C99 6.4.3) and add some very basic tests. Chris Goller has graciously offered to write some test to help validate UCN support.
From a front-end perspective, I believe this code should work for ObjC @-strings. At the moment, I believe we need to tweak the code generation for @-strings (which doesn't appear to handle them). Will be investigating.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68076
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Mon, 30 Mar 2009 23:39:01 +0000 (23:39 +0000)]
Slight generalization for Evaluate with const variables.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68075
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 30 Mar 2009 22:58:21 +0000 (22:58 +0000)]
Improve the representation of template names in the AST. This
representation handles the various ways in which one can name a
template, including unqualified references ("vector"), qualified
references ("std::vector"), and dependent template names
("MetaFun::template apply").
One immediate effect of this change is that the representation of
nested-name-specifiers in type names for class template
specializations (e.g., std::vector<int>) is more accurate. Rather than
representing std::vector<int> as
std::(vector<int>)
we represent it as
(std::vector)<int>
which more closely follows the C++ grammar.
Additionally, templates are no longer represented as declarations
(DeclPtrTy) in Parse-Sema interactions. Instead, I've introduced a new
OpaquePtr type (TemplateTy) that holds the representation of a
TemplateName. This will simplify the handling of dependent
template-names, once we get there.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68074
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 30 Mar 2009 22:29:21 +0000 (22:29 +0000)]
Add partial CFG support for Objective-C exception-handling blocks. We basically
assume that @catch blocks are never executed.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68072
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 30 Mar 2009 22:20:54 +0000 (22:20 +0000)]
Re-apply 68028. The code had drifted enough that the tests would fail without
it. Will discuss offline whether symbolic regions should by typed or typeless.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68070
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 30 Mar 2009 22:11:38 +0000 (22:11 +0000)]
Comment fix.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68069
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 30 Mar 2009 21:56:17 +0000 (21:56 +0000)]
Revert 68028.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68068
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Mon, 30 Mar 2009 21:33:50 +0000 (21:33 +0000)]
Added new info to property impl. AST node to support
objc2's ivar synthesis.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68064
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 30 Mar 2009 21:27:41 +0000 (21:27 +0000)]
Remove dead code.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68063
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Mon, 30 Mar 2009 21:19:48 +0000 (21:19 +0000)]
Implement -Wno-pointer-sign.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68062
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 30 Mar 2009 21:06:03 +0000 (21:06 +0000)]
Driver: Sketch FreeBSD tool chain.
- Patch by Ed Schouten!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68061
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Mon, 30 Mar 2009 20:32:06 +0000 (20:32 +0000)]
Code gen does not yet supports __asm__ on a variable
declaration. Reject it.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68058
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 30 Mar 2009 19:53:37 +0000 (19:53 +0000)]
Simplify more code by using SVal::getAsSymbol().
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68052
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 30 Mar 2009 18:45:36 +0000 (18:45 +0000)]
Simplify more code by using SVal::getAsSymbol() instead of
loc::SymbolVal/nonloc::SymbolVal probing.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68049
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 30 Mar 2009 18:39:15 +0000 (18:39 +0000)]
Convert use of loc::SymbolVal and nonloc::SymbolVal to V.getAsSymbol(). This
also makes this code more correct as it transparently handles SVals that wrapped
TypedViewRegions(SymbolicRegions).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68048
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 30 Mar 2009 18:29:27 +0000 (18:29 +0000)]
Add another uninitialized values test case illustrating that the CFG correctly
handles declarations with multiple variables.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68046
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 30 Mar 2009 18:22:51 +0000 (18:22 +0000)]
Remove a trivial FIXME
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68045
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 30 Mar 2009 18:13:26 +0000 (18:13 +0000)]
Driver: Unbreak ArgList::hasFlag.
- <rdar://problem/
6726511 > [driver] clang does not have -msoft-float
hooked up.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68044
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Mon, 30 Mar 2009 18:02:14 +0000 (18:02 +0000)]
Use CodeGenModule API for ObjC runtime function references.
Patch by David Chisnall.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68043
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 30 Mar 2009 17:59:58 +0000 (17:59 +0000)]
Fix -MD with no -MT when -o is specified (and fix test case).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68042
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 30 Mar 2009 17:53:05 +0000 (17:53 +0000)]
Add version of GRExprEngine::AddCheck that registered a GRSimpleAPICheck that
will be called for every expression in a basic block.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68041
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 30 Mar 2009 06:50:01 +0000 (06:50 +0000)]
Some very rough Driver documentation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68030
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 30 Mar 2009 06:49:40 +0000 (06:49 +0000)]
Missed test case update (part of previous commit)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68029
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Mon, 30 Mar 2009 06:48:56 +0000 (06:48 +0000)]
Make SymbolicRegion untyped.
Layer the type information with a TypedViewRegion on top of the SymbolicRegion.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68028
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 30 Mar 2009 06:36:42 +0000 (06:36 +0000)]
Driver: Support -M and -MM.
- Not particularly elegant, but my hand is forced by gcc.
Also, tweak -ccc-print-bindings output.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68027
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Mon, 30 Mar 2009 05:55:46 +0000 (05:55 +0000)]
Implement a FIXME.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68024
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 30 Mar 2009 00:34:04 +0000 (00:34 +0000)]
Improve dependency file support.
- Rip out various bits of logic from clang-cc's dependency file gen,
force driver to provide instead.
- -MD output now goes to proper location
<rdar://problem/
6723948 > clang -MD puts dep file in /tmp with wrong name
- -M and -MM still don't work correctly.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68022
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Sun, 29 Mar 2009 22:46:24 +0000 (22:46 +0000)]
Hopefully fix the rval regressions. Thanks to Chris for pointing out that valgrind complains.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68021
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 29 Mar 2009 22:29:05 +0000 (22:29 +0000)]
Driver: Track which original arguments an arg is derived from, so that
we can properly claim arguments, even if they have been translated by
the tool chain.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68020
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 29 Mar 2009 22:27:40 +0000 (22:27 +0000)]
Driver: Add test case for darwin::Preprocess and darwin::Compile
tools, and enable them.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68019
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 29 Mar 2009 22:24:54 +0000 (22:24 +0000)]
Driver: Make sure to claim -### before emitting "unused argument"
warnings.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68018
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 29 Mar 2009 22:23:49 +0000 (22:23 +0000)]
Fix typo in diagnostic.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68017
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Sun, 29 Mar 2009 20:31:09 +0000 (20:31 +0000)]
Fix the default for intptr_t on *BSD x86-32 and Windows. Slight cleanup
by moving the general case to the generic x86-32 target.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68015
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 29 Mar 2009 18:40:18 +0000 (18:40 +0000)]
Driver: Finish porting Darwin::Preprocess and Compile port (still
unused, and lacking a test case).
- ccc is now on death row, pending some more testing and bug fixes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68012
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 29 Mar 2009 17:29:28 +0000 (17:29 +0000)]
minor simplification
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68011
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 29 Mar 2009 17:27:48 +0000 (17:27 +0000)]
hoist some code for handling objc foreach construct out of Declaration processing
into ParseForStatement. Merge two tests into one.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68010
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 29 Mar 2009 17:18:04 +0000 (17:18 +0000)]
hoist checks for ; and in out of ParseInitDeclaratorListAfterFirstDeclarator
into ParseSimpleDeclaration, and improve a diagnostic.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68009
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 29 Mar 2009 17:08:39 +0000 (17:08 +0000)]
Driver: Start porting Darwin::Preprocess and Compile implementations
(currently unused).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68003
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 29 Mar 2009 16:50:03 +0000 (16:50 +0000)]
Push DeclGroup much farther throughout the compiler. Now the various
productions (except the already broken ObjC cases like @class X,Y;) in
the parser that can produce more than one Decl return a DeclGroup instead
of a Decl, etc.
This allows elimination of the Decl::NextDeclarator field, and exposes
various clients that should look at all decls in a group, but which were
only looking at one (such as the dumper, printer, etc). These have been
fixed.
Still TODO:
1) there are some FIXME's in the code about potentially using
DeclGroup for better location info.
2) ParseObjCAtDirectives should return a DeclGroup due to @class etc.
3) I'm not sure what is going on with StmtIterator.cpp, or if it can
be radically simplified now.
4) I put a truly horrible hack in ParseTemplate.cpp.
I plan to bring up #3/4 on the mailing list, but don't plan to tackle
#1/2 in the short term.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68002
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 29 Mar 2009 16:35:09 +0000 (16:35 +0000)]
DeclRefExpr refers to one decl, not all the declarators in a declaration.
Ted, please check this, this change causes no regression tests to fail.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68001
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 29 Mar 2009 16:04:50 +0000 (16:04 +0000)]
simplify
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68000
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Sun, 29 Mar 2009 15:27:50 +0000 (15:27 +0000)]
Reintroduce r67870 (rval ref overloading), since I can't reproduce any test failures on i386 or x86_64. If this fails for someone, please contact me.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67999
91177308 -0d34-0410-b5e6-
96231b3b80d8