]> granicus.if.org Git - clang/log
clang
15 years agoFix PR4372, another case where non-prototyped functions can prevent
Chris Lattner [Sat, 13 Jun 2009 00:26:38 +0000 (00:26 +0000)]
Fix PR4372, another case where non-prototyped functions can prevent
always_inline from working.

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

15 years agoImprovements to TemplateArgumentListBuilder to make it work better with parameter...
Anders Carlsson [Sat, 13 Jun 2009 00:08:58 +0000 (00:08 +0000)]
Improvements to TemplateArgumentListBuilder to make it work better with parameter packs.

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

15 years agoA parameter pack must always come last in a class template.
Anders Carlsson [Fri, 12 Jun 2009 23:20:15 +0000 (23:20 +0000)]
A parameter pack must always come last in a class template.

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

15 years agoNo need to mark the parameter as invalid, just ignore the default argument.
Anders Carlsson [Fri, 12 Jun 2009 23:13:22 +0000 (23:13 +0000)]
No need to mark the parameter as invalid, just ignore the default argument.

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

15 years agoAddress more comments from Doug.
Anders Carlsson [Fri, 12 Jun 2009 23:09:56 +0000 (23:09 +0000)]
Address more comments from Doug.

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

15 years agoadd the location of the ')' in a do/while statement to DoStmt.
Chris Lattner [Fri, 12 Jun 2009 23:04:47 +0000 (23:04 +0000)]
add the location of the ')' in a do/while statement to DoStmt.
This fixes a source range problem reported by Olaf Krzikalla.

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

15 years agoAddress comments from Doug - Add a Sema::SemaRef.BuildBlockPointerType and use it.
Anders Carlsson [Fri, 12 Jun 2009 22:56:54 +0000 (22:56 +0000)]
Address comments from Doug - Add a Sema::SemaRef.BuildBlockPointerType and use it.

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

15 years agoIt looks like we've finished off matching of class template partial specializations...
Douglas Gregor [Fri, 12 Jun 2009 22:31:52 +0000 (22:31 +0000)]
It looks like we've finished off matching of class template partial specializations; add comments and update the C++ status page

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

15 years agoParameter packs can't have default arguments.
Anders Carlsson [Fri, 12 Jun 2009 22:30:13 +0000 (22:30 +0000)]
Parameter packs can't have default arguments.

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

15 years agoKeep track of whether a type parameter is actually a type parameter pack.
Anders Carlsson [Fri, 12 Jun 2009 22:23:22 +0000 (22:23 +0000)]
Keep track of whether a type parameter is actually a type parameter pack.

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

15 years agoFinish implementing checking of class template partial specializations
Douglas Gregor [Fri, 12 Jun 2009 22:21:45 +0000 (22:21 +0000)]
Finish implementing checking of class template partial specializations

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

15 years agoDiagnose C++ [temp.class.spec]p9b3, where a class template partial
Douglas Gregor [Fri, 12 Jun 2009 22:08:06 +0000 (22:08 +0000)]
Diagnose C++ [temp.class.spec]p9b3, where a class template partial
specialization's arguments are identical to the implicit template
arguments of the primary template. Typically, this is meant to be a
declaration/definition of the primary template, so we give that
advice.

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

15 years agoDiagnose the incorrect use of non-type template arguments for class
Douglas Gregor [Fri, 12 Jun 2009 21:21:02 +0000 (21:21 +0000)]
Diagnose the incorrect use of non-type template arguments for class
template partial specializations.

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

15 years agoMinor formatting tweak.
Eli Friedman [Fri, 12 Jun 2009 20:11:05 +0000 (20:11 +0000)]
Minor formatting tweak.

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

15 years agoFix a minor formatting mistake.
Eli Friedman [Fri, 12 Jun 2009 20:08:48 +0000 (20:08 +0000)]
Fix a minor formatting mistake.

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

15 years agoSome updates to the gcc extension sections of the users manual.
Eli Friedman [Fri, 12 Jun 2009 20:04:25 +0000 (20:04 +0000)]
Some updates to the gcc extension sections of the users manual.

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

15 years agoParse support for C++0x type parameter packs.
Anders Carlsson [Fri, 12 Jun 2009 19:58:00 +0000 (19:58 +0000)]
Parse support for C++0x type parameter packs.

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

15 years agoVerify that the template parameters of a class template partial
Douglas Gregor [Fri, 12 Jun 2009 19:43:02 +0000 (19:43 +0000)]
Verify that the template parameters of a class template partial
specialization do not have default arguments
(C++ [temp.class.spec]p10).

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

