]>
granicus.if.org Git - clang/log
Douglas Gregor [Thu, 11 Jun 2009 14:53:37 +0000 (14:53 +0000)]
Prune some projects that have already been started
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73190
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Thu, 11 Jun 2009 09:11:27 +0000 (09:11 +0000)]
Bind the mistakenly generated nonloc::SymbolVal to struct correctly. See the
comments for added test case for details.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73189
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Thu, 11 Jun 2009 07:27:30 +0000 (07:27 +0000)]
Use more robust getAsRecordType() method.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73186
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Thu, 11 Jun 2009 01:11:20 +0000 (01:11 +0000)]
Make sure to calculate value-dependence correctly when deal with ICEs.
(Actually, this isn't precisely correct, but it doesn't make
sense to query whether an expression that isn't an ICE is
value-dependent anyway.)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73179
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Thu, 11 Jun 2009 01:01:02 +0000 (01:01 +0000)]
Move test to be with the other typename tests.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73178
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Thu, 11 Jun 2009 00:33:41 +0000 (00:33 +0000)]
PR4364: fix parsing 'typename' in an expression.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73177
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 11 Jun 2009 00:06:24 +0000 (00:06 +0000)]
Separate TemplateArgument instantiation logic into its own function. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73176
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 10 Jun 2009 23:47:09 +0000 (23:47 +0000)]
Template argument deduction for member pointers.
Also, introduced some of the framework for performing instantiation as
part of template argument deduction.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73175
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 10 Jun 2009 04:38:50 +0000 (04:38 +0000)]
Support complex properties, ivars and message expressions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73158
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Wed, 10 Jun 2009 04:01:38 +0000 (04:01 +0000)]
PR4350: Make sure we don't create invalid printf attributes. This isn't
visible anywhere normally because the printf format checks for
this case, and we don't print out attribute values anywhere. Original
patch by Roberto Bagnara.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73157
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Wed, 10 Jun 2009 01:32:39 +0000 (01:32 +0000)]
PR4353: Add support for \E as a character escape.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73153
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Tue, 9 Jun 2009 22:17:39 +0000 (22:17 +0000)]
Handle member pointer types with dependent class types (e.g., int
T::*) and implement template instantiation for member pointer types.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73151
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Tue, 9 Jun 2009 21:22:32 +0000 (21:22 +0000)]
Example metaprogram for reversing and searching in a type list
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73147
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Tue, 9 Jun 2009 16:35:58 +0000 (16:35 +0000)]
Implement template argument deduction for class template
specialization types. As the example shows, we can now compute the
length of a type-list using a template metaprogram and class template
partial specialization.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73136
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 9 Jun 2009 02:17:37 +0000 (02:17 +0000)]
Add redirects to new static analysis web site.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73120
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 9 Jun 2009 01:37:34 +0000 (01:37 +0000)]
Update static analyzer link to new website.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73119
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 9 Jun 2009 01:32:41 +0000 (01:32 +0000)]
Comment out preliminary text due to wishful thinking of getting more documentation done by this point.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73118
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 9 Jun 2009 01:31:18 +0000 (01:31 +0000)]
Last menu color tweaking (for now).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73117
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 9 Jun 2009 01:28:57 +0000 (01:28 +0000)]
More color tweaking.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73116
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 9 Jun 2009 01:28:04 +0000 (01:28 +0000)]
Update menu colors.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73115
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 9 Jun 2009 01:26:30 +0000 (01:26 +0000)]
Update menu color.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73114
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 9 Jun 2009 01:25:03 +0000 (01:25 +0000)]
Update checker build file (accidentally used old one).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73113
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 9 Jun 2009 01:24:15 +0000 (01:24 +0000)]
Fix link.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73112
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Mon, 8 Jun 2009 23:27:34 +0000 (23:27 +0000)]
Add more parser support for Microsoft extensions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73101
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 8 Jun 2009 22:44:26 +0000 (22:44 +0000)]
Fix test, which could miss failures, and also avoid leaving temporary .i file in
source directory.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73094
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 8 Jun 2009 22:39:13 +0000 (22:39 +0000)]
Add stack alignment to x86_64 target data.
- <rdar://problem/
6948443 > WARNING: Linking two modules of different data
layouts!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73093
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 8 Jun 2009 21:48:20 +0000 (21:48 +0000)]
Forward -C and -CC to clang.
- <rdar://problem/
6945384 > Driver should pass down -C and -CC
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73087
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 8 Jun 2009 21:21:24 +0000 (21:21 +0000)]
Add skeleton files for new analyzer site.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73086
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Mon, 8 Jun 2009 21:16:17 +0000 (21:16 +0000)]
Minor tweaks to the Windows target.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73083
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 8 Jun 2009 21:13:54 +0000 (21:13 +0000)]
PR4016: Forward -fno-show-source-location to clang.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73082
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Mon, 8 Jun 2009 20:45:44 +0000 (20:45 +0000)]
PR4346: add "R" asm register constraint.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73081
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 8 Jun 2009 19:22:23 +0000 (19:22 +0000)]
Address comments from Doug.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73077
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 8 Jun 2009 16:04:08 +0000 (16:04 +0000)]
Test template argument deduction on function types a little more
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73072
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 8 Jun 2009 15:59:14 +0000 (15:59 +0000)]
Document the template argument deduction patterns that Anders' patch supports
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73071
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 8 Jun 2009 15:19:08 +0000 (15:19 +0000)]
Template argument deduction for function types.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73070
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Mon, 8 Jun 2009 07:21:15 +0000 (07:21 +0000)]
Add real parsing for __declspec. It doesn't make much of a difference
at the moment because we ignore the result.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73056
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Mon, 8 Jun 2009 06:21:03 +0000 (06:21 +0000)]
Minor documentation update about Microsoft extensions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73052
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Mon, 8 Jun 2009 06:11:14 +0000 (06:11 +0000)]
Misc minor fixes for clang for the Windows target.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73050
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Mon, 8 Jun 2009 05:12:39 +0000 (05:12 +0000)]
Say a bit about various architectures in the users manual.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73044
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Mon, 8 Jun 2009 05:08:54 +0000 (05:08 +0000)]
Delete method which is now trivial.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73043
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 8 Jun 2009 04:26:30 +0000 (04:26 +0000)]
teach clang that -Wunused turns on all unused warnings, even though most
of these are not implemented yet.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73042
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Mon, 8 Jun 2009 04:24:21 +0000 (04:24 +0000)]
Don't allow defining a block with a non-prototype type. Remove a
hack which introduces some strange inconsistencies in compatibility
for block pointers.
Note that unlike an earlier revision proposed on cfe-commits, this patch
still allows declaring block pointers without a prototype.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73041
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 7 Jun 2009 19:51:47 +0000 (19:51 +0000)]
Instantiation support for more Obj-C expressions, string literals, @selector and @protocol expressions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73036
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 7 Jun 2009 18:45:35 +0000 (18:45 +0000)]
Template instantiation support for Obj-C @encode expressions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73034
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Sun, 7 Jun 2009 11:18:14 +0000 (11:18 +0000)]
Remove dead code: 'NewEntry' is not used.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73027
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Sun, 7 Jun 2009 09:32:56 +0000 (09:32 +0000)]
Remove a few more vector builtins.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73022
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 7 Jun 2009 08:33:23 +0000 (08:33 +0000)]
xmmintrin needs to include emmintrin, Darwin system headers seem to depend on it
defining m128[id], at least.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73021
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Sun, 7 Jun 2009 07:12:56 +0000 (07:12 +0000)]
Now that LLVM CodeGen can handle the generic variations a bit better,
get rid of a few more clang vector builtins.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73015
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Sun, 7 Jun 2009 07:09:23 +0000 (07:09 +0000)]
CMake: Install Clang's headers into the right place in the build tree, for regression testing
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73014
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Sat, 6 Jun 2009 19:09:26 +0000 (19:09 +0000)]
PR4339: make sure to properly extend/trunc the index of a vector element
insert/extract; the relevant instructions are defined to take only an
i32.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73005
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Sat, 6 Jun 2009 18:15:42 +0000 (18:15 +0000)]
Test changes to account for removed builtins.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73004
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 6 Jun 2009 17:44:12 +0000 (17:44 +0000)]
Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73001
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Sat, 6 Jun 2009 16:36:41 +0000 (16:36 +0000)]
Adds synthesize ivars to DeclContext.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73000
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Sat, 6 Jun 2009 09:36:29 +0000 (09:36 +0000)]
Add new ABIArgInfo kind: Extend. This allows target to implement its own argument
zero/sign extension logic (consider, e.g. target has only 64 bit registers and thus
i32's should be extended as well).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72998
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Sat, 6 Jun 2009 08:31:46 +0000 (08:31 +0000)]
Get rid of a bunch of dead builtins.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72996
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Sat, 6 Jun 2009 08:08:06 +0000 (08:08 +0000)]
Replace more calls to builtins with generic code.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72995
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Sat, 6 Jun 2009 07:42:17 +0000 (07:42 +0000)]
Fix obvious typo.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72994
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 6 Jun 2009 04:14:07 +0000 (04:14 +0000)]
Make ParmVarDecl::getDefaultArg() more robust, it now asserts that the argument is not unparsed. Add a new hasDefaultArg() and use it in places where getDefaultArg() was called when the argument was unparsed.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72984
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Sat, 6 Jun 2009 03:45:06 +0000 (03:45 +0000)]
Fix some casts to work without -flax-vector-conversions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72981
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Sat, 6 Jun 2009 02:13:04 +0000 (02:13 +0000)]
Misc fixes to MMX/SSE intrinsics: a few small bug fixes, and getting rid
of calls to builtins for constructs which can be expressed directly.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72979
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Sat, 6 Jun 2009 02:08:44 +0000 (02:08 +0000)]
Default builtin creation to off; we don't really want to be doing it
without a relevant source location anyway. Fixes the issue with weird
warnings when including objc/Object.h on OS X.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72978
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 5 Jun 2009 23:57:17 +0000 (23:57 +0000)]
Switch CMake testing over to use Daniels new(er) Python-based infrastructure.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72977
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Fri, 5 Jun 2009 23:49:48 +0000 (23:49 +0000)]
Avoid warnings.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72976
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Fri, 5 Jun 2009 23:26:36 +0000 (23:26 +0000)]
As an optimization, we maintain a cache of generated
___Block_byref_id_object_dispose and ___Block_byref_id_object_copy
functions so that we can simply reuse instead of creating a new one.
Additionally, add an assert to ensure no one yet tries to align a
__block variable beyond the alignment of a pointer as the codegen is
incomplete.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72974
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 5 Jun 2009 23:18:01 +0000 (23:18 +0000)]
Fix:
<rdar://problem/
6948053 > False positive: object substitution during -init* methods warns about returning +0 when using -fobjc-gc-only
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72971
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 5 Jun 2009 23:00:33 +0000 (23:00 +0000)]
Enhance attribute cf_returns_retained to also work (in the analyzer)
for non-Objctive-C pointer types. This implicitly documents that the
return type is a CF object reference.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72968
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 5 Jun 2009 22:58:34 +0000 (22:58 +0000)]
weak_import should not make definitions have weak linkage.
- <rdar://problem/
6948703 > clang treats weak_import like weak
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72967
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Fri, 5 Jun 2009 22:08:54 +0000 (22:08 +0000)]
Update cmake script
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72963
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Fri, 5 Jun 2009 22:08:42 +0000 (22:08 +0000)]
Factor out TargetABIInfo stuff into separate file. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72962
91177308 -0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Fri, 5 Jun 2009 22:05:48 +0000 (22:05 +0000)]
Set function Attribute::NoImplicitFloat appropriately.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72961
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Fri, 5 Jun 2009 18:16:35 +0000 (18:16 +0000)]
Use of DeclContext for objc's ivars. No functionality
change. More to follow.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72951
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 5 Jun 2009 16:26:18 +0000 (16:26 +0000)]
Clean up Clang regression testing in CMake, so that we get more
logical output when running all of the Clang regression tests at once.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72947
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 5 Jun 2009 16:00:31 +0000 (16:00 +0000)]
First cut at regression testing Clang with CMake
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72945
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 5 Jun 2009 15:38:08 +0000 (15:38 +0000)]
Improvements to CXXExprWithTemporaries in preparation for fixing a bug with default arguments that have temporaries.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72944
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Fri, 5 Jun 2009 08:20:10 +0000 (08:20 +0000)]
PR3443: Add stpcpy builtin (plus a few other related builtins). Yes,
we're still missing a mechanism to disable these in strict mode, but
that's not a new issue.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72936
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 5 Jun 2009 07:58:54 +0000 (07:58 +0000)]
ABI handling: Fix nasty thinko where IRgen could generate an out-of-bounds read
when generating a coercion for ABI handling purposes.
- This may only manifest itself when building at -O0, but the practical effect
is that other arguments may get clobbered.
- <rdar://problem/
6930451 > [irgen] ABI coercion clobbers other arguments
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72932
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Fri, 5 Jun 2009 07:21:14 +0000 (07:21 +0000)]
Add driver support for -fsigned-char/-funsigned-char.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72930
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Fri, 5 Jun 2009 07:12:17 +0000 (07:12 +0000)]
Add -fsigned-char option to clang-cc.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72929
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Fri, 5 Jun 2009 07:05:05 +0000 (07:05 +0000)]
Move CharIsSigned from TargetInfo to LangOptions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72928
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Fri, 5 Jun 2009 06:29:09 +0000 (06:29 +0000)]
Add a couple of FreeBSD-specific command-line options.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72927
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Fri, 5 Jun 2009 06:28:29 +0000 (06:28 +0000)]
Address review comments for #pragma weak.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72926
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 5 Jun 2009 06:03:19 +0000 (06:03 +0000)]
Add an XFAIL test to demonstrate references in Obj-C++, this currently crashes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72923
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 5 Jun 2009 05:31:27 +0000 (05:31 +0000)]
Make TemplateArgumentListBuilder take an ASTContext (because we're probably going to need it later). Move push_back to the .cpp file. If the passed in template argument is a type, assert that it's canonical.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72918
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 5 Jun 2009 04:47:51 +0000 (04:47 +0000)]
Make the TemplateArgumentList take a TemplateArgumentListBuilder.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72917
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 5 Jun 2009 04:06:48 +0000 (04:06 +0000)]
Change the specialization decls to take a TemplateArgumentListBuilder.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72916
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 5 Jun 2009 03:43:12 +0000 (03:43 +0000)]
Add a helper class for building template argument lists.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72915
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Fri, 5 Jun 2009 02:49:06 +0000 (02:49 +0000)]
Update test to work with the limited Sema for #pragma weak.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72914
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 5 Jun 2009 02:45:24 +0000 (02:45 +0000)]
Fix another crash and actually make the test case work.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72913
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Fri, 5 Jun 2009 02:44:36 +0000 (02:44 +0000)]
Start of a Sema implementation for #pragma weak. This isn't really the
right approach, but I'm still not sure what the best way to go about this is.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72912
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 5 Jun 2009 02:12:32 +0000 (02:12 +0000)]
Fix a case when the TemplateArgs vector can be empty.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72911
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 5 Jun 2009 02:03:25 +0000 (02:03 +0000)]
Fix -Asserts build warnings.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72910
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 5 Jun 2009 00:53:49 +0000 (00:53 +0000)]
Several improvements to template argument deduction:
- Once we have deduced template arguments for a class template partial
specialization, we use exactly those template arguments for instantiating
the definition of the class template partial specialization.
- Added template argument deduction for non-type template parameters.
- Added template argument deduction for dependently-sized array types.
With these changes, we can now implement, e.g., the remove_reference
type trait. Also, Daniel's Ackermann template metaprogram now compiles
properly.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72909
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Fri, 5 Jun 2009 00:50:43 +0000 (00:50 +0000)]
Test for parsing #pragma weak.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72908
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Fri, 5 Jun 2009 00:49:58 +0000 (00:49 +0000)]
Add parser support for #pragma weak.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72907
91177308 -0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 4 Jun 2009 23:45:55 +0000 (23:45 +0000)]
NoRedZone attribute test case.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72905
91177308 -0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 4 Jun 2009 23:32:02 +0000 (23:32 +0000)]
Set function attribute llvm::Attribute::NoRedZone appropriately.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72902
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Thu, 4 Jun 2009 23:03:07 +0000 (23:03 +0000)]
Fix up this compatibility hack to be more compatible with gcc.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72901
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Thu, 4 Jun 2009 23:00:29 +0000 (23:00 +0000)]
Move a couple Darwin-specific defines into getDarwinDefines.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72900
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Thu, 4 Jun 2009 21:48:59 +0000 (21:48 +0000)]
Use the correct indentation for DeclTemplate.cpp
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72892
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Thu, 4 Jun 2009 20:23:20 +0000 (20:23 +0000)]
Minor simplification.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72887
91177308 -0d34-0410-b5e6-
96231b3b80d8