]>
granicus.if.org Git - clang/log
Douglas Gregor [Wed, 26 Aug 2009 14:27:30 +0000 (14:27 +0000)]
Fix bug in __extension__ handling for declarations, from Abramo
Bagnara with a fix from Enea Zaffanella!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80094
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Wed, 26 Aug 2009 03:30:14 +0000 (03:30 +0000)]
Revert r80064 since it broke the build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80066
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Wed, 26 Aug 2009 01:54:35 +0000 (01:54 +0000)]
Implement virtual dispatch. :-) This is self-consistent with clang, but not yet
necessarily perfectly consistent with gcc.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80064
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 26 Aug 2009 00:23:27 +0000 (00:23 +0000)]
Simplified default construction of array data members
in the constructor prologue.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80060
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 26 Aug 2009 00:04:55 +0000 (00:04 +0000)]
Improve diagnostics and recovery when the nested-name-specifier of a
qualified name does not actually refer into a class/class
template/class template partial specialization.
Improve printing of nested-name-specifiers to eliminate redudant
qualifiers. Also, make it possible to output a nested-name-specifier
through a DiagnosticBuilder, although there are relatively few places
that will use this leeway.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80056
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Tue, 25 Aug 2009 23:46:41 +0000 (23:46 +0000)]
Parsing of pseudo-destructors.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80055
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 25 Aug 2009 23:46:25 +0000 (23:46 +0000)]
Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80054
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 25 Aug 2009 23:29:04 +0000 (23:29 +0000)]
Fix regression in BasicStoreManager caused by implicitly casting loaded values and trying to load/store from arrays. RegionStoreManager already properly handles these cases well; we just need to gracefully not handle this case in BasicStoreManager. This fixes PR 4781.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80051
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 25 Aug 2009 22:55:09 +0000 (22:55 +0000)]
Handle pointer arithmetic in RegionStoreManager involving Objective-C pointers
when using the non-fragile Objective-C ABI. This fixes <rdar://problem/
7168531 >.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80047
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Tue, 25 Aug 2009 22:54:02 +0000 (22:54 +0000)]
Test out-of-line definition of a static data member of a member class of a nested class template. Phew
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80046
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Tue, 25 Aug 2009 22:53:07 +0000 (22:53 +0000)]
Test out-of-line definitions of static data members of nested member class templates
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80045
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Tue, 25 Aug 2009 22:51:20 +0000 (22:51 +0000)]
Improve support for out-of-line definitions of nested templates and
their members, including member class template, member function
templates, and member classes and functions of member templates.
To actually parse the nested-name-specifiers that qualify the name of
an out-of-line definition of a member template, e.g.,
template<typename X> template<typename Y>
X Outer<X>::Inner1<Y>::foo(Y) {
return X();
}
we need to look for the template names (e.g., "Inner1") as a member of
the current instantiation (Outer<X>), even before we have entered the
scope of the current instantiation. Since we can't do this in general
(i.e., we should not be looking into all dependent
nested-name-specifiers as if they were the current instantiation), we
rely on the parser to tell us when it is parsing a declaration
specifier sequence, and, therefore, when we should consider the
current scope specifier to be a current instantiation.
Printing of complicated, dependent nested-name-specifiers may be
somewhat broken by this commit; I'll add tests for this issue and fix
the problem (if it still exists) in a subsequent commit.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80044
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Tue, 25 Aug 2009 22:02:44 +0000 (22:02 +0000)]
Clarify the difference between substitution and instantiation by renaming
functions that don't instantiate definitions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80037
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 25 Aug 2009 21:14:54 +0000 (21:14 +0000)]
Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80034
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 25 Aug 2009 20:51:30 +0000 (20:51 +0000)]
Fix crash reported in <rdar://problem/
7124210 > by "back-porting" some of the
implicit cast logic in RegionStoreManager to BasicStoreManager. This involved
moving CastRetriedVal from RegionStoreManager to StoreManager.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80026
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Tue, 25 Aug 2009 19:57:00 +0000 (19:57 +0000)]
Update Xcode project file to include indexing source files.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80022
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Tue, 25 Aug 2009 18:53:16 +0000 (18:53 +0000)]
Changed condition of an assert.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80020
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 25 Aug 2009 18:44:25 +0000 (18:44 +0000)]
Move logic of GRExprEngine::EvalBinOp to SValuator::EvalBinOp.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80018
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Tue, 25 Aug 2009 17:53:59 +0000 (17:53 +0000)]
Modify an assert to capture the restriction on friend declarations more
accurately. Prevents the assert from triggering incorrectly when friending
functions first declared in extern "C" contexts. Fixes bug 4757.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80016
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Tue, 25 Aug 2009 17:23:04 +0000 (17:23 +0000)]
Implement out-of-line definitions of nested class templates. Most of
the logic is there for out-of-line definitions with multiple levels of
nested templates, but this is still a work-in-progress: we're having
trouble determining when we should look into a dependent
nested-name-specifier.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80003
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Tue, 25 Aug 2009 16:37:49 +0000 (16:37 +0000)]
Skip over bases/fields with dependent types.
Fixes pr4771.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79999
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Tue, 25 Aug 2009 16:09:22 +0000 (16:09 +0000)]
Test case for r79968 (courtesy of Anders).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79998
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Tue, 25 Aug 2009 15:47:45 +0000 (15:47 +0000)]
Sanity checking for statement reference counts. Thanks for the suggestion, Fariborz
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79995
91177308 -0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 25 Aug 2009 15:36:09 +0000 (15:36 +0000)]
Update clang for raw_fd_ostream no longer requiring F_Force.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79991
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Tue, 25 Aug 2009 15:24:38 +0000 (15:24 +0000)]
Add a little more testing for default arguments of constructors in a class template
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79989
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Tue, 25 Aug 2009 14:12:34 +0000 (14:12 +0000)]
Handle the implicit 'this' parameter for format attributes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79987
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Tue, 25 Aug 2009 13:46:13 +0000 (13:46 +0000)]
If a parameter has a default argument expression, make sure to instantiate the parameter type before checking that the expression is a valid initializer.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79986
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Tue, 25 Aug 2009 13:14:46 +0000 (13:14 +0000)]
Emit conversion functions correctly.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79985
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Tue, 25 Aug 2009 13:07:08 +0000 (13:07 +0000)]
Improved support for default arguments in constructors for class templates.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79984
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Tue, 25 Aug 2009 06:51:30 +0000 (06:51 +0000)]
Remove CodeDecl and CFG from GRExprEngine and GRStateManager.
Now AnalysisManager is the only place we can get CodeDecl.
This leads to an API change: GRState::bindExpr() now takes the CFG argument.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79980
91177308 -0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 25 Aug 2009 06:18:11 +0000 (06:18 +0000)]
Remove a test that relies on old debug info format.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79979
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Tue, 25 Aug 2009 05:18:00 +0000 (05:18 +0000)]
InitializeVarWithConstructor now returns true on failure.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79976
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Tue, 25 Aug 2009 05:12:04 +0000 (05:12 +0000)]
BuildCXXConstructExpr now returns an OwningExprResult.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79975
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Tue, 25 Aug 2009 03:49:14 +0000 (03:49 +0000)]
Factor building of CXXDefaultArgExpr expressions out into a separate function.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79974
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Tue, 25 Aug 2009 03:33:41 +0000 (03:33 +0000)]
Remove Decl and CFG from ExplodedGraph. This leads to a series small changes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79973
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Tue, 25 Aug 2009 03:18:48 +0000 (03:18 +0000)]
Basic support for default argument expressions for function templates.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79972
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Tue, 25 Aug 2009 02:29:20 +0000 (02:29 +0000)]
Factor setting default arguments out into SetParamDefaultArgument.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79970
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Tue, 25 Aug 2009 02:07:02 +0000 (02:07 +0000)]
Fix ivar layout map generation (hopefully).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79968
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Tue, 25 Aug 2009 01:23:32 +0000 (01:23 +0000)]
Use hasDefaultArg instead of getDefaultArg.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79967
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Tue, 25 Aug 2009 01:11:14 +0000 (01:11 +0000)]
Add Decl getter/setters for uninstantiated default arguments for function parameters.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79965
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Tue, 25 Aug 2009 01:02:06 +0000 (01:02 +0000)]
Check that the default argument is well-formed before checking the initializer types.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79964
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Tue, 25 Aug 2009 00:17:23 +0000 (00:17 +0000)]
Eliminate a GCC warning
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79962
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Mon, 24 Aug 2009 23:16:37 +0000 (23:16 +0000)]
Remove #ifdef'out code.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79956
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 24 Aug 2009 23:03:25 +0000 (23:03 +0000)]
Keep track of the template parameter depth properly when we have
member templates declared inside other templates. This allows us to
match out-of-line definitions of member function templates within
class templates to the declarations within the class template. We
still can't handle out-of-line definitions for member class templates,
however.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79955
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 24 Aug 2009 22:56:32 +0000 (22:56 +0000)]
Add test case for PR 4759.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79954
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 24 Aug 2009 22:47:34 +0000 (22:47 +0000)]
ConstraintManager::AssumeDual now accepts a 'DefinedSVal' instead of 'SVal' for
the condition. This eliminates a source of bugs where the client doesn't
correctly reason about undefined or unknown values. This fixes PR 4759.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79952
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 24 Aug 2009 22:41:15 +0000 (22:41 +0000)]
Introduce 'DefinedSVal', an intermediate parent class between Loc/NonLoc and
SVal. This allows us to use the C++ type system to distinguish between SVals
that are potentially unknown/undefined and those that are not.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79951
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 24 Aug 2009 22:29:04 +0000 (22:29 +0000)]
Add missing '&&'...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79950
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 24 Aug 2009 22:26:16 +0000 (22:26 +0000)]
PR4766: Don't pass -static to 'as' on x86_64 on Darwin.
Also, do pass -static even with -dynamic on i386.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79948
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Mon, 24 Aug 2009 21:55:06 +0000 (21:55 +0000)]
Remove ivarlayout bitmap optimization, instead if all zeros,
put out the bitmap when all objects are scanned.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79947
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 24 Aug 2009 21:39:56 +0000 (21:39 +0000)]
Don't try to evaluate an expression that is type- or value-dependent while building the CFG
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79941
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 24 Aug 2009 18:55:03 +0000 (18:55 +0000)]
Skip transparent contexts when performing C++ name lookup
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79931
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 24 Aug 2009 18:37:17 +0000 (18:37 +0000)]
Handle array to pointer decay in EmitCastExpr and get rid of VisitImplicitCastExpr.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79930
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 24 Aug 2009 18:26:39 +0000 (18:26 +0000)]
Handle CK_NullToMemberPointer in ScalarExprEmitter::EmitCast
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79929
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 24 Aug 2009 18:12:39 +0000 (18:12 +0000)]
Pass the cast kind to ScalarExprEmitter::EmitCastExpr.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79928
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 24 Aug 2009 18:03:14 +0000 (18:03 +0000)]
Use the right cast kind when comparing null to member pointers.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79927
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 24 Aug 2009 17:42:35 +0000 (17:42 +0000)]
Implement support for equality comparisons (!=, ==) of member
pointers, by extending the "composite pointer type" logic to include
member pointer types.
Introduce test cases for member pointer comparisons, including those
that involve the builtin operator candidates implemented earlier.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79925
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 24 Aug 2009 17:39:36 +0000 (17:39 +0000)]
normalize the CharacterLiteral::getLocation method name, patch
by Enea Zaffanella!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79924
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Mon, 24 Aug 2009 17:19:23 +0000 (17:19 +0000)]
Fixes pr4763.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79923
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 24 Aug 2009 17:16:23 +0000 (17:16 +0000)]
More member pointer work.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79922
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 24 Aug 2009 16:52:33 +0000 (16:52 +0000)]
Remove dead code
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79921
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 24 Aug 2009 15:23:48 +0000 (15:23 +0000)]
Try to complete a type before looking for conversion functions within
that type. Note that we do not produce a diagnostic if the type is
incomplete; rather, we just don't look for conversion functions. Fixes PR4660.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79919
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 24 Aug 2009 13:43:27 +0000 (13:43 +0000)]
Refactor the template-instantiation logic for expressions into a
generic tree transformation (also used for recanonicalization) and a
small amount of template-instantiation-specific logic.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79917
91177308 -0d34-0410-b5e6-
96231b3b80d8
Torok Edwin [Mon, 24 Aug 2009 13:25:12 +0000 (13:25 +0000)]
Fix build of clang with gcc-4.4: #include <cstdio> was missing.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79916
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 24 Aug 2009 12:20:57 +0000 (12:20 +0000)]
Improve top-level-semicolon test a bit
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79913
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 24 Aug 2009 12:17:54 +0000 (12:17 +0000)]
Top-level semicolons are allowed in C++0x. Fixes PR4755.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79912
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 24 Aug 2009 11:57:43 +0000 (11:57 +0000)]
Make sure to adjust function template declarations to their templated
declarations (e.g., FunctionTemplateDecl -> CXXConstructorDecl) before
performing semantic analysis on the declarations. Fixes PR4761.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79911
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 24 Aug 2009 09:54:37 +0000 (09:54 +0000)]
Remove TargetInfo::getTargetPrefix().
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79907
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 24 Aug 2009 09:31:37 +0000 (09:31 +0000)]
Switch to StringRef based BitstreamWriter APIs, where appropriate.
- There is lots of non-endian safe code in here... :/
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79905
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 24 Aug 2009 09:16:49 +0000 (09:16 +0000)]
Remove arch normalization from Driver, this should be unnecessary now that
things have moved to llvm::Triple.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79902
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 24 Aug 2009 09:10:05 +0000 (09:10 +0000)]
Switch TargetInfo to store an llvm::Triple.
- Primarily to discourage clients form making decisions based on the string.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79901
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 24 Aug 2009 08:52:16 +0000 (08:52 +0000)]
Switch ABI selection to use llvm::Triple instead of string munging.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79900
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 24 Aug 2009 05:19:01 +0000 (05:19 +0000)]
fix a GCC type punning warning.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79895
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 24 Aug 2009 04:11:30 +0000 (04:11 +0000)]
prune #includes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79889
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 23 Aug 2009 22:45:33 +0000 (22:45 +0000)]
API changes to match llvm ToT.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79868
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 23 Aug 2009 19:41:53 +0000 (19:41 +0000)]
Reenable clang using clang-cc for C++ and all archs by default.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79861
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 23 Aug 2009 19:28:59 +0000 (19:28 +0000)]
Fix a few tests to be -Asserts agnostic.
- Ugh.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79860
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 23 Aug 2009 18:42:54 +0000 (18:42 +0000)]
Temporarily switch clang back to not using clang-cc by default for C++, and only
using clang-cc on i386 and x86_64.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79859
91177308 -0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Sun, 23 Aug 2009 12:08:50 +0000 (12:08 +0000)]
Replace cerr with errs().
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79854
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 23 Aug 2009 08:52:09 +0000 (08:52 +0000)]
cerr -> errs.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79844
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 23 Aug 2009 08:22:33 +0000 (08:22 +0000)]
Tests for C++ lex.trigraph, patch by Mats!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79841
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 23 Aug 2009 05:57:09 +0000 (05:57 +0000)]
use errs() instead of cerr.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79829
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Sun, 23 Aug 2009 05:28:29 +0000 (05:28 +0000)]
CMake: Improve installation of Clang
- Install clang-cc into libexec
- Install headers into lib/clang/<version>/include
- Don't install other clang-based tools (clang-wpa, clang-index, etc.)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79827
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Sun, 23 Aug 2009 05:02:18 +0000 (05:02 +0000)]
Don't install Clang libraries.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79824
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 23 Aug 2009 02:59:41 +0000 (02:59 +0000)]
adjust for raw_fd_ostream api change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79809
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 23 Aug 2009 01:28:08 +0000 (01:28 +0000)]
Whoops, comment this out for now. I'll fix it shortly.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79806
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 23 Aug 2009 01:25:01 +0000 (01:25 +0000)]
More work towards zero-initializing structs that contain member pointers in constant expressions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79805
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 23 Aug 2009 01:01:04 +0000 (01:01 +0000)]
Remove the PaddingFields member from CGRecordLayout, it wasn't used anyway.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79799
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Sun, 23 Aug 2009 00:27:47 +0000 (00:27 +0000)]
Catch a few more cases of illegal comparisons.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79793
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 23 Aug 2009 00:03:44 +0000 (00:03 +0000)]
Eli points out that we really must diagnose "void* > 0" as an extension.
Explicitly add it as an EXTENSION instead of an EXTWARN so that it only
comes out with -pedantic. Thanks Eli!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79791
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 23 Aug 2009 00:02:11 +0000 (00:02 +0000)]
Handle CK_NullToMemberPointer casts in the constant expr emitter.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79790
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 22 Aug 2009 23:54:44 +0000 (23:54 +0000)]
Change the constant expression emitter to look at the cast kind for to-union casts.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79789
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 22 Aug 2009 23:33:40 +0000 (23:33 +0000)]
Add CK_NullToMemberPointer and CK_BaseToDerivedMemberPointer cast kinds. Make -ast-dump print out the cast kinds of cast expressions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79787
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 22 Aug 2009 22:30:33 +0000 (22:30 +0000)]
Add a -fno-elide-constructors option to clang-cc.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79782
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Sat, 22 Aug 2009 22:27:17 +0000 (22:27 +0000)]
Type of a ?: expression whose either expression is a built-in 'id'
type is 'id' type.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79781
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Sat, 22 Aug 2009 21:13:55 +0000 (21:13 +0000)]
Don't issue warning on multiple selector found when
selector name is for a @selector expression.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79776
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Sat, 22 Aug 2009 20:32:44 +0000 (20:32 +0000)]
Removed couple of FIXME comments.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79757
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Sat, 22 Aug 2009 19:24:56 +0000 (19:24 +0000)]
Removed -Wundeclared-selector and -Wreadonly-setter-attrs from
-Wmost group (too noisy). Placed warning on parameter type
misatch between methods in sub and super class under
-Wsuper-class-method-mismatch (also too noisy).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79745
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 22 Aug 2009 18:58:31 +0000 (18:58 +0000)]
tweak some pointer sema checking stuff (which was added to implement PR4175) to
avoid emitting a warning on "someptr > 0". This is obviously questionable (they
could use != instead) but is reasonable, and the warning "ordered comparison
between pointer and integer" didn't make a ton of sense because 0 is a valid
null pointer constant.
Just silence the warning in this case, it is unlikely to indicate a bug.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79743
91177308 -0d34-0410-b5e6-
96231b3b80d8
Edward O'Callaghan [Sat, 22 Aug 2009 01:06:46 +0000 (01:06 +0000)]
Second half of, clang, AuroraUX toolchain support.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79713
91177308 -0d34-0410-b5e6-
96231b3b80d8