15 years agoUpdate the C++ status to reflect improvements in template argument deduction and...
Douglas Gregor [Fri, 12 Jun 2009 19:15:38 +0000 (19:15 +0000)]
Update the C++ status to reflect improvements in template argument deduction and the handling of class template partial specializations

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

15 years agoFix PR4365.
Anders Carlsson [Fri, 12 Jun 2009 18:53:02 +0000 (18:53 +0000)]
Fix PR4365.

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

15 years agoImprove template argument deduction to keep track of why template
Douglas Gregor [Fri, 12 Jun 2009 18:26:56 +0000 (18:26 +0000)]
Improve template argument deduction to keep track of why template
argument deduction failed. For example, given

  template<typename T> struct is_same<T, T> { ... };

template argument deduction will fail for is_same<int, float>, and now
reports enough information

Right now, we don't do anything with this extra information, but it
can be used for informative diagnostics that say, e.g., "template
argument deduction failed because T was deduced to 'int' in one
context and 'float' in another".

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

15 years agoIt's an error to use a function declared in a class definition as a default argument...
Anders Carlsson [Fri, 12 Jun 2009 16:51:40 +0000 (16:51 +0000)]
It's an error to use a function declared in a class definition as a default argument before the function has been declared.

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

15 years agoDeducation and instantiation of block types.
Anders Carlsson [Fri, 12 Jun 2009 16:23:10 +0000 (16:23 +0000)]
Deducation and instantiation of block types.

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

15 years agouse getAsPointerType() method.
Zhongxing Xu [Fri, 12 Jun 2009 03:59:12 +0000 (03:59 +0000)]
use getAsPointerType() method.

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

15 years agoCMake: New variable LLVM_LIBDIR_SUFFIX.
Oscar Fuentes [Fri, 12 Jun 2009 02:54:12 +0000 (02:54 +0000)]
CMake: New variable LLVM_LIBDIR_SUFFIX.

Patch by Ingmar Vanhassel!

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

15 years agoDon't assert when generating code with static_asserts.
Anders Carlsson [Thu, 11 Jun 2009 21:22:55 +0000 (21:22 +0000)]
Don't assert when generating code with static_asserts.

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

15 years agoPR4371: Reduce the inlining threshold outside of -O3. This makes
Eli Friedman [Thu, 11 Jun 2009 20:33:41 +0000 (20:33 +0000)]
PR4371: Reduce the inlining threshold outside of -O3.  This makes
the clang inlining threshold consistent with the threshold for llvm-gcc.

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

15 years agoFollowing gcc, hide the hack to include the SSE2 intrinsics from
Eli Friedman [Thu, 11 Jun 2009 18:50:02 +0000 (18:50 +0000)]
Following gcc, hide the hack to include the SSE2 intrinsics from
xmmintrin.h in an ifdef.

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

15 years agoAdd summary lookup for IOServiceGetMatchingService.
Ted Kremenek [Thu, 11 Jun 2009 18:17:24 +0000 (18:17 +0000)]
Add summary lookup for IOServiceGetMatchingService.
Convert tabs to spaces.

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

15 years agoRefactor some function name -> summary lookup using a switch statement.
Ted Kremenek [Thu, 11 Jun 2009 18:10:48 +0000 (18:10 +0000)]
Refactor some function name -> summary lookup using a switch statement.

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

15 years agoOnce we have deduced the template arguments of a class template
Douglas Gregor [Thu, 11 Jun 2009 18:10:32 +0000 (18:10 +0000)]
Once we have deduced the template arguments of a class template
partial specialization, substitute those template arguments back into
the template arguments of the class template partial specialization to
see if the results still match the original template arguments.

This code is more general than it needs to be, since we don't yet
diagnose C++ [temp.class.spec]p9. However, it's likely to be needed
for function templates.

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

15 years agoAdd a null check that fixes the crash in PR4362, and make sure to instantiate non...
Anders Carlsson [Thu, 11 Jun 2009 16:06:49 +0000 (16:06 +0000)]
Add a null check that fixes the crash in PR4362, and make sure to instantiate non-type template arguments.

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

15 years agoPoint to the clang driver, not the ccc driver
Douglas Gregor [Thu, 11 Jun 2009 14:59:18 +0000 (14:59 +0000)]
Point to the clang driver, not the ccc driver

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

