Chris Lattner
53d80e2c07
Neil points out that this could be simplified, do it.
...
llvm-svn: 90927
2009-12-09 02:08:14 +00:00
Mike Stump
85d9968533
Add support for the cleanup attribute for C++; we don't have to copy
...
all of g++'s bugs.
llvm-svn: 90924
2009-12-09 01:50:36 +00:00
Douglas Gregor
40cb9ad391
Implemented an implicit conversion from "noreturn" function types (and
...
pointers thereof) to their corresponding non-noreturn function
types. This conversion is considered an exact match for
overload-resolution purposes. Note that we are a little more strict
that GCC is, because we encode noreturn in the type system, but that's
a Good Thing (TM) because it does not allow us to pretend that
potentially-returning function pointers are non-returning function
pointers.
Fxies PR5620.
llvm-svn: 90913
2009-12-09 00:47:37 +00:00
Daniel Dunbar
a8ad0a90fb
Improve test portability; I can't figure out how to get the regexp library to
...
match $ correctly with \r\n, unfortunately.
llvm-svn: 90907
2009-12-09 00:04:46 +00:00
Fariborz Jahanian
e19122ff01
Added a missing case to a switch statement.
...
llvm-svn: 90902
2009-12-08 23:46:15 +00:00
Daniel Dunbar
e07f152e6d
Increase inlining threshold at -O3, to match llvm-gcc.
...
llvm-svn: 90897
2009-12-08 23:15:55 +00:00
Fariborz Jahanian
859c415567
More detailed analysis of typecast to an objective-c pointer
...
in objective-c++ mode without being too lenient.
llvm-svn: 90895
2009-12-08 23:09:15 +00:00
John McCall
3a60c87a59
Handle unresolved using decls in bare lookups. These are not being adequately
...
tested. Fixes PR5727.
llvm-svn: 90893
2009-12-08 22:45:53 +00:00
Daniel Dunbar
8775727b39
Improve test portability.
...
llvm-svn: 90890
2009-12-08 22:22:20 +00:00
Anders Carlsson
347e9007c4
Make the BugType.h header self-contained so Daniel will stop bugging me ;)
...
llvm-svn: 90887
2009-12-08 22:16:41 +00:00
Mike Stump
4a6b337cfd
Add fixme.
...
llvm-svn: 90884
2009-12-08 22:12:48 +00:00
Daniel Dunbar
f51087656d
Remove include of system header.
...
llvm-svn: 90883
2009-12-08 21:52:24 +00:00
Mike Stump
e6d54ca553
Remove some old code. WIP.
...
llvm-svn: 90882
2009-12-08 21:46:41 +00:00
Douglas Gregor
9291ab6d80
Don't expand tabs when computing the offset from the code-completion column
...
llvm-svn: 90881
2009-12-08 21:45:46 +00:00
Daniel Dunbar
e74042a8e3
Don't use MS extensions in this test, we expect header include markers.
...
llvm-svn: 90880
2009-12-08 21:40:02 +00:00
Douglas Gregor
df72af5935
Pick up MB_LEN_MAX as defined by the system <limits.h>, when it's provided there
...
llvm-svn: 90879
2009-12-08 21:35:00 +00:00
Daniel Dunbar
17c4f8d746
Update CGExprConstant for change to emit padding values as undef.
...
- This fixes 2003-05-21-BitfieldHandling.
llvm-svn: 90876
2009-12-08 21:12:32 +00:00
Daniel Dunbar
6059021edc
Switch this test to use clang-cc.
...
llvm-svn: 90875
2009-12-08 21:12:25 +00:00
Fariborz Jahanian
33e148f64b
Patch to allow matching 0 with an objective-c pointer type
...
in objective-c++ mode. Fixes radar 7443165
llvm-svn: 90874
2009-12-08 20:04:24 +00:00
Daniel Dunbar
6cc525b44e
Unbreak clang-cc handling of -msoft-float / -mfloat-abi=, which I borked.
...
llvm-svn: 90873
2009-12-08 19:49:51 +00:00
Daniel Dunbar
888a89ccf2
Use clang-cc in this test.
...
llvm-svn: 90872
2009-12-08 19:49:40 +00:00
Fariborz Jahanian
1c548021ec
Patch to allow cstyle cast of objective-c pointers in objective-c++
...
mode as they are pervasive.
llvm-svn: 90867
2009-12-08 19:22:33 +00:00
Fariborz Jahanian
410f2ebdb6
Refactor objective-c pointer assignment compatibility logic. No
...
intended functionality change.
llvm-svn: 90865
2009-12-08 18:24:49 +00:00
Douglas Gregor
049bdcac49
Implement template instantiation for exception specifications. Also,
...
print exception specifications on function types and
declarations. Fixes <rdar://problem/7450999>.
There is some poor source-location information here, because we don't
track locations of the types in exception specifications. Filed PR5719.
Failures during template instantiation of the signature of a function
or function template have wrong point-of-instantiation location
information. I'll tackle that with a separate commit.
llvm-svn: 90863
2009-12-08 17:45:32 +00:00
Steve Naroff
04bc01833e
Integrate the following from the 'objective-rewrite' branch:
...
http://llvm.org/viewvc/llvm-project?view=rev&revision=80043
llvm-svn: 90860
2009-12-08 16:38:12 +00:00
Douglas Gregor
a64c1e5452
When performing unqualified name lookup in C++, don't look directly
...
into transparent contexts; instead, we'll look into their nearest
enclosing non-transparent contexts further up the stack. Fixes PR5479.
llvm-svn: 90859
2009-12-08 15:38:36 +00:00
Benjamin Kramer
ba8451b243
Use StringRef in CGDebugInfo::EmitFunctionStart.
...
llvm-svn: 90856
2009-12-08 14:04:35 +00:00
Benjamin Kramer
43c7c5befd
Use a Twine to concatenate the name instead of going through std::string.
...
llvm-svn: 90854
2009-12-08 13:07:37 +00:00
Benjamin Kramer
c6ad84cb3c
Twinify InitHeaderSearch::AddPath and use it in C++ include path generation.
...
llvm-svn: 90853
2009-12-08 12:38:20 +00:00
Benjamin Kramer
141c7f987a
Use StringRefs in InitHeaderSearch::AddDelimitedPaths.
...
llvm-svn: 90852
2009-12-08 12:11:06 +00:00
Benjamin Kramer
1d20564b8d
Use Path.makeAbsolute() and make a constant std::string a const char*.
...
llvm-svn: 90851
2009-12-08 11:02:29 +00:00
John McCall
47f29ea8e0
The refactor of implicit member access expressions means we don't need this
...
horrible isAddressOfOperand hack in TreeTransform, since that syntactic
information is managed by the initial parser callbacks now.
That's enough insomniac commits for one night.
llvm-svn: 90849
2009-12-08 09:21:05 +00:00
John McCall
ce54657e95
DeclRefExpr stores a ValueDecl internally.
...
Template instantiation can re-use DeclRefExprs.
llvm-svn: 90848
2009-12-08 09:08:17 +00:00
Zhongxing Xu
fe2f901269
Refactor builtin function evaluation into a checker.
...
llvm-svn: 90847
2009-12-08 09:07:59 +00:00
John McCall
3969e30d38
Correctly implement the C++03 and 0x restrictions on class-member using
...
declarations.
llvm-svn: 90843
2009-12-08 07:46:18 +00:00
John McCall
ddabf1a946
Add CXXRecordDecl::forallBases to walk an inheritance hierarchy with non-lookup
...
semantics and CXXRecordDecl::isProvablyNotDerivedFrom to assist with
pre-instantiation diagnostics.
llvm-svn: 90842
2009-12-08 07:42:38 +00:00
Eli Friedman
80888c7b38
Build fix.
...
llvm-svn: 90841
2009-12-08 06:54:20 +00:00
Eli Friedman
bb5008a32a
Fix for PR5707: make sure implicit copy constructors initialize the vtable
...
pointer.
llvm-svn: 90840
2009-12-08 06:46:18 +00:00
Eli Friedman
897bc03305
Small compatibility fix for -print-decl-contexts.
...
llvm-svn: 90838
2009-12-08 06:22:37 +00:00
Eli Friedman
7316819fcf
Fix for PR5710: make sure to put function template specializations into the
...
DeclContext, so they don't completely disappear from the AST.
I don't particularly like this fix, but I don't see any obviously better way
to deal with it, and I think it's pretty clearly an improvement; comments
welcome.
llvm-svn: 90835
2009-12-08 05:40:03 +00:00
Zhongxing Xu
9ad590125c
brace completion.
...
llvm-svn: 90833
2009-12-08 05:05:26 +00:00
Eli Friedman
48c6b0d14f
Slight tweak to vtable linkage.
...
llvm-svn: 90832
2009-12-08 04:09:14 +00:00
Eli Friedman
f2c79b6b9c
Misc key function fixes.
...
llvm-svn: 90831
2009-12-08 03:56:49 +00:00
Fariborz Jahanian
4569f69558
Patch to warn when discarding objective-c pointer type qualifiers
...
Still some refactoring to do.
llvm-svn: 90830
2009-12-08 03:35:08 +00:00
Douglas Gregor
60043f5ce6
Remove dead diagnostics
...
llvm-svn: 90827
2009-12-08 02:36:01 +00:00
Eli Friedman
be6f4cffca
Get rid of some diagnostics that don't follow our rules for -pedantic
...
diagnostics (specifically, that any extension in a compiler-reserved namespace
shouldn't trigger a diagnostic).
llvm-svn: 90826
2009-12-08 02:22:26 +00:00
Eli Friedman
8aaff69e86
Fix some direct checks of expressions which might be surrounded by parentheses.
...
llvm-svn: 90825
2009-12-08 02:09:46 +00:00
Eli Friedman
cd6a50f3e5
Make copy assignment operator synthesis not explode for classes with complex
...
or non-record aggregate members.
It might be worth spending some time to optimize this code (and the parallel
code for copy constructors) to memcpy in larger chunks, rather than copying
one member at a time. Not sure exactly how beneficial that would be, but
it seems like could help for large classes with, for example, a vtable pointer
forcing the generation of a copy constructor.
llvm-svn: 90823
2009-12-08 01:57:53 +00:00
Jeffrey Yasskin
567ae47b4a
Remove several .c_str() to be forward-compatible with StringRef.
...
llvm-svn: 90822
2009-12-08 01:46:24 +00:00
Mike Stump
02c23d68cb
Fixup catch parameters with class reference type. WIP.
...
llvm-svn: 90821
2009-12-08 01:29:31 +00:00