]> granicus.if.org Git - clang/log
clang
15 years agoFix test failure due to uninitialized member.
Eli Friedman [Sat, 15 Aug 2009 22:23:00 +0000 (22:23 +0000)]
Fix test failure due to uninitialized member.

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

15 years agoImplement __is_empty. Patch by Sean Hunt.
Eli Friedman [Sat, 15 Aug 2009 21:55:26 +0000 (21:55 +0000)]
Implement __is_empty.  Patch by Sean Hunt.

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

15 years agoIgnore -Wno-import.
Eli Friedman [Sat, 15 Aug 2009 19:28:53 +0000 (19:28 +0000)]
Ignore -Wno-import.

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

15 years agoDon't perform integer promotions on the operand to a cast; this
Eli Friedman [Sat, 15 Aug 2009 19:02:19 +0000 (19:02 +0000)]
Don't perform integer promotions on the operand to a cast; this
simplifies the AST, and can matter in some rare cases involving
casts to vector types. Patch by Enea Zaffanella.

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

15 years agoImproved on ir-gen for synthesis of non-trivial default
Fariborz Jahanian [Sat, 15 Aug 2009 18:55:17 +0000 (18:55 +0000)]
Improved on ir-gen for synthesis of non-trivial default
constructor body whose class has non-static data-members which
required non-trivial construction.

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

15 years agoAdd an additional C++ hardcoded search path.
Eli Friedman [Sat, 15 Aug 2009 03:45:14 +0000 (03:45 +0000)]
Add an additional C++ hardcoded search path.

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

15 years agoMake test more precise.
Eli Friedman [Sat, 15 Aug 2009 03:40:49 +0000 (03:40 +0000)]
Make test more precise.

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

15 years agoMake test a bit more precise.
Eli Friedman [Sat, 15 Aug 2009 03:35:55 +0000 (03:35 +0000)]
Make test a bit more precise.

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

15 years agoExtend the ProgramPoint to include the context information LocationContext,
Zhongxing Xu [Sat, 15 Aug 2009 03:17:38 +0000 (03:17 +0000)]
Extend the ProgramPoint to include the context information LocationContext,
which is either a stack frame context of the function or a local scope
context.

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

15 years agoFix for PR4721: adjust CodeGen and ASTContext so that we have a
Eli Friedman [Sat, 15 Aug 2009 02:50:32 +0000 (02:50 +0000)]
Fix for PR4721: adjust CodeGen and ASTContext so that we have a
consistent model for handling size expressions for VLAs.

The model is essentially as follows: VLA types own their associated
expression.  In some cases, we need to create multiple VLA types to
represent a given VLA (for canonical types, or qualifiers on array types,
or type merging).  If we need to create multiple types based off of
the same VLA declaration, we use the new refcounting functionality so they can
all own the expression. The VLASizeMap in CodeGenFunction then uses the size
expression to identify the group of VLA types based off of the same original
declaration.

I'm not particularly attached to the VLA types owning the expression,
but we're stuck with at least until someone comes up with a way
to walk the VLA expressions for a declaration.

I did the parallel fix in ASTContext for DependentSizedArrayType, but I
haven't really looked closely at it, so there might still be issues
there.

I'll clean up the code duplication in ASTContext in a followup commit.

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

15 years agoDisable all recognition of main() in -ffreestanding. Addresses bug #4720.
John McCall [Sat, 15 Aug 2009 02:09:25 +0000 (02:09 +0000)]
Disable all recognition of main() in -ffreestanding.  Addresses bug #4720.

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

15 years agoChange handling of attribute 'malloc' to only accept the attribute on function
Ted Kremenek [Sat, 15 Aug 2009 00:51:46 +0000 (00:51 +0000)]
Change handling of attribute 'malloc' to only accept the attribute on function
declarations (and not function pointers). This is consistent with GCC. Accepting
this attribute on function pointers means that the attribute should be treated
as a type qualifier, which apparently is not what GCC does. We obviously can
change this later should we desire to enhance the 'malloc' attribute in this
way.

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

15 years agominor cleanups for VLA stuff.
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

15 years agouse GetVLASize instead of accessing VLASizeMap directly, this gets an assert if
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

15 years agolit: flush stdout in no-fancy-progress-bar mode as well.
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

15 years agoAdd more attribute 'malloc' test cases involving function pointers.
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

15 years agoPer Eli Friedman's feedback, handle attribute 'malloc' being applied to
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

15 years agoobjc2's foreach statement's selector type can be
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

15 years agoDo now overflow while calulating upper bound for zero sized array.
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

15 years agoThis test case does not need to include 'stdlib.h'.
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

15 years agoUse 'dyn_cast' instead of a check for a function declaration followed by a
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

15 years agoImprove Sema's handling of attribute 'malloc' to reject the attribute when
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

