]> granicus.if.org Git - clang/log
clang
15 years agoChris doesn't want the FIXME.
Mike Stump [Wed, 16 Sep 2009 01:35:21 +0000 (01:35 +0000)]
Chris doesn't want the FIXME.

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

15 years agoAdd a FIXME, so the next person don't trip as hard on the landmines.
Mike Stump [Wed, 16 Sep 2009 01:31:09 +0000 (01:31 +0000)]
Add a FIXME, so the next person don't trip as hard on the landmines.

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

15 years agoCollapse more clang version numbers down into fewer places.
Mike Stump [Wed, 16 Sep 2009 01:26:05 +0000 (01:26 +0000)]
Collapse more clang version numbers down into fewer places.

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

15 years agoSome people don't want to fix their broken code just yet, so turn off
Mike Stump [Wed, 16 Sep 2009 00:39:34 +0000 (00:39 +0000)]
Some people don't want to fix their broken code just yet, so turn off
hard error for falling off a noreturn function.

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

15 years agoFix a typo in a FIXME
Douglas Gregor [Wed, 16 Sep 2009 00:01:48 +0000 (00:01 +0000)]
Fix a typo in a FIXME

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

15 years agoBack to 1.1 we go.
Mike Stump [Tue, 15 Sep 2009 23:04:22 +0000 (23:04 +0000)]
Back to 1.1 we go.

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

15 years agoIn building list of visible conversion functions, use
Fariborz Jahanian [Tue, 15 Sep 2009 23:02:16 +0000 (23:02 +0000)]
In building list of visible conversion functions, use
result type of template convesion functions.

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

15 years agoBack out for now, as apparently there is some really broken code somewhere.
Mike Stump [Tue, 15 Sep 2009 22:49:27 +0000 (22:49 +0000)]
Back out for now, as apparently there is some really broken code somewhere.

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

15 years agoWhen implicitly declaring operators new, new[], delete, and delete[],
Douglas Gregor [Tue, 15 Sep 2009 22:30:29 +0000 (22:30 +0000)]
When implicitly declaring operators new, new[], delete, and delete[],
give them the appropriate exception specifications. This,
unfortunately, requires us to maintain and/or implicitly generate
handles to namespace "std" and the class "std::bad_alloc". However,
every other approach I've come up with was more hackish, and this
standard requirement itself is quite the hack.

Fixes PR4829.

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

15 years agoUpdate Clang version for CMake
Douglas Gregor [Tue, 15 Sep 2009 22:30:13 +0000 (22:30 +0000)]
Update Clang version for CMake

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

15 years ago1) don't do overload resolution in selecting conversion
Fariborz Jahanian [Tue, 15 Sep 2009 22:15:23 +0000 (22:15 +0000)]
1) don't do overload resolution in selecting conversion
to pointer function for delete expression. 2)
Treat type conversion function and its 'const' version
as identical in building the visible conversion list.

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

15 years agoBump.
Mike Stump [Tue, 15 Sep 2009 22:08:24 +0000 (22:08 +0000)]
Bump.

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

15 years agoBe sure to use the correct version instead of the wrong one.
Mike Stump [Tue, 15 Sep 2009 21:49:22 +0000 (21:49 +0000)]
Be sure to use the correct version instead of the wrong one.

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

15 years agoBe sure to use the correct version instead of inventing the wrong one.
Mike Stump [Tue, 15 Sep 2009 21:48:34 +0000 (21:48 +0000)]
Be sure to use the correct version instead of inventing the wrong one.

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

