]> granicus.if.org Git - clang/log
clang
15 years agoARM: Incremental improvement to preprocessor defines.
Daniel Dunbar [Thu, 17 Sep 2009 16:21:10 +0000 (16:21 +0000)]
ARM: Incremental improvement to preprocessor defines.
 - Based on patch by Shantonu.

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

15 years agoIgnore extern "C++" { } when mangling.
Anders Carlsson [Thu, 17 Sep 2009 16:12:20 +0000 (16:12 +0000)]
Ignore extern "C++" { } when mangling.

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

15 years agoForce triple for tests using __strong.
Daniel Dunbar [Thu, 17 Sep 2009 07:21:40 +0000 (07:21 +0000)]
Force triple for tests using __strong.

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

15 years agoAdd ARM register names and aliases.
Daniel Dunbar [Thu, 17 Sep 2009 07:03:19 +0000 (07:03 +0000)]
Add ARM register names and aliases.
 - Patch by Shantonu Sen!

<rdar://problem/6922650> clang doesn't know about ARM registers for inline asm clobber lists

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

15 years agoDriver: Change -O to mean -O2, -O1 is meaningless.
Daniel Dunbar [Thu, 17 Sep 2009 06:53:36 +0000 (06:53 +0000)]
Driver: Change -O to mean -O2, -O1 is meaningless.

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

15 years agoFix two crashes on value dependent expressions (shift and null-pointer check).
Daniel Dunbar [Thu, 17 Sep 2009 06:31:27 +0000 (06:31 +0000)]
Fix two crashes on value dependent expressions (shift and null-pointer check).
 - Doug, please check.

 - PR4940.

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

15 years agoRemove trailing whitespace.
Daniel Dunbar [Thu, 17 Sep 2009 06:31:17 +0000 (06:31 +0000)]
Remove trailing whitespace.

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

15 years agoAdd a bunch of math builtins, #include <cmath> passes now.
Daniel Dunbar [Thu, 17 Sep 2009 05:45:52 +0000 (05:45 +0000)]
Add a bunch of math builtins, #include <cmath> passes now.

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

15 years agoRevert r82123 for now.
Anders Carlsson [Thu, 17 Sep 2009 05:31:47 +0000 (05:31 +0000)]
Revert r82123 for now.

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

15 years agoTemporary band-aid for handling empty classes somewhat better.
Anders Carlsson [Thu, 17 Sep 2009 04:42:56 +0000 (04:42 +0000)]
Temporary band-aid for handling empty classes somewhat better.

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

15 years agoTreat an unqualified RecordType as a RecordDecl when substituting.
Anders Carlsson [Thu, 17 Sep 2009 04:38:23 +0000 (04:38 +0000)]
Treat an unqualified RecordType as a RecordDecl when substituting.

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

15 years agoSubstitution for prefixes.
Anders Carlsson [Thu, 17 Sep 2009 04:16:28 +0000 (04:16 +0000)]
Substitution for prefixes.

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

15 years agoConvert mangle-subst.cpp over to using FileCheck.
Anders Carlsson [Thu, 17 Sep 2009 04:13:54 +0000 (04:13 +0000)]
Convert mangle-subst.cpp over to using FileCheck.

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

15 years agoImprove driver error message when only running the preprocessor and an input is
Daniel Dunbar [Thu, 17 Sep 2009 04:13:26 +0000 (04:13 +0000)]
Improve driver error message when only running the preprocessor and an input is
already preprocessed.

--
ddunbar@giles:tmp$ touch t.i
ddunbar@giles:tmp$ gcc -E t.i
ddunbar@giles:tmp$ clang -E t.i
clang: warning: t.i: previously preprocessed input unused when '-E' is present
ddunbar@giles:tmp$
--

<rdar://problem/6813375> [driver] driver prints confusing message when running -E on preprocessed file

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

15 years agoSubstitute unscoped template names.
Anders Carlsson [Thu, 17 Sep 2009 04:02:31 +0000 (04:02 +0000)]
Substitute unscoped template names.

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

