]>
granicus.if.org Git - clang/log
Chris Lattner [Sat, 15 Aug 2009 00:03:43 +0000 (00:03 +0000)]
minor cleanups for VLA stuff.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79059
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 14 Aug 2009 23:43:22 +0000 (23:43 +0000)]
use GetVLASize instead of accessing VLASizeMap directly, this gets an assert if
VLASize isn't populated for the type yet.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79057
91177308 -0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Fri, 14 Aug 2009 23:34:45 +0000 (23:34 +0000)]
lit: flush stdout in no-fancy-progress-bar mode as well.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79056
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 14 Aug 2009 22:06:01 +0000 (22:06 +0000)]
Add more attribute 'malloc' test cases involving function pointers.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79055
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 14 Aug 2009 22:03:27 +0000 (22:03 +0000)]
Per Eli Friedman's feedback, handle attribute 'malloc' being applied to
declarations of function pointers.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79053
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Fri, 14 Aug 2009 21:53:27 +0000 (21:53 +0000)]
objc2's foreach statement's selector type can be
a block pointer too.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79050
91177308 -0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Fri, 14 Aug 2009 20:57:45 +0000 (20:57 +0000)]
Do now overflow while calulating upper bound for zero sized array.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79043
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 14 Aug 2009 20:53:10 +0000 (20:53 +0000)]
This test case does not need to include 'stdlib.h'.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79042
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 14 Aug 2009 20:51:58 +0000 (20:51 +0000)]
Use 'dyn_cast' instead of a check for a function declaration followed by a
'cast'.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79041
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 14 Aug 2009 20:49:40 +0000 (20:49 +0000)]
Improve Sema's handling of attribute 'malloc' to reject the attribute when
attaching to Objective-C methods (which mirrors GCC's behavior) and to allow the
return type of the function to be an Objective-C pointer or Block pointer (which
GCC also accepts).
Along the way, add 'const' to some of the pointer arguments of various utility
functions...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79040
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Fri, 14 Aug 2009 20:11:43 +0000 (20:11 +0000)]
ir-gen for generation of trvial copy constructor
call.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79034
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 14 Aug 2009 18:30:22 +0000 (18:30 +0000)]
Make the CXXDefaultArgExpr constructor protected and add a static Create function.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79013
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 14 Aug 2009 18:20:50 +0000 (18:20 +0000)]
Pass '-Wno-' options to clang-cc. This fixes <rdar://problem/
6943988 >.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79011
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Fri, 14 Aug 2009 18:06:25 +0000 (18:06 +0000)]
Fixed a regression in deciding when to issue warning on properties which
implement NSCopying protocol in GC mode.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79008
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 14 Aug 2009 17:11:34 +0000 (17:11 +0000)]
Update/add links to developer meeting.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79005
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 14 Aug 2009 04:43:04 +0000 (04:43 +0000)]
Fix a few typos.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78991
91177308 -0d34-0410-b5e6-
96231b3b80d8
Shantonu Sen [Fri, 14 Aug 2009 04:07:15 +0000 (04:07 +0000)]
PR4715
-Wno-error disables WarningsAsErrors instead of
mistakenly being treated like -Werror
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78987
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 14 Aug 2009 02:39:47 +0000 (02:39 +0000)]
Fix spacing
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78981
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Fri, 14 Aug 2009 02:03:10 +0000 (02:03 +0000)]
Support friend declarations in templates and test that argdep lookup
still works.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78979
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Fri, 14 Aug 2009 01:50:51 +0000 (01:50 +0000)]
Testcase for a recent checkin.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78974
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Fri, 14 Aug 2009 01:48:56 +0000 (01:48 +0000)]
Testcase for recent checkin.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78973
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Fri, 14 Aug 2009 01:46:56 +0000 (01:46 +0000)]
Testcase for a recent checkin.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78972
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Fri, 14 Aug 2009 01:44:03 +0000 (01:44 +0000)]
Deconflate virtual base offsets from non-virtual base offsets.
Deconflate a virtual base primary from a non-virtual base.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78971
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Fri, 14 Aug 2009 00:01:54 +0000 (00:01 +0000)]
Fixed a bug in ir-gen for copy assignment synthesis.
Fixed a bug when evaluating those copy-assignments
which need by lazily syntheized. A test case
for these.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78965
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Thu, 13 Aug 2009 23:33:29 +0000 (23:33 +0000)]
Add testcase for recent work.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78959
91177308 -0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 13 Aug 2009 23:27:53 +0000 (23:27 +0000)]
Update for LLVM API change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78957
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Thu, 13 Aug 2009 23:26:06 +0000 (23:26 +0000)]
We can't avoid doing the work to find all the indirect primary virtual
base classes as we'll need that to layout the virtual bases...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78954
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Thu, 13 Aug 2009 22:53:07 +0000 (22:53 +0000)]
Refine vtable layout for virtual bases and keep better track of
primaries. WIP.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78950
91177308 -0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 13 Aug 2009 21:57:51 +0000 (21:57 +0000)]
Update for LLVM API change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78946
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Thu, 13 Aug 2009 21:47:21 +0000 (21:47 +0000)]
Adds testing of copy assignment of anonymous union
data members.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78943
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Thu, 13 Aug 2009 21:38:50 +0000 (21:38 +0000)]
More complete test for my previous patch.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78941
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Thu, 13 Aug 2009 21:09:41 +0000 (21:09 +0000)]
Patch to force synthesis of copy assignment operator
function in the order according to c++03. ir-gen
for copy assignment in the trivial case and the first
test case.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78938
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Thu, 13 Aug 2009 18:39:54 +0000 (18:39 +0000)]
Minor cleanups.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78927
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Thu, 13 Aug 2009 02:02:14 +0000 (02:02 +0000)]
Prep for vbase layout refinements. WIP.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78882
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 13 Aug 2009 01:27:45 +0000 (01:27 +0000)]
Update test
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78877
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ryan Flynn [Thu, 13 Aug 2009 01:19:23 +0000 (01:19 +0000)]
change cast to dyn_cast because d may not be a FunctionDecl
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78876
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Thu, 13 Aug 2009 00:53:36 +0000 (00:53 +0000)]
Minor refactoring of copy assign operator ir-gen. SWIP.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78875
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Thu, 13 Aug 2009 00:34:14 +0000 (00:34 +0000)]
Refine virtual base layout. WIP.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78873
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ryan Flynn [Wed, 12 Aug 2009 23:36:28 +0000 (23:36 +0000)]
change a dyn_cast to cast
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78862
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 12 Aug 2009 23:34:46 +0000 (23:34 +0000)]
More toward synthesizing copy assignments. SWIP.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78861
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Wed, 12 Aug 2009 23:25:18 +0000 (23:25 +0000)]
Cleanup.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78858
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Wed, 12 Aug 2009 23:14:12 +0000 (23:14 +0000)]
Refactor. WIP. Eventually, this will all go into a vtable builder class.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78857
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Wed, 12 Aug 2009 23:03:28 +0000 (23:03 +0000)]
Cleanup.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78855
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Wed, 12 Aug 2009 23:00:59 +0000 (23:00 +0000)]
Refactor.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78854
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Wed, 12 Aug 2009 22:34:12 +0000 (22:34 +0000)]
Refactor.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78851
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Wed, 12 Aug 2009 22:10:00 +0000 (22:10 +0000)]
Remove another done audit FIXME.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78847
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Wed, 12 Aug 2009 22:06:55 +0000 (22:06 +0000)]
Refactor a bit and remove some FIXME audit markers, now that the code
has been audited for correctness.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78846
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Wed, 12 Aug 2009 21:50:08 +0000 (21:50 +0000)]
Refine primary vbase selection ordering. WIP.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78844
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 12 Aug 2009 21:14:35 +0000 (21:14 +0000)]
Patch for synthesizing copy assignment operator.
WIP.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78841
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Wed, 12 Aug 2009 18:50:26 +0000 (18:50 +0000)]
Improve the secondary vtables to not include vbase offsets. WIP.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78831
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 12 Aug 2009 18:17:53 +0000 (18:17 +0000)]
error on property of objc interface type instead of crashing
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78826
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 12 Aug 2009 17:50:39 +0000 (17:50 +0000)]
improve path handling, patch by Baptiste Lepilleur!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78824
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Wed, 12 Aug 2009 17:42:21 +0000 (17:42 +0000)]
Refine vtable building for the secondary vtables to exclude yet more
cases where a virtual base was already used as a primary base class.
WIP.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78820
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 12 Aug 2009 06:24:27 +0000 (06:24 +0000)]
use the new llvm::Triple parsing stuffola for handling darwin version #'s.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78794
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Wed, 12 Aug 2009 02:28:50 +0000 (02:28 +0000)]
Transition the PCH support for ShuffleVectorExpr over to ASTContext allocation
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78783
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Wed, 12 Aug 2009 02:28:32 +0000 (02:28 +0000)]
More cleanups.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78782
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Wed, 12 Aug 2009 02:23:28 +0000 (02:23 +0000)]
Remove redundant forward declarations.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78781
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Wed, 12 Aug 2009 02:10:25 +0000 (02:10 +0000)]
Fix a fixme by allocating ShuffleVectorExprs in the Context
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78780
91177308 -0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 12 Aug 2009 01:16:29 +0000 (01:16 +0000)]
Use the new nsw form of add for signed integer addition.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78765
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 12 Aug 2009 00:45:33 +0000 (00:45 +0000)]
Warn on use of property dot syntax when unused.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78760
91177308 -0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 12 Aug 2009 00:33:55 +0000 (00:33 +0000)]
Use the inbounds variant of getelementptr for common pointer arithmetic.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78756
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Wed, 12 Aug 2009 00:21:52 +0000 (00:21 +0000)]
Add some information about temporaries to the statement dumper.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78754
91177308 -0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Tue, 11 Aug 2009 23:45:06 +0000 (23:45 +0000)]
no more .inc files to be ignored in this directory
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78751
91177308 -0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Tue, 11 Aug 2009 22:46:25 +0000 (22:46 +0000)]
Rename macro to avoid a name clash on FreeBSD.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78741
91177308 -0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 11 Aug 2009 22:40:09 +0000 (22:40 +0000)]
Remove the hack that turns sdiv by a power of 2 to ashr, and
use the new "exact" sdiv to allow LLVM optimization to perform
this transformation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78739
91177308 -0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Tue, 11 Aug 2009 22:33:06 +0000 (22:33 +0000)]
Add newline at end of file.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78735
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Tue, 11 Aug 2009 22:02:25 +0000 (22:02 +0000)]
Patch to warn if a property which is 'assign' by default
may not implement NSCopying protocol in -fobjc-gc[-only] mode.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78726
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Tue, 11 Aug 2009 21:13:21 +0000 (21:13 +0000)]
Add a FriendClassDecl type for holding declarations of friend types in
the AST, and create such declarations.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78719
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 11 Aug 2009 20:08:52 +0000 (20:08 +0000)]
merge two tests.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78705
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 11 Aug 2009 20:08:03 +0000 (20:08 +0000)]
Fix rdar://
7126285 : don't warn on unused ObjC property access
that uses "dot syntax" since it might have a side effect.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78704
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Tue, 11 Aug 2009 18:49:54 +0000 (18:49 +0000)]
ir-gen support for anonymous union data member
copying in copy constructors and used in
default constructor's initializer list.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78700
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 11 Aug 2009 18:37:40 +0000 (18:37 +0000)]
Update test case.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78699
91177308 -0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Tue, 11 Aug 2009 17:46:57 +0000 (17:46 +0000)]
LLVMContext is a class now.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78691
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Tue, 11 Aug 2009 15:56:57 +0000 (15:56 +0000)]
Fix DISABLE_SMART_POINTERS build
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78674
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Tue, 11 Aug 2009 06:59:38 +0000 (06:59 +0000)]
Argument-dependent lookup for friend declarations. Add a new decl type,
FriendFunctionDecl, and create instances as appropriate.
The design of FriendFunctionDecl is still somewhat up in the air; you can
befriend arbitrary types of functions --- methods, constructors, etc. ---
and it's not clear that this representation captures that very well.
We'll have a better picture when we start consuming this data in access
control.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78653
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Tue, 11 Aug 2009 05:31:07 +0000 (05:31 +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@78645
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Tue, 11 Aug 2009 05:20:41 +0000 (05:20 +0000)]
Check whether a tag was defined in a C++ condition declaration using GetTypeForDeclarator.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78644
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Tue, 11 Aug 2009 04:03:59 +0000 (04:03 +0000)]
Implement more of the inductive case for vtable layout involving
virtual base primaries and improve the layout of classes with virtual
bases. WIP.
Hey, I've decided I want a change to FileCheck, I need to ensure that
the group is together, nothing in between. Can we change it to check
the match line is from the line immediately following the last matched
line, if the source for the matched line is immediately after the
source for the previously matched line?
// CHECK: 1
// CHECK: 2
// CHECK: 3
// CHECK: 4
// CHECK: 5
// CHECK: 6
would require 1 2 and 3 to be continuous in the output, and 4 5 and 6
to be continuous.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78638
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Mon, 10 Aug 2009 23:59:59 +0000 (23:59 +0000)]
Fix an indentation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78624
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Mon, 10 Aug 2009 23:56:17 +0000 (23:56 +0000)]
Support for anonymous union in ctor's initializer and
bunch of FIXMEs for their is-gen.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78623
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Mon, 10 Aug 2009 23:49:36 +0000 (23:49 +0000)]
Take 2 on AltiVec-style vector initializers.
Fixes PR4704 problems
Addresses Eli's patch feedback re: ugly cast code
Updates all postfix operators to remove ParenListExprs. While this is awful,
no better solution (say, in the parser) is obvious to me. Better solutions
welcome.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78621
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 10 Aug 2009 21:30:22 +0000 (21:30 +0000)]
Add a CastInfo struct that will be used for cast information when constructing cast expressions. Right now it only stores the cast kind, but in the future it might store conversion functions and constructors.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78599
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 10 Aug 2009 19:03:04 +0000 (19:03 +0000)]
fix a couple of problems with section attributes:
1. Passing something that isn't a string used to cause:
"argument to annotate attribute was not a string literal"
make it say "section attribute" instead.
2. Fix the location of the above message to point to the
bad argument instead of the section token.
3. Implement rdar://
4341926 , by diagnosing invalid section
specifiers in the frontend rather than letting them slip all
the way to the assembler (a QoI win).
An example of #3 is that we used to produce something like this:
/var/folders/n7/n7Yno9ihEm894640nJdSQU+++TI/-Tmp-//ccFPFGtT.s:2:Expected comma after segment-name
/var/folders/n7/n7Yno9ihEm894640nJdSQU+++TI/-Tmp-//ccFPFGtT.s:2:Rest of line ignored. 1st junk character valued 46 (.).
Daniel improved clang to use llvm_report_error, so now we got:
$ clang t.c -c
fatal error: error in backend: Global variable 'x' has an invalid section specifier 'sadf': mach-o section specifier
requires a segment and section separated by a comma.
with no loc info. Now we get:
$ clang t.c -fsyntax-only
t.c:4:30: error: argument to 'section' attribute is not valid for this target: mach-o section specifier requires a segment
and section separated by a comma
int x __attribute__((section("sadf")));
^
which is nice :)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78586
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 10 Aug 2009 18:56:44 +0000 (18:56 +0000)]
these tests include section specifiers that aren't valid on the
mac, use an explicit triple.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78583
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Mon, 10 Aug 2009 18:46:38 +0000 (18:46 +0000)]
minor refactoring. No change otherwise.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78582
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Mon, 10 Aug 2009 18:34:26 +0000 (18:34 +0000)]
ir-gen for generating copying of scalar data members in
a synthesized copy constructor.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78580
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Mon, 10 Aug 2009 18:21:22 +0000 (18:21 +0000)]
Add walking bases in reverse order.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78578
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Mon, 10 Aug 2009 17:20:45 +0000 (17:20 +0000)]
Fixed a ir-gen bug in synthesizing copy constructors.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78570
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 10 Aug 2009 03:40:28 +0000 (03:40 +0000)]
Use LLVM's new error handler API to report back end errors using Diagnostic.
For example,
--
ddunbar@giles:Frontend$ clang -c backend-errors.c
fatal error: error in backend: Global variable 'a' has an invalid section specifier
'I AM, not, legal': mach-o section specifier uses an unknown section type.
--
compare to:
--
ddunbar@giles:Frontend$ gcc -c backend-errors.c
/var/folders/DQ/DQ8GT3++HESEzT1obWBynE+++TI/-Tmp-//cc45w2pq.s:2:Expected comma after segment-name
/var/folders/DQ/DQ8GT3++HESEzT1obWBynE+++TI/-Tmp-//cc45w2pq.s:2:Rest of line ignored. 1st junk character valued 77 (M).
--
Yay!
I am not tied to my wording choice, we could also go with "uncoverable error"
for the prefix, or just leave it off entirely.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78554
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 10 Aug 2009 03:01:36 +0000 (03:01 +0000)]
Revert r78535, it is causing a number of failures to build projects.
--- Reverse-merging r78535 into '.':
D test/Sema/altivec-init.c
U include/clang/Basic/DiagnosticSemaKinds.td
U include/clang/AST/Expr.h
U include/clang/AST/StmtNodes.def
U include/clang/Parse/Parser.h
U include/clang/Parse/Action.h
U tools/clang-cc/clang-cc.cpp
U lib/Frontend/PrintParserCallbacks.cpp
U lib/CodeGen/CGExprScalar.cpp
U lib/Sema/SemaInit.cpp
U lib/Sema/Sema.h
U lib/Sema/SemaExpr.cpp
U lib/Sema/SemaTemplateInstantiateExpr.cpp
U lib/AST/StmtProfile.cpp
U lib/AST/Expr.cpp
U lib/AST/StmtPrinter.cpp
U lib/Parse/ParseExpr.cpp
U lib/Parse/ParseExprCXX.cpp
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78551
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ryan Flynn [Sun, 9 Aug 2009 22:36:29 +0000 (22:36 +0000)]
warn, as gcc does, if __attribute__((malloc)) applied to function returning non-pointer type
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78542
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ryan Flynn [Sun, 9 Aug 2009 20:07:29 +0000 (20:07 +0000)]
map previously ignored __attribute((malloc)) to noalias attribute of llvm function's return
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78541
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 9 Aug 2009 18:26:27 +0000 (18:26 +0000)]
Improve handling of member pointers.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78536
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Sun, 9 Aug 2009 17:55:44 +0000 (17:55 +0000)]
AltiVec-style vector initializer syntax, vec4 a = (vec4)(a, b, c, d);
In addition to being defined by the AltiVec PIM, this is also the vector
initializer syntax used by OpenCL, so that vector literals are compatible
with macro arguments.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78535
91177308 -0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Sat, 8 Aug 2009 23:43:26 +0000 (23:43 +0000)]
Older GCCs don't have vector::data().
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78519
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Sat, 8 Aug 2009 23:32:22 +0000 (23:32 +0000)]
ir-gen for initialization, in synthesize copy constructor,
of base/field which have trivial copy constructor.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78516
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 8 Aug 2009 23:24:23 +0000 (23:24 +0000)]
Add support for global initializers.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78515
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 8 Aug 2009 21:45:14 +0000 (21:45 +0000)]
Refactor some code and implement support for global destructors for static variables.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78507
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 8 Aug 2009 21:04:35 +0000 (21:04 +0000)]
Use CastExpr::CK_ArrayToPointerDecay and fix an assert.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78502
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 8 Aug 2009 19:43:14 +0000 (19:43 +0000)]
Add tests.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78491
91177308 -0d34-0410-b5e6-
96231b3b80d8