15 years agoir-gen for generation of trvial copy constructor
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

15 years agoMake the CXXDefaultArgExpr constructor protected and add a static Create function.
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

15 years agoPass '-Wno-' options to clang-cc. This fixes <rdar://problem/6943988>.
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

15 years agoFixed a regression in deciding when to issue warning on properties which
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

15 years agoUpdate/add links to developer meeting.
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

15 years agoFix a few typos.
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

15 years agoPR4715
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

15 years agoFix spacing
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

15 years agoSupport friend declarations in templates and test that argdep lookup
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

15 years agoTestcase for a recent checkin.
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

15 years agoTestcase for recent checkin.
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

15 years agoTestcase for a recent checkin.
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

15 years agoDeconflate virtual base offsets from non-virtual base offsets.
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

15 years agoFixed a bug in ir-gen for copy assignment synthesis.
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

15 years agoAdd testcase for recent work.
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

15 years agoUpdate for LLVM API change.
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

15 years agoWe can't avoid doing the work to find all the indirect primary virtual
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

15 years agoRefine vtable layout for virtual bases and keep better track of
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

15 years agoUpdate for LLVM API change.
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

15 years agoAdds testing of copy assignment of anonymous union
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

15 years agoMore complete test for my previous patch.
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

15 years agoPatch to force synthesis of copy assignment operator
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

15 years agoMinor cleanups.
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

15 years agoPrep for vbase layout refinements. WIP.
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

15 years agoUpdate test
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

15 years agochange cast to dyn_cast because d may not be a FunctionDecl
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

15 years agoMinor refactoring of copy assign operator ir-gen. SWIP.
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

15 years agoRefine virtual base layout. WIP.
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

15 years agochange a dyn_cast to cast
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

15 years agoMore toward synthesizing copy assignments. SWIP.
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

15 years agoCleanup.
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

15 years agoRefactor. WIP. Eventually, this will all go into a vtable builder class.
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

15 years agoCleanup.
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

15 years agoRefactor.
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

15 years agoRefactor.
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

15 years agoRemove another done audit FIXME.
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

15 years agoRefactor a bit and remove some FIXME audit markers, now that the code
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

15 years agoRefine primary vbase selection ordering. WIP.
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

15 years agoPatch for synthesizing copy assignment operator.
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

15 years agoImprove the secondary vtables to not include vbase offsets. WIP.
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

15 years agoerror on property of objc interface type instead of crashing
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

15 years agoimprove path handling, patch by Baptiste Lepilleur!
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

15 years agoRefine vtable building for the secondary vtables to exclude yet more
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

15 years agouse the new llvm::Triple parsing stuffola for handling darwin version #'s.
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

15 years agoTransition the PCH support for ShuffleVectorExpr over to ASTContext allocation
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

15 years agoMore cleanups.
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

15 years agoRemove redundant forward declarations.
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

15 years agoFix a fixme by allocating ShuffleVectorExprs in the Context
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

15 years agoUse the new nsw form of add for signed integer addition.
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

15 years agoWarn on use of property dot syntax when unused.
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

15 years agoUse the inbounds variant of getelementptr for common pointer arithmetic.
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

15 years agoAdd some information about temporaries to the statement dumper.
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

15 years agono more .inc files to be ignored in this directory
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

15 years agoRename macro to avoid a name clash on FreeBSD.
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

15 years agoRemove the hack that turns sdiv by a power of 2 to ashr, and
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

15 years agoAdd newline at end of file.
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

15 years agoPatch to warn if a property which is 'assign' by default
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

15 years agoAdd a FriendClassDecl type for holding declarations of friend types in
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

15 years agomerge two tests.
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

15 years agoFix rdar://7126285: don't warn on unused ObjC property access
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

15 years agoir-gen support for anonymous union data member
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

15 years agoUpdate test case.
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

15 years agoLLVMContext is a class now.
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

15 years agoFix DISABLE_SMART_POINTERS build
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

15 years agoArgument-dependent lookup for friend declarations. Add a new decl type,
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

15 years agoRefactor the template-instantiation logic for expressions into a
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

15 years agoCheck whether a tag was defined in a C++ condition declaration using GetTypeForDeclar...
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

15 years agoImplement more of the inductive case for vtable layout involving
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

15 years agoFix an indentation.
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

15 years agoSupport for anonymous union in ctor's initializer and
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

15 years agoTake 2 on AltiVec-style vector initializers.
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

15 years agoAdd a CastInfo struct that will be used for cast information when constructing cast...
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

15 years agofix a couple of problems with section attributes:
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

15 years agothese tests include section specifiers that aren't valid on the
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

15 years agominor refactoring. No change otherwise.
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

15 years agoir-gen for generating copying of scalar data members in
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

15 years agoAdd walking bases in reverse order.
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

15 years agoFixed a ir-gen bug in synthesizing copy constructors.
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