15 years agoIRgen/ObjC: Correctly construct the function info for variadic message sends.
Daniel Dunbar [Thu, 17 Sep 2009 04:01:40 +0000 (04:01 +0000)]
IRgen/ObjC: Correctly construct the function info for variadic message sends.

This fixes some bad -O0 codegen and the unnecessary clearing of al on entry to objc_msgSend for most message sends.

<rdar://problem/7102824> [irgen] unnecessary xorb on calls to objc_msgSend on x86_64

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

15 years agoIRgen/ObjC: Make the target method decl available to GenerateMessageSendSuper.
Daniel Dunbar [Thu, 17 Sep 2009 04:01:22 +0000 (04:01 +0000)]
IRgen/ObjC: Make the target method decl available to GenerateMessageSendSuper.

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

15 years agoAdd mangleSubstitution/addSubstitution variants that take a NamedDecl.
Anders Carlsson [Thu, 17 Sep 2009 03:53:28 +0000 (03:53 +0000)]
Add mangleSubstitution/addSubstitution variants that take a NamedDecl.

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

15 years agoGet rid of the last grep.
Anders Carlsson [Thu, 17 Sep 2009 03:48:45 +0000 (03:48 +0000)]
Get rid of the last grep.

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

15 years agoWhen mangling function template specialization, mangle the type encoding of the origi...
Anders Carlsson [Thu, 17 Sep 2009 03:46:43 +0000 (03:46 +0000)]
When mangling function template specialization, mangle the type encoding of the original function template. Also, port mangle.cpp and function-template-specialization.cpp over to using FileCheck.

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

15 years agoAdd new functions to the mangler for the <unscoped-name> and <unscoped-template-name...
Anders Carlsson [Thu, 17 Sep 2009 03:17:01 +0000 (03:17 +0000)]
Add new functions to the mangler for the <unscoped-name> and <unscoped-template-name> productions.

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

15 years agoPCH: When writing PCH files, tweak the predicate function deciding whether to mark...
Daniel Dunbar [Thu, 17 Sep 2009 03:06:51 +0000 (03:06 +0000)]
PCH: When writing PCH files, tweak the predicate function deciding whether to mark a decl as "external" to be closer to reality.

This still isn't perfect, but I believe it is conservatively accurate at marking decls which IRgen needs to see, while still keeping the "deserialization footprint" on Cocoa.h.

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

15 years agoPCH: When deserializing an explicit "external definition", don't pass it to HandleTop...
Daniel Dunbar [Thu, 17 Sep 2009 03:06:44 +0000 (03:06 +0000)]
PCH: When deserializing an explicit "external definition", don't pass it to HandleTopLevelDecl -- this is already being done inside the reader.

This is something of a hack, since whether the reader actually did this depends on the "isConsumerInterestedIn" predicate. I think we need to rework how this works, but I need to discuss with Doug.

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

15 years agoInitial support for code generation from .ast files.
Daniel Dunbar [Thu, 17 Sep 2009 00:48:13 +0000 (00:48 +0000)]
Initial support for code generation from .ast files.
 - Doesn't actually work yet because only module level asm's get correctly marked as externally visible in the PCH.

 - Other things like 'clang-cc foo.ast -ast-dump' now work, as well.

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

15 years agoclang-cc: Factor out code for creating one of the standard AST consumer actions.
Daniel Dunbar [Thu, 17 Sep 2009 00:48:00 +0000 (00:48 +0000)]
clang-cc: Factor out code for creating one of the standard AST consumer actions.

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

15 years agoWe don't need a -compile-ast clang-cc action, we can just use -S.
Daniel Dunbar [Thu, 17 Sep 2009 00:47:53 +0000 (00:47 +0000)]
We don't need a -compile-ast clang-cc action, we can just use -S.

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

15 years agoSimplify.
Daniel Dunbar [Thu, 17 Sep 2009 00:47:46 +0000 (00:47 +0000)]
Simplify.

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

15 years agoclang-cc: Remove -ObjC -ObjC++ handling from clang-cc.
Daniel Dunbar [Thu, 17 Sep 2009 00:47:27 +0000 (00:47 +0000)]
clang-cc: Remove -ObjC -ObjC++ handling from clang-cc.

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

