]>
granicus.if.org Git - clang/log
Sam Weinig [Mon, 14 Sep 2009 18:17:16 +0000 (18:17 +0000)]
-Wchar-subscripts should not warn for unsigned char subscripts. Fixes PR4978.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81776
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sam Weinig [Mon, 14 Sep 2009 17:50:09 +0000 (17:50 +0000)]
Remove duplicate definition of char-subscripts DiagGroup.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81775
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Mon, 14 Sep 2009 17:32:50 +0000 (17:32 +0000)]
Removed couple of FIXME comments from test case.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81774
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Mon, 14 Sep 2009 16:40:48 +0000 (16:40 +0000)]
Using the property dot-syntax to invoke a non-eixsting
structure-valued setter should cause a user error instead of
crash.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81769
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 14 Sep 2009 05:32:02 +0000 (05:32 +0000)]
Remove an unnecessary FunctionDecl parameter to the synthesizing functions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81759
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 14 Sep 2009 04:33:21 +0000 (04:33 +0000)]
Fix subtle bug in generating LLVM function declarations for builtin functions.
The decl wasn't being passed down, which meant that function attributes were not
being set correctly. This is particularly important for ARM, since it wants to
override the calling convention. Instead we would emit the builtin with the
wrong calling convention, and instcombine would come along and merrily shred all
the calls to it. :)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81756
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 14 Sep 2009 02:20:34 +0000 (02:20 +0000)]
ARM/APCS: Don't treat structs w/ floating point types as "integer like".
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81748
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sam Weinig [Mon, 14 Sep 2009 01:58:58 +0000 (01:58 +0000)]
Add support for -Wchar-subscripts. Fixes PR4801.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81747
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 14 Sep 2009 01:30:44 +0000 (01:30 +0000)]
If a function call returns a reference, don't bind it to a temporary.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81743
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 14 Sep 2009 01:10:45 +0000 (01:10 +0000)]
Implement CodeGenFunction::EmitCXXExprWithTemporariesLValue.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81738
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 14 Sep 2009 00:56:55 +0000 (00:56 +0000)]
Some minor clang/ARM/AAPCS tweaks.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81737
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 14 Sep 2009 00:35:03 +0000 (00:35 +0000)]
Add TargetInfo::getABI(), and base ARM APCS vs AAPCS choice on that.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81735
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 14 Sep 2009 00:34:46 +0000 (00:34 +0000)]
Support -mabi= for clang/ARM.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81734
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 14 Sep 2009 00:16:25 +0000 (00:16 +0000)]
Handle delete where the class has a virtual destructor.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81733
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 14 Sep 2009 00:02:24 +0000 (00:02 +0000)]
ARM target tweaks.
- Change TargetData string to match llvm-gcc.
- Some -target-abi support for 'apcs-gnu', most importantly the alignment of double and long long changes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81732
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 14 Sep 2009 00:02:12 +0000 (00:02 +0000)]
Add -target-abi clang-cc option, currently unused.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81731
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 13 Sep 2009 23:59:13 +0000 (23:59 +0000)]
Fix a bug in getFriendObjectKind where we would clear out all mask bits except IDNS_TagFriend and IDNS_OrdinaryFriend but then check for IDNS_Tag and IDNS_Ordinary.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81730
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 13 Sep 2009 21:33:06 +0000 (21:33 +0000)]
Perform the C++ specific semantic checks of a function declaration after it's been merged with the previous declaration. This ensures that getPreviousDecl() will have the right value when ActOnConversionDeclarator is called.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81720
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 13 Sep 2009 21:01:57 +0000 (21:01 +0000)]
CXXMethodDecl::isVirtual needs to check the canonical declaration. Fixes PR4878.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81715
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 13 Sep 2009 17:55:13 +0000 (17:55 +0000)]
Fix another byref bug. This should hopefully get QuickLookPlugins building successfully.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81681
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 13 Sep 2009 17:23:57 +0000 (17:23 +0000)]
rewrite readme.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81678
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Sun, 13 Sep 2009 10:17:44 +0000 (10:17 +0000)]
Add utility to evaluate lvalues which are an offset relative to a stack
location. Patch by Enea Zaffanella.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81672
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 13 Sep 2009 08:03:58 +0000 (08:03 +0000)]
ARM/APCS: Only "integer like" aggregates should be returned in r0 (following
gcc's interpretation of APCS' somewhat loose specification).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81671
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Sun, 13 Sep 2009 07:46:26 +0000 (07:46 +0000)]
Rework the way we determine whether an externally visible symbol is
generated for an inline function definition, taking into account C99
and GNU inline/extern inline semantics. This solution is simpler,
cleaner, and fixes PR4536.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81670
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 13 Sep 2009 02:21:55 +0000 (02:21 +0000)]
Some formatting tweaks to clang(1)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81668
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 13 Sep 2009 02:21:31 +0000 (02:21 +0000)]
Add minimal INSTALL.txt
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81667
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 13 Sep 2009 01:45:29 +0000 (01:45 +0000)]
Force triple to avoid spurious differences due to runtime choice.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81666
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 12 Sep 2009 23:06:30 +0000 (23:06 +0000)]
Add RUN line.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81654
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 12 Sep 2009 23:06:21 +0000 (23:06 +0000)]
Don't use the PredefinedExpr string as the global variable name, these don't
make very nice symbols, just use the function name.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81653
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 12 Sep 2009 22:45:58 +0000 (22:45 +0000)]
rewrite the parsing code for -miphoneos-version-min and
-mmacosx-version-min to work on llvm::Triple. Simplify
it to use x-'0' to parse single digit integer strings.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81646
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 12 Sep 2009 22:45:21 +0000 (22:45 +0000)]
whitespace fix
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81644
91177308 -0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Sat, 12 Sep 2009 21:18:26 +0000 (21:18 +0000)]
Update CMake files.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81631
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Sat, 12 Sep 2009 19:52:10 +0000 (19:52 +0000)]
More improvement in building list of visible conversion
functions for a class when needed.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81624
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 12 Sep 2009 19:35:43 +0000 (19:35 +0000)]
Add a test for PR3733.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81622
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Sat, 12 Sep 2009 19:02:34 +0000 (19:02 +0000)]
Removed Context argument from couple of methods which don't
need them.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81621
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Sat, 12 Sep 2009 18:58:28 +0000 (18:58 +0000)]
Add FIXME for alignments that won't be honored.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81620
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Sat, 12 Sep 2009 18:57:58 +0000 (18:57 +0000)]
We can't have ctors in the vtable (right Doug?) :-)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81619
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Sat, 12 Sep 2009 18:26:03 +0000 (18:26 +0000)]
More work toward having an access method for visible
conversion functions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81618
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 12 Sep 2009 16:16:49 +0000 (16:16 +0000)]
Handle CK_DerivedToBase when emitting lvalue casts.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81614
91177308 -0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Sat, 12 Sep 2009 09:45:28 +0000 (09:45 +0000)]
SmallVectorize preprocessor's token cache. Testing shows there is almost never
more than one token in the cache.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81612
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 12 Sep 2009 06:04:24 +0000 (06:04 +0000)]
When necessary, null check the base value in GetAddressCXXOfBaseClass.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81611
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 12 Sep 2009 04:57:16 +0000 (04:57 +0000)]
Handle derived-to-base conversion in CGExprScalar::EmitCast, if the cast kind is CK_DerivedToBase.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81610
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 12 Sep 2009 04:46:44 +0000 (04:46 +0000)]
Use the correct CastKind for derived-to-base pointer conversions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81608
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 12 Sep 2009 04:27:24 +0000 (04:27 +0000)]
Whoops, add CGCXXClass.cpp
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81607
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 12 Sep 2009 04:26:35 +0000 (04:26 +0000)]
Rename AddressCXXOfBaseClass to GetAddressCXXOfBaseClass. Add a NullCheckValue argument (currently unused).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81606
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 12 Sep 2009 03:29:09 +0000 (03:29 +0000)]
Add CGCXXClass.cpp. and move CodeGenFunction::AddressCXXOfBaseClass there.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81604
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 12 Sep 2009 02:44:18 +0000 (02:44 +0000)]
Add support for __block variables with alignment greater than __alignof(void *).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81602
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 12 Sep 2009 02:14:24 +0000 (02:14 +0000)]
For __block variables, cache the LLVM types as well as which LLVM field where the variable is stored.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81599
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 12 Sep 2009 01:00:39 +0000 (01:00 +0000)]
Stub out room for ARM APCS ABI implementation (and AAPCS_VFP, although you can't
hit this via command line options yet).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81595
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 12 Sep 2009 00:59:49 +0000 (00:59 +0000)]
Formatting fixes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81594
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 12 Sep 2009 00:59:20 +0000 (00:59 +0000)]
Change CodeGenModule::ConstructTypeAttributes to return the calling convention
to use, and allow the ABI implementation to override the calling convention.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81593
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Sat, 12 Sep 2009 00:22:50 +0000 (00:22 +0000)]
Remove unnecessary ASTContext parameter from FunctionDecl::isBuiltinID
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81590
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Sat, 12 Sep 2009 00:17:51 +0000 (00:17 +0000)]
Remove unnecessary ASTContext parameters from isMain and isExternC
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81589
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Sat, 12 Sep 2009 00:08:48 +0000 (00:08 +0000)]
Eliminate FunctionDecl::getBodyIfAvailable
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81588
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 12 Sep 2009 00:00:29 +0000 (00:00 +0000)]
Fix a crash when generating vtables that contain destructors.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81587
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Fri, 11 Sep 2009 23:25:56 +0000 (23:25 +0000)]
Add basic covariant thunk generation support. WIP.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81585
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 11 Sep 2009 22:57:37 +0000 (22:57 +0000)]
When performing name lookup within a class template or class template
partial specialization, make sure we look into non-dependent base
classes (but not dependent base classes). Fixes PR4951.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81584
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Fri, 11 Sep 2009 22:27:50 +0000 (22:27 +0000)]
No need to build the visible conversionfunction list for root class.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81583
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 11 Sep 2009 22:25:00 +0000 (22:25 +0000)]
Set the calling convention based on the CGFunctionInfo.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81582
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 11 Sep 2009 22:24:53 +0000 (22:24 +0000)]
Add CallingConvention argument to CGFunctionInfo.
- Currently unused.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81581
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 11 Sep 2009 22:07:28 +0000 (22:07 +0000)]
Introduce "DefinedOrUnknownSVal" into the SVal class hierarchy, providing a way
to statically type various methods in SValuator/GRState as required either a
defined value or a defined-but-possibly-unknown value. This leads to various
logic cleanups in GRExprEngine, and lets the compiler enforce via type checking
our assumptions about what symbolic values are possibly undefined and what are
not.
Along the way, clean up some of the static analyzer diagnostics regarding the uses of uninitialized values.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81579
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Fri, 11 Sep 2009 21:44:33 +0000 (21:44 +0000)]
Patch to build visible conversion function list lazily and make its
first use in calling the conversion function on delete statements.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81576
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 11 Sep 2009 21:19:12 +0000 (21:19 +0000)]
Slight improvement for extern templates, so that an explicit
instantiation definition can follow an explicit instantiation
declaration. This is as far as I want to go with extern templates now,
but they will still need quite a bit more work to get all of the C++0x
semantics right.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81573
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Fri, 11 Sep 2009 21:02:39 +0000 (21:02 +0000)]
Alter Action's friend interface to prepare for templated friend declarations and
to stop making promises we can't currently keep.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81571
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 11 Sep 2009 20:56:53 +0000 (20:56 +0000)]
Fix use of uninitialized, David please check.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81570
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 11 Sep 2009 20:35:49 +0000 (20:35 +0000)]
Improve testing for extern temp templates, slightly. We are (properly) suppressing the implicit instantiation of members of extern templates
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81567
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 11 Sep 2009 20:15:17 +0000 (20:15 +0000)]
Tweak the semantics of FunctionDecl::isOutOfLine to consider an
instantiation of a member function template or member function of a
class template to be out-of-line if the definition of that function
template or member function was defined out-of-line. This ensures that
we get the correct linkage for explicit instantiations of out-of-line
definitions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81562
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sam Weinig [Fri, 11 Sep 2009 18:49:46 +0000 (18:49 +0000)]
Add test for dependent PredefinedExprs.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81550
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Fri, 11 Sep 2009 18:46:22 +0000 (18:46 +0000)]
Undid my yesterday patch which is not needed with an upcoming patch.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81549
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 11 Sep 2009 18:44:32 +0000 (18:44 +0000)]
Cleanup and test C++ default arguments. Improvements include:
- Diagnose attempts to add default arguments to templates (or member
functions of templates) after the initial declaration (DR217).
- Improve diagnostics when a default argument is redefined. Now, the
note will always point at the place where the default argument was
previously defined, rather than pointing to the most recent
declaration of the function.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81548
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 11 Sep 2009 17:54:14 +0000 (17:54 +0000)]
Just ignore friend templates for now so we won't crash.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81536
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Fri, 11 Sep 2009 17:39:05 +0000 (17:39 +0000)]
Fixes a regression in objc GC layout bitmap involving
block pointer ivars.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81535
91177308 -0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Fri, 11 Sep 2009 11:28:30 +0000 (11:28 +0000)]
Update CMakeLists.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81519
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Fri, 11 Sep 2009 07:25:08 +0000 (07:25 +0000)]
Track a class template specialization's point of instantiation separately
from its location. Initialize appropriately.
When implicitly creating a declaration of a class template specialization
after encountering the first reference to it, use the pattern class's
location instead of the location of the first reference.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81515
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Fri, 11 Sep 2009 06:45:03 +0000 (06:45 +0000)]
When stringizing a NamedDecl for a diagnostic, treat the template
specialization types differently.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81512
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 11 Sep 2009 06:34:14 +0000 (06:34 +0000)]
Update prototype.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81510
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 11 Sep 2009 05:54:14 +0000 (05:54 +0000)]
Fix PR4878 for real.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81507
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Fri, 11 Sep 2009 04:59:25 +0000 (04:59 +0000)]
Support elaborated dependent types and diagnose tag mismatches.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81504
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Fri, 11 Sep 2009 04:13:42 +0000 (04:13 +0000)]
Start to add a new transfer function that inlines callee. To be continued.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81501
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sam Weinig [Fri, 11 Sep 2009 03:29:30 +0000 (03:29 +0000)]
Test commit
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81500
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 11 Sep 2009 01:22:35 +0000 (01:22 +0000)]
Instantiate PredefinedExprs correctly. Patch by Sam Weinig!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81498
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 11 Sep 2009 01:14:50 +0000 (01:14 +0000)]
Swizzle the target triple based on -mthumb, and update clang-cc to recognize
thumb-foo-bar as an ARM target.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81497
91177308 -0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 11 Sep 2009 00:27:06 +0000 (00:27 +0000)]
Update this test to expect the "inbounds" keyword, which LLVM's constant
folder is now automatically adding.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81491
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 11 Sep 2009 00:18:58 +0000 (00:18 +0000)]
Diagnose VLAs as an error in C++.
Also, treat the GNU __null as an integral constant expression to match
GCC's behavior.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81490
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Fri, 11 Sep 2009 00:12:01 +0000 (00:12 +0000)]
Make sure ObjCInterfaceDecl's that are forward declared always contain a valid location.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81487
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 11 Sep 2009 00:11:35 +0000 (00:11 +0000)]
Pass the GlobalDecl to getMangledName, fixes PR4890.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81486
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 11 Sep 2009 00:07:24 +0000 (00:07 +0000)]
Pass GlobalDecls to GenerateCode and StartFunction.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81485
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Thu, 10 Sep 2009 23:43:36 +0000 (23:43 +0000)]
GlobalDecl doesn't have an explicit constructor anymore.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81481
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Thu, 10 Sep 2009 23:38:47 +0000 (23:38 +0000)]
Add stricter GlobalDecl constructors.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81480
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Thu, 10 Sep 2009 23:38:45 +0000 (23:38 +0000)]
Fix a regression where write-barrier was not being generated
for block pointer.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81479
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 10 Sep 2009 23:31:45 +0000 (23:31 +0000)]
Eliminate some "default"s in CheckICE.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81477
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Thu, 10 Sep 2009 23:18:36 +0000 (23:18 +0000)]
Look for overloaded arrow operators in base classes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81475
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 10 Sep 2009 23:00:15 +0000 (23:00 +0000)]
Teach LIT2 how to run Clang tests in the objdir for srcdir != objdir builds.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81472
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 10 Sep 2009 23:00:09 +0000 (23:00 +0000)]
Initial handling of -m{soft-float,hard-float,float-abi=} for ARM.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81471
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 10 Sep 2009 22:59:57 +0000 (22:59 +0000)]
Move X86 handling of -m[no-]soft-float and -m[no-]red-zone into AddX86TargetArgs.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81470
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 10 Sep 2009 22:59:51 +0000 (22:59 +0000)]
Change getLLVMArchNameForARM to just get the suffix.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81469
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Thu, 10 Sep 2009 22:26:16 +0000 (22:26 +0000)]
Patch to collect conversion methods in base(s) and derived
class into a candidate set.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81467
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Thu, 10 Sep 2009 21:48:21 +0000 (21:48 +0000)]
Non fragile ABI for GNU runtime. Patch bu David Chisnall.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81462
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Thu, 10 Sep 2009 20:48:14 +0000 (20:48 +0000)]
Don't check use of a member function declaration used if the member function is virtual and the member reference expression doesn't explicitly qualify it. Fixes PR4878.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81460
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 10 Sep 2009 17:44:23 +0000 (17:44 +0000)]
static_cast, reinterpret_cast, and const_cast can all be used in C++
integral constant expressions (for conversions to integer types,
naturally). I don't *think* that const_casts will ever get to this
point, but I also can't convince myself that they won't... so I've
taken the safe route and allowed the ICE checking code to look at
const_cast.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81453
91177308 -0d34-0410-b5e6-
96231b3b80d8