15 years agoAdd back the workaround since it lead to constructor conversion bugs :(
Anders Carlsson [Tue, 15 Sep 2009 21:14:33 +0000 (21:14 +0000)]
Add back the workaround since it lead to constructor conversion bugs :(

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

15 years agoCommit test case from PR4655, which tests the canonical-types fix in r81913
Douglas Gregor [Tue, 15 Sep 2009 21:14:05 +0000 (21:14 +0000)]
Commit test case from PR4655, which tests the canonical-types fix in r81913

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

15 years agoMake sure we're comparing the canonical types when we determine
Douglas Gregor [Tue, 15 Sep 2009 20:50:23 +0000 (20:50 +0000)]
Make sure we're comparing the canonical types when we determine
whether a constructor is a copy constructor.

Sadly, I wasn't able to get down to a test case smaller than libstdc++'s
<string>.

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

15 years ago- clang_getCursor(): Replace asserts with error codes (CXCursor_InvalidFile, CXCursor...
Steve Naroff [Tue, 15 Sep 2009 20:25:34 +0000 (20:25 +0000)]
- clang_getCursor(): Replace asserts with error codes (CXCursor_InvalidFile, CXCursor_NoDeclFound).
- Add predicate clang_isInvalid().
- Implement clang_getCursorFromDecl().

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

15 years agoWhen printing an overload candidate that is a function template specialization,
Douglas Gregor [Tue, 15 Sep 2009 20:11:42 +0000 (20:11 +0000)]
When printing an overload candidate that is a function template specialization,
point at the template and print out its template arguments, e.g.,

ambiguous-ovl-print.cpp:5:8: note: candidate function template specialization
      [with T = int]
  void f(T*, long);

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

15 years agoIssue good diagnostics when initialization failes due to
Fariborz Jahanian [Tue, 15 Sep 2009 19:12:21 +0000 (19:12 +0000)]
Issue good diagnostics when initialization failes due to
ambiguity in type conversion function selection.

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

15 years agoAdd an assertion and a test case, in a fruitless attempt to track down an existing bug
Douglas Gregor [Tue, 15 Sep 2009 18:26:13 +0000 (18:26 +0000)]
Add an assertion and a test case, in a fruitless attempt to track down an existing bug

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

15 years agoFix static analyzer regression when emitting undefined value warnings
Ted Kremenek [Tue, 15 Sep 2009 17:43:54 +0000 (17:43 +0000)]
Fix static analyzer regression when emitting undefined value warnings
with binary operators.  The result of a binary operator may be
undefined even if its operands are well-defined.

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

15 years agoPerform overload resolution when selecting a pointer conversion
Fariborz Jahanian [Tue, 15 Sep 2009 17:21:47 +0000 (17:21 +0000)]
Perform overload resolution when selecting a pointer conversion
function for delete of a class expression and issue
good diagnostic when result is ambiguous.

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

15 years agoSlightly improved template argument deduction for use in partial
Douglas Gregor [Tue, 15 Sep 2009 16:51:42 +0000 (16:51 +0000)]
Slightly improved template argument deduction for use in partial
ordering, along with another test case for partial ordering of partial
specializations.

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

15 years agoAdd test case.
Anders Carlsson [Tue, 15 Sep 2009 16:36:17 +0000 (16:36 +0000)]
Add test case.

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

15 years agoCode generation of Conditional operators that are lvalues (but that aren't bitfields).
Anders Carlsson [Tue, 15 Sep 2009 16:35:24 +0000 (16:35 +0000)]
Code generation of Conditional operators that are lvalues (but that aren't bitfields).

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

15 years agoImplement partial ordering of class template partial specializations
Douglas Gregor [Tue, 15 Sep 2009 16:23:51 +0000 (16:23 +0000)]
Implement partial ordering of class template partial specializations
(C++ [temp.class.order]).

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

15 years agoUpdate for inherited conversion function support.
Fariborz Jahanian [Tue, 15 Sep 2009 16:15:23 +0000 (16:15 +0000)]
Update for inherited conversion function support.

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

15 years agoUse getTrueExpr/getFalseExpr as suggested by Doug.
Anders Carlsson [Tue, 15 Sep 2009 16:03:44 +0000 (16:03 +0000)]
Use getTrueExpr/getFalseExpr as suggested by Doug.

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

15 years agoIf a conversion operator exists in a base class, make sure to cast the object to...
Anders Carlsson [Tue, 15 Sep 2009 07:42:44 +0000 (07:42 +0000)]
If a conversion operator exists in a base class, make sure to cast the object to that base class.

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

15 years agoWhen performing an user defined conversion sequence, perform the initial standard...
Anders Carlsson [Tue, 15 Sep 2009 06:28:28 +0000 (06:28 +0000)]
When performing an user defined conversion sequence, perform the initial standard conversion sequence. This lets us remove a workaround in SemaCompleteConstructorCall.

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

15 years agoRevert for real.
Anders Carlsson [Tue, 15 Sep 2009 05:49:31 +0000 (05:49 +0000)]
Revert for real.

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

15 years agoWhoops, didn't mean to commit this.
Anders Carlsson [Tue, 15 Sep 2009 05:31:01 +0000 (05:31 +0000)]
Whoops, didn't mean to commit this.

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

15 years agoOnly reuse an already existing ImplicitCastExpr if the cast kinds are the same.
Anders Carlsson [Tue, 15 Sep 2009 05:28:24 +0000 (05:28 +0000)]
Only reuse an already existing ImplicitCastExpr if the cast kinds are the same.

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

15 years agoGet rid of the CastInfo struct.
Anders Carlsson [Tue, 15 Sep 2009 05:13:45 +0000 (05:13 +0000)]
Get rid of the CastInfo struct.

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

15 years agoHandle reinterpret_cast between integral types and pointer types.
Anders Carlsson [Tue, 15 Sep 2009 04:48:33 +0000 (04:48 +0000)]
Handle reinterpret_cast between integral types and pointer types.

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

15 years agoCodegen support for nullptr from C++0x.
Anders Carlsson [Tue, 15 Sep 2009 04:39:46 +0000 (04:39 +0000)]
Codegen support for nullptr from C++0x.

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

15 years agoPer feedback from Eli, recognize in the transfer function logic for
Ted Kremenek [Tue, 15 Sep 2009 04:19:09 +0000 (04:19 +0000)]
Per feedback from Eli, recognize in the transfer function logic for
__builtin_offsetof in the static analyzer that __builtin_offsetof is
not guaranteed to return an integer constant.  We will need to shore
this up later, but now at least we have correct support for when this
*is* an integer constant.

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

15 years agoFix typo in comment.
Ted Kremenek [Tue, 15 Sep 2009 03:28:00 +0000 (03:28 +0000)]
Fix typo in comment.

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

15 years agoAdd static analyzer transfer function support for __builtin_offsetof.
Ted Kremenek [Tue, 15 Sep 2009 00:40:32 +0000 (00:40 +0000)]
Add static analyzer transfer function support for __builtin_offsetof.

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

15 years agoIssue a good diagnostics when attempt to select
Fariborz Jahanian [Tue, 15 Sep 2009 00:10:11 +0000 (00:10 +0000)]
Issue a good diagnostics when attempt to select
a type convesion function results in ambiguity.

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

15 years agoclang tracks multiple levels of macro expansion
Chris Lattner [Mon, 14 Sep 2009 23:44:08 +0000 (23:44 +0000)]
clang tracks multiple levels of macro expansion

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

15 years agoDiagnose taking the address of a bit-field inside a conditional operator.
Anders Carlsson [Mon, 14 Sep 2009 23:15:26 +0000 (23:15 +0000)]
Diagnose taking the address of a bit-field inside a conditional operator.

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

15 years agoImplement partial ordering of function templates when calling a
Douglas Gregor [Mon, 14 Sep 2009 23:02:14 +0000 (23:02 +0000)]
Implement partial ordering of function templates when calling a
conversion function.

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

15 years agoSlightly improve the test for partial ordering of overloaded function
Douglas Gregor [Mon, 14 Sep 2009 22:31:20 +0000 (22:31 +0000)]
Slightly improve the test for partial ordering of overloaded function
templates.

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

15 years agoTest function template partial ordering when resolving the address of
Douglas Gregor [Mon, 14 Sep 2009 22:02:01 +0000 (22:02 +0000)]
Test function template partial ordering when resolving the address of
an overloaded function (template).

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

15 years agoFix: <rdar://problem/5905851> do not report a leak when post-dominated by a call
Ted Kremenek [Mon, 14 Sep 2009 22:01:32 +0000 (22:01 +0000)]
Fix: <rdar://problem/5905851> do not report a leak when post-dominated by a call
                              to a noreturn or panic function

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

15 years agoUpdate tests
Anders Carlsson [Mon, 14 Sep 2009 22:00:20 +0000 (22:00 +0000)]
Update tests

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

15 years agoSkeletal support for friend class templates.
John McCall [Mon, 14 Sep 2009 21:59:20 +0000 (21:59 +0000)]
Skeletal support for friend class templates.

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

15 years agoARM/[A]APCS: Ignore empty records passed as arguments.
Daniel Dunbar [Mon, 14 Sep 2009 21:54:03 +0000 (21:54 +0000)]
ARM/[A]APCS: Ignore empty records passed as arguments.

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

15 years agoFor consistency, use "bit-field" instead of "bitfield" in our diagnostics.
Anders Carlsson [Mon, 14 Sep 2009 21:48:24 +0000 (21:48 +0000)]
For consistency, use "bit-field" instead of "bitfield" in our diagnostics.

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

15 years agoRefactor MarkDeductedTemplateParameters into
Douglas Gregor [Mon, 14 Sep 2009 21:25:05 +0000 (21:25 +0000)]
Refactor MarkDeductedTemplateParameters into
MarkUsedTemplateParameters, which is able to mark template parameters
used within non-deduced contexts as well as deduced contexts. Use this
to finish the implementation of [temp.deduct.partial]p11.

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

15 years agoUsed visible conversion function api to do overload
Fariborz Jahanian [Mon, 14 Sep 2009 20:41:01 +0000 (20:41 +0000)]
Used visible conversion function api to do overload
resolution of type conversion functions in base and
current class.

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

15 years agoImplement FIXME: free up BugReportEquivClass objects when deleting BugTypes.
Ted Kremenek [Mon, 14 Sep 2009 20:40:59 +0000 (20:40 +0000)]
Implement FIXME: free up BugReportEquivClass objects when deleting BugTypes.

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

15 years agoForce triple.
Daniel Dunbar [Mon, 14 Sep 2009 20:21:18 +0000 (20:21 +0000)]
Force triple.

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

15 years ago-Wchar-subscripts should not warn for explicit signed char subscripts either. Another...
Sam Weinig [Mon, 14 Sep 2009 20:14:57 +0000 (20:14 +0000)]
-Wchar-subscripts should not warn for explicit signed char subscripts either. Another fix for PR4978.

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

15 years agoTighten up checking of non-dependent arguments as part of template
Douglas Gregor [Mon, 14 Sep 2009 20:00:47 +0000 (20:00 +0000)]
Tighten up checking of non-dependent arguments as part of template
argument deduction. This fixes the new test case (since partial
ordering does not have a "verify the results of deduction" step), and
will allow failed template argument deductions to return more quickly
for, e.g., matching class template partial specializations.

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

15 years agoSmall fix to stop CGObjCGNU emitting symbols that break some versions of gas.
David Chisnall [Mon, 14 Sep 2009 19:04:10 +0000 (19:04 +0000)]
Small fix to stop CGObjCGNU emitting symbols that break some versions of gas.

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

15 years agoImplement partial ordering of function template specializations
Douglas Gregor [Mon, 14 Sep 2009 18:39:43 +0000 (18:39 +0000)]
Implement partial ordering of function template specializations
(C++ [temp.func.order]).

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

15 years ago-Wchar-subscripts should not warn for unsigned char subscripts. Fixes PR4978.
Sam Weinig [Mon, 14 Sep 2009 18:17:16 +0000 (18:17 +0000)]
-Wchar-subscripts should not warn for unsigned char subscripts. Fixes PR4978.

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

15 years agoRemove duplicate definition of char-subscripts DiagGroup.
Sam Weinig [Mon, 14 Sep 2009 17:50:09 +0000 (17:50 +0000)]
Remove duplicate definition of char-subscripts DiagGroup.

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

15 years agoRemoved couple of FIXME comments from test case.
Fariborz Jahanian [Mon, 14 Sep 2009 17:32:50 +0000 (17:32 +0000)]
Removed couple of FIXME comments from test case.

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

15 years agoUsing the property dot-syntax to invoke a non-eixsting
Fariborz Jahanian [Mon, 14 Sep 2009 16:40:48 +0000 (16:40 +0000)]
Using the property dot-syntax to invoke a non-eixsting
structure-valued setter should cause a user error instead of
crash.

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

15 years agoRemove an unnecessary FunctionDecl parameter to the synthesizing functions.
Anders Carlsson [Mon, 14 Sep 2009 05:32:02 +0000 (05:32 +0000)]
Remove an unnecessary FunctionDecl parameter to the synthesizing functions.

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

15 years agoFix subtle bug in generating LLVM function declarations for builtin functions.
Daniel Dunbar [Mon, 14 Sep 2009 04:33:21 +0000 (04:33 +0000)]
Fix subtle bug in generating LLVM function declarations for builtin functions.

The decl wasn't being passed down, which meant that function attributes were not
being set correctly. This is particularly important for ARM, since it wants to
override the calling convention. Instead we would emit the builtin with the
wrong calling convention, and instcombine would come along and merrily shred all
the calls to it. :)

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

15 years agoARM/APCS: Don't treat structs w/ floating point types as "integer like".
Daniel Dunbar [Mon, 14 Sep 2009 02:20:34 +0000 (02:20 +0000)]
ARM/APCS: Don't treat structs w/ floating point types as "integer like".

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

15 years agoAdd support for -Wchar-subscripts. Fixes PR4801.
Sam Weinig [Mon, 14 Sep 2009 01:58:58 +0000 (01:58 +0000)]
Add support for -Wchar-subscripts. Fixes PR4801.

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

15 years agoIf a function call returns a reference, don't bind it to a temporary.
Anders Carlsson [Mon, 14 Sep 2009 01:30:44 +0000 (01:30 +0000)]
If a function call returns a reference, don't bind it to a temporary.

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

15 years agoImplement CodeGenFunction::EmitCXXExprWithTemporariesLValue.
Anders Carlsson [Mon, 14 Sep 2009 01:10:45 +0000 (01:10 +0000)]
Implement CodeGenFunction::EmitCXXExprWithTemporariesLValue.

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

15 years agoSome minor clang/ARM/AAPCS tweaks.
Daniel Dunbar [Mon, 14 Sep 2009 00:56:55 +0000 (00:56 +0000)]
Some minor clang/ARM/AAPCS tweaks.

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

15 years agoAdd TargetInfo::getABI(), and base ARM APCS vs AAPCS choice on that.
Daniel Dunbar [Mon, 14 Sep 2009 00:35:03 +0000 (00:35 +0000)]
Add TargetInfo::getABI(), and base ARM APCS vs AAPCS choice on that.

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

15 years agoSupport -mabi= for clang/ARM.
Daniel Dunbar [Mon, 14 Sep 2009 00:34:46 +0000 (00:34 +0000)]
Support -mabi= for clang/ARM.

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

15 years agoHandle delete where the class has a virtual destructor.
Anders Carlsson [Mon, 14 Sep 2009 00:16:25 +0000 (00:16 +0000)]
Handle delete where the class has a virtual destructor.

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

15 years agoARM target tweaks.
Daniel Dunbar [Mon, 14 Sep 2009 00:02:24 +0000 (00:02 +0000)]
ARM target tweaks.
 - Change TargetData string to match llvm-gcc.
 - Some -target-abi support for 'apcs-gnu', most importantly the alignment of double and long long changes.

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

15 years agoAdd -target-abi clang-cc option, currently unused.
Daniel Dunbar [Mon, 14 Sep 2009 00:02:12 +0000 (00:02 +0000)]
Add -target-abi clang-cc option, currently unused.

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

15 years agoFix a bug in getFriendObjectKind where we would clear out all mask bits except IDNS_T...
Anders Carlsson [Sun, 13 Sep 2009 23:59:13 +0000 (23:59 +0000)]
Fix a bug in getFriendObjectKind where we would clear out all mask bits except IDNS_TagFriend and IDNS_OrdinaryFriend but then check for IDNS_Tag and IDNS_Ordinary.

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

15 years agoPerform the C++ specific semantic checks of a function declaration after it's been...
Anders Carlsson [Sun, 13 Sep 2009 21:33:06 +0000 (21:33 +0000)]
Perform the C++ specific semantic checks of a function declaration after it's been merged with the previous declaration. This ensures that getPreviousDecl() will have the right value when ActOnConversionDeclarator is called.

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

15 years agoCXXMethodDecl::isVirtual needs to check the canonical declaration. Fixes PR4878.
Anders Carlsson [Sun, 13 Sep 2009 21:01:57 +0000 (21:01 +0000)]
CXXMethodDecl::isVirtual needs to check the canonical declaration. Fixes PR4878.

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

15 years agoFix another byref bug. This should hopefully get QuickLookPlugins building successfully.
Anders Carlsson [Sun, 13 Sep 2009 17:55:13 +0000 (17:55 +0000)]
Fix another byref bug. This should hopefully get QuickLookPlugins building successfully.

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

15 years agorewrite readme.
Chris Lattner [Sun, 13 Sep 2009 17:23:57 +0000 (17:23 +0000)]
rewrite readme.

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

15 years agoAdd utility to evaluate lvalues which are an offset relative to a stack
Eli Friedman [Sun, 13 Sep 2009 10:17:44 +0000 (10:17 +0000)]
Add utility to evaluate lvalues which are an offset relative to a stack
location.  Patch by Enea Zaffanella.

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

15 years agoARM/APCS: Only "integer like" aggregates should be returned in r0 (following
Daniel Dunbar [Sun, 13 Sep 2009 08:03:58 +0000 (08:03 +0000)]
ARM/APCS: Only "integer like" aggregates should be returned in r0 (following
gcc's interpretation of APCS' somewhat loose specification).

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

15 years agoRework the way we determine whether an externally visible symbol is
Douglas Gregor [Sun, 13 Sep 2009 07:46:26 +0000 (07:46 +0000)]
Rework the way we determine whether an externally visible symbol is
generated for an inline function definition, taking into account C99
and GNU inline/extern inline semantics. This solution is simpler,
cleaner, and fixes PR4536.

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

15 years agoSome formatting tweaks to clang(1)
Daniel Dunbar [Sun, 13 Sep 2009 02:21:55 +0000 (02:21 +0000)]
Some formatting tweaks to clang(1)

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

15 years agoAdd minimal INSTALL.txt
Daniel Dunbar [Sun, 13 Sep 2009 02:21:31 +0000 (02:21 +0000)]
Add minimal INSTALL.txt

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

15 years agoForce triple to avoid spurious differences due to runtime choice.
Daniel Dunbar [Sun, 13 Sep 2009 01:45:29 +0000 (01:45 +0000)]
Force triple to avoid spurious differences due to runtime choice.

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

15 years agoAdd RUN line.
Daniel Dunbar [Sat, 12 Sep 2009 23:06:30 +0000 (23:06 +0000)]
Add RUN line.

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

15 years agoDon't use the PredefinedExpr string as the global variable name, these don't
Daniel Dunbar [Sat, 12 Sep 2009 23:06:21 +0000 (23:06 +0000)]
Don't use the PredefinedExpr string as the global variable name, these don't
make very nice symbols, just use the function name.

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

15 years agorewrite the parsing code for -miphoneos-version-min and
Chris Lattner [Sat, 12 Sep 2009 22:45:58 +0000 (22:45 +0000)]
rewrite the parsing code for -miphoneos-version-min and
-mmacosx-version-min to work on llvm::Triple.  Simplify
it to use x-'0' to parse single digit integer strings.

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

15 years agowhitespace fix
Chris Lattner [Sat, 12 Sep 2009 22:45:21 +0000 (22:45 +0000)]
whitespace fix

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

15 years agoUpdate CMake files.
Benjamin Kramer [Sat, 12 Sep 2009 21:18:26 +0000 (21:18 +0000)]
Update CMake files.

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

15 years agoMore improvement in building list of visible conversion
Fariborz Jahanian [Sat, 12 Sep 2009 19:52:10 +0000 (19:52 +0000)]
More improvement in building list of visible conversion
functions for a class when needed.

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

15 years agoAdd a test for PR3733.
Anders Carlsson [Sat, 12 Sep 2009 19:35:43 +0000 (19:35 +0000)]
Add a test for PR3733.

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

15 years agoRemoved Context argument from couple of methods which don't
Fariborz Jahanian [Sat, 12 Sep 2009 19:02:34 +0000 (19:02 +0000)]
Removed Context argument from couple of methods which don't
need them.

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

15 years agoAdd FIXME for alignments that won't be honored.
Mike Stump [Sat, 12 Sep 2009 18:58:28 +0000 (18:58 +0000)]
Add FIXME for alignments that won't be honored.

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

15 years agoWe can't have ctors in the vtable (right Doug?) :-)
Mike Stump [Sat, 12 Sep 2009 18:57:58 +0000 (18:57 +0000)]
We can't have ctors in the vtable (right Doug?)  :-)

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

15 years agoMore work toward having an access method for visible
Fariborz Jahanian [Sat, 12 Sep 2009 18:26:03 +0000 (18:26 +0000)]
More work toward having an access method for visible
conversion functions.

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

15 years agoHandle CK_DerivedToBase when emitting lvalue casts.
Anders Carlsson [Sat, 12 Sep 2009 16:16:49 +0000 (16:16 +0000)]
Handle CK_DerivedToBase when emitting lvalue casts.

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

15 years agoSmallVectorize preprocessor's token cache. Testing shows there is almost never
Benjamin Kramer [Sat, 12 Sep 2009 09:45:28 +0000 (09:45 +0000)]
SmallVectorize preprocessor's token cache. Testing shows there is almost never
more than one token in the cache.

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

15 years agoWhen necessary, null check the base value in GetAddressCXXOfBaseClass.
Anders Carlsson [Sat, 12 Sep 2009 06:04:24 +0000 (06:04 +0000)]
When necessary, null check the base value in GetAddressCXXOfBaseClass.

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