15 years agoAdd basic substitution to the C++ mangler. It currently only looks at types.
Anders Carlsson [Thu, 17 Sep 2009 00:43:46 +0000 (00:43 +0000)]
Add basic substitution to the C++ mangler. It currently only looks at types.

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

15 years agoForce triple, although probably the real fix is to tie __strong to -fobjc-gc.
Daniel Dunbar [Thu, 17 Sep 2009 00:28:00 +0000 (00:28 +0000)]
Force triple, although probably the real fix is to tie __strong to -fobjc-gc.

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

15 years agoFix substituto.
Daniel Dunbar [Thu, 17 Sep 2009 00:07:21 +0000 (00:07 +0000)]
Fix substituto.

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

15 years agoAdd CLANG_{SOURCE,BINARY}_DIR cmake variables.
Daniel Dunbar [Thu, 17 Sep 2009 00:07:10 +0000 (00:07 +0000)]
Add CLANG_{SOURCE,BINARY}_DIR cmake variables.

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

15 years agoAdd a simple const mangling test.
Anders Carlsson [Wed, 16 Sep 2009 23:53:19 +0000 (23:53 +0000)]
Add a simple const mangling test.

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

15 years agoRemoved useless stuff from the test.
Fariborz Jahanian [Wed, 16 Sep 2009 23:52:53 +0000 (23:52 +0000)]
Removed useless stuff from the test.

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

15 years agoMore test for objc gc's mixed write-barriers.
Fariborz Jahanian [Wed, 16 Sep 2009 23:49:04 +0000 (23:49 +0000)]
More test for objc gc's mixed write-barriers.

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

15 years agoWhen creating function types, remove any top-level CVR qualifications in the function...
Anders Carlsson [Wed, 16 Sep 2009 23:47:08 +0000 (23:47 +0000)]
When creating function types, remove any top-level CVR qualifications in the function type argument types.

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

15 years agoAdditional tests for write-bariers.
Fariborz Jahanian [Wed, 16 Sep 2009 23:38:26 +0000 (23:38 +0000)]
Additional tests for write-bariers.

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

15 years agoTest for variety of write-barriers.
Fariborz Jahanian [Wed, 16 Sep 2009 23:30:59 +0000 (23:30 +0000)]
Test for variety of write-barriers.

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

15 years agopatch for generating objc'2 objc_assign_ivar. WIP.
Fariborz Jahanian [Wed, 16 Sep 2009 23:11:23 +0000 (23:11 +0000)]
patch for generating objc'2 objc_assign_ivar. WIP.

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

15 years agoImproved representation and support for friend class templates. Angst about same.
John McCall [Wed, 16 Sep 2009 22:47:08 +0000 (22:47 +0000)]
Improved representation and support for friend class templates.  Angst about same.

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

15 years agoCMake: Generate LIT site configuration file for Clang tests, which Daniel will probab...
Douglas Gregor [Wed, 16 Sep 2009 22:30:48 +0000 (22:30 +0000)]
CMake: Generate LIT site configuration file for Clang tests, which Daniel will probably have to fix

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

15 years agoThe CMake build system now derives the Clang version number from VER.
Douglas Gregor [Wed, 16 Sep 2009 21:59:05 +0000 (21:59 +0000)]
The CMake build system now derives the Clang version number from VER.

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

15 years agoStarting patch to generate more specific API for objc's
Fariborz Jahanian [Wed, 16 Sep 2009 21:37:16 +0000 (21:37 +0000)]
Starting patch to generate more specific API for objc's
GC. Currently, new API will be generated under
clang-cc's -fobjc-newgc-api flag which will eventually
become the default. WIP.

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

15 years agoFix spelling.
Mike Stump [Wed, 16 Sep 2009 20:41:09 +0000 (20:41 +0000)]
Fix spelling.

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

15 years agofit in 80 cols
Chris Lattner [Wed, 16 Sep 2009 20:18:54 +0000 (20:18 +0000)]
fit in 80 cols

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