15 years agoAdd pseudo-destructors to the Open Projects list
Douglas Gregor [Thu, 11 Jun 2009 14:55:39 +0000 (14:55 +0000)]
Add pseudo-destructors to the Open Projects list

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

15 years agoPrune some projects that have already been started
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

15 years agoBind the mistakenly generated nonloc::SymbolVal to struct correctly. See the
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

15 years agoUse more robust getAsRecordType() method.
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

15 years agoMake sure to calculate value-dependence correctly when deal with ICEs.
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

15 years agoMove test to be with the other typename tests.
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

15 years agoPR4364: fix parsing 'typename' in an expression.
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

15 years agoSeparate TemplateArgument instantiation logic into its own function. No functionality...
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

15 years agoTemplate argument deduction for member pointers.
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

15 years agoSupport complex properties, ivars and message expressions.
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

15 years agoPR4350: Make sure we don't create invalid printf attributes. This isn't
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

15 years agoPR4353: Add support for \E as a character escape.
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

15 years agoHandle member pointer types with dependent class types (e.g., int
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

15 years agoExample metaprogram for reversing and searching in a type list
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

15 years agoImplement template argument deduction for class template
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

15 years agoAdd redirects to new static analysis web site.
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

15 years agoUpdate static analyzer link to new website.
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

15 years agoComment out preliminary text due to wishful thinking of getting more documentation...
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

15 years agoLast menu color tweaking (for now).
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

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

15 years agoUpdate menu colors.
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

15 years agoUpdate menu color.
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

15 years agoUpdate checker build file (accidentally used old one).
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

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

15 years agoAdd more parser support for Microsoft extensions.
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

15 years agoFix test, which could miss failures, and also avoid leaving temporary .i file in
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

15 years agoAdd stack alignment to x86_64 target data.
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

15 years agoForward -C and -CC to clang.
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

15 years agoAdd skeleton files for new analyzer site.
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

15 years agoMinor tweaks to the Windows target.
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

15 years agoPR4016: Forward -fno-show-source-location to clang.
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

15 years agoPR4346: add "R" asm register constraint.
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

15 years agoAddress comments from Doug.
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

15 years agoTest template argument deduction on function types a little more
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

15 years agoDocument the template argument deduction patterns that Anders' patch supports
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

15 years agoTemplate argument deduction for function types.
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

15 years agoAdd real parsing for __declspec. It doesn't make much of a difference
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

15 years agoMinor documentation update about Microsoft extensions.
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

15 years agoMisc minor fixes for clang for the Windows target.
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

15 years agoSay a bit about various architectures in the users manual.
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

15 years agoDelete method which is now trivial.
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

15 years agoteach clang that -Wunused turns on all unused warnings, even though most
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

15 years agoDon't allow defining a block with a non-prototype type. Remove a
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

15 years agoInstantiation support for more Obj-C expressions, string literals, @selector and...
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

15 years agoTemplate instantiation support for Obj-C @encode expressions.
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

15 years agoRemove dead code: 'NewEntry' is not used.
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

15 years agoRemove a few more vector builtins.
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

15 years agoxmmintrin needs to include emmintrin, Darwin system headers seem to depend on it
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

15 years agoNow that LLVM CodeGen can handle the generic variations a bit better,
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

15 years agoCMake: Install Clang's headers into the right place in the build tree, for regression...
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

15 years agoPR4339: make sure to properly extend/trunc the index of a vector element
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

15 years agoTest changes to account for removed builtins.
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

15 years agoUpdate checker build.
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

15 years agoAdds synthesize ivars to DeclContext.
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

15 years agoAdd new ABIArgInfo kind: Extend. This allows target to implement its own argument
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

15 years agoGet rid of a bunch of dead builtins.
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

15 years agoReplace more calls to builtins with generic code.
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

15 years agoFix obvious typo.
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

15 years agoMake ParmVarDecl::getDefaultArg() more robust, it now asserts that the argument is...
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

15 years agoFix some casts to work without -flax-vector-conversions.
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

15 years agoMisc fixes to MMX/SSE intrinsics: a few small bug fixes, and getting rid
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

15 years agoDefault builtin creation to off; we don't really want to be doing it
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

15 years agoSwitch CMake testing over to use Daniels new(er) Python-based infrastructure.
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

15 years agoAvoid warnings.
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

15 years agoAs an optimization, we maintain a cache of generated
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

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

15 years agoEnhance attribute cf_returns_retained to also work (in the analyzer)
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