15 years agoImprove handling of vector casts in C++.
Anders Carlsson [Wed, 16 Sep 2009 19:19:43 +0000 (19:19 +0000)]
Improve handling of vector casts in C++.

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

15 years agogrammaro
Chris Lattner [Wed, 16 Sep 2009 18:56:12 +0000 (18:56 +0000)]
grammaro

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

15 years agoTeach Sema::FindInstantiatedDecl to find instantiated RecordDecls even
Douglas Gregor [Wed, 16 Sep 2009 18:34:49 +0000 (18:34 +0000)]
Teach Sema::FindInstantiatedDecl to find instantiated RecordDecls even
when we are not instantiating the corresponding "current
instantiation." This happens, e.g., when we are instantiating a
declaration reference that refers into the "current instantiation" but
occurs in a default function argument. The libstdc++ vector default
constructor now instantiates properly.

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

15 years agoDo not generate write-barrier in indirect assignment to
Fariborz Jahanian [Wed, 16 Sep 2009 18:09:18 +0000 (18:09 +0000)]
Do not generate write-barrier in indirect assignment to
a weak object.

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

15 years agoRemoved a superfluous check before setting
Fariborz Jahanian [Wed, 16 Sep 2009 16:49:08 +0000 (16:49 +0000)]
Removed a superfluous check before setting
a flag (objc GC).

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

15 years agox86-64 ABI: If a type is a C++ record with either a non-trivial destructor or a non...
Anders Carlsson [Wed, 16 Sep 2009 15:53:40 +0000 (15:53 +0000)]
x86-64 ABI: If a type is a C++ record with either a non-trivial destructor or a non-trivial copy constructor, it should be passed in a pointer. Daniel, plz review.

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

15 years agoPR4991: Properly remove trailing newline from __TIMESTAMP__.
Benjamin Kramer [Wed, 16 Sep 2009 13:10:04 +0000 (13:10 +0000)]
PR4991: Properly remove trailing newline from __TIMESTAMP__.
Replace strcpy with memcpy while at it.

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

15 years agoIncremental improvement to logic determining whether we emit unwind tables or
Daniel Dunbar [Wed, 16 Sep 2009 06:17:29 +0000 (06:17 +0000)]
Incremental improvement to logic determining whether we emit unwind tables or
not.
 - PR4932.

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

15 years agoHave divide-by-zero checker not handled undefined denominators. This is handled...
Ted Kremenek [Wed, 16 Sep 2009 06:04:26 +0000 (06:04 +0000)]
Have divide-by-zero checker not handled undefined denominators.  This is handled by the generic checking for undefined operands for BinaryOperators.

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

15 years agoRemove ImplicitBadDivides/ExplicitBadDivides node sets. This checking is now down...
Ted Kremenek [Wed, 16 Sep 2009 06:03:39 +0000 (06:03 +0000)]
Remove ImplicitBadDivides/ExplicitBadDivides node sets.  This checking is now down by a 'Checker' and not build into GRExprEngine.

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

15 years agofix some ppc register name issues, patch by Richard Pennington!
Chris Lattner [Wed, 16 Sep 2009 05:05:27 +0000 (05:05 +0000)]
fix some ppc register name issues, patch by Richard Pennington!

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

15 years agoA toy for Doug: Add some 'lit' tests which just run clang++ -fsyntax-only over all...
Daniel Dunbar [Wed, 16 Sep 2009 01:40:13 +0000 (01:40 +0000)]
A toy for Doug: Add some 'lit' tests which just run clang++ -fsyntax-only over all the files in a directory.
 - 'lit utils/C++Tests' to run, you may need to fix the stdc++ include path, and your mileage may vary.

 - A handful of the LLVM headers are XFAIL because they don't include the right headers.

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

15 years agotests: Stash clang/clang-cc and LLVM src/obj paths for use elsewhere.
Daniel Dunbar [Wed, 16 Sep 2009 01:39:52 +0000 (01:39 +0000)]
tests: Stash clang/clang-cc and LLVM src/obj paths for use elsewhere.

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

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