]>
granicus.if.org Git - clang/log
Douglas Gregor [Wed, 3 Jun 2009 21:57:43 +0000 (21:57 +0000)]
HTML tweak to get the PCH internals documentation to display correctly
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72813
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 3 Jun 2009 21:55:35 +0000 (21:55 +0000)]
Finished the PCH design and implementation documentation
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72812
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 3 Jun 2009 21:41:31 +0000 (21:41 +0000)]
Document the integration points for precompiled headers
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72809
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Wed, 3 Jun 2009 20:45:06 +0000 (20:45 +0000)]
PR4316: Fix IRGen for cast-to-union extension.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72803
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 3 Jun 2009 19:19:06 +0000 (19:19 +0000)]
Add more retain-checker tests for GC mode when using NSMakeCollectable.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72799
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Wed, 3 Jun 2009 19:05:16 +0000 (19:05 +0000)]
More temporary work.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72796
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Wed, 3 Jun 2009 18:59:56 +0000 (18:59 +0000)]
PR4308: Fix support for -m32/-m64 on Linux.
I'll look into cleaning this up a bit as a followup.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72794
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Wed, 3 Jun 2009 18:54:26 +0000 (18:54 +0000)]
Store more information about live temporaries. No functionality change for now.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72793
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Wed, 3 Jun 2009 18:40:21 +0000 (18:40 +0000)]
Move code generation of C++ temporaries into a new file.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72792
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 3 Jun 2009 18:35:59 +0000 (18:35 +0000)]
Add a table of contents to the PCH design document
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72791
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 3 Jun 2009 18:26:16 +0000 (18:26 +0000)]
Document the PCH representation of statements and expressions
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72790
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 3 Jun 2009 18:01:18 +0000 (18:01 +0000)]
(llvm up) Switch to using StandardPasses.h
- One functionality change, the LoopIndexSplit pass is now reenabled (it was
disabled in r60089 but we forgot to reenable it).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72787
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 3 Jun 2009 17:15:17 +0000 (17:15 +0000)]
Place the GC attribute on the same relative pointer
position to make it consistant and to match gcc's behavior,
by placing it at the inner-most pointer.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72784
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 3 Jun 2009 16:16:27 +0000 (16:16 +0000)]
Driver: Support -mllvm; this just forwards options to clang-cc.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72780
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 3 Jun 2009 16:06:22 +0000 (16:06 +0000)]
Fill in some gaps in the precompiled headers documentation
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72779
91177308 -0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Wed, 3 Jun 2009 14:28:20 +0000 (14:28 +0000)]
Compile fix needed by the solaris system gcc.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72772
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Wed, 3 Jun 2009 12:22:01 +0000 (12:22 +0000)]
Minor cleanup for implicit int warnings.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72770
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Wed, 3 Jun 2009 12:07:19 +0000 (12:07 +0000)]
Fix up a bunch of warnings to use ExtWarn so they interact with
-pedantic-errors correctly.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72769
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Wed, 3 Jun 2009 11:10:10 +0000 (11:10 +0000)]
Add support for -Wempty-body.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72766
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Wed, 3 Jun 2009 10:41:42 +0000 (10:41 +0000)]
Back out r72764; I should have looked more carefully before committing
this. The correct replacement for "Y" and "Yt" is "x".
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72765
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Wed, 3 Jun 2009 10:33:05 +0000 (10:33 +0000)]
PR3678: Add support for "Yt" asm register constraint.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72764
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Wed, 3 Jun 2009 09:54:50 +0000 (09:54 +0000)]
PR4290: Handle vfprintf in a way that doesn't give any diagnostics for
valid declarations and doesn't give an error for autoconf-style invalid
redeclarations. This isn't quite ideal, but I don't see any other way
easy way to handle it. (The only thing I can think of that's reasonably
general is adding a new builtin type FILETy which is only compatible
with a type equivalent to FILE, and that seems like overkill.)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72760
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Wed, 3 Jun 2009 09:23:28 +0000 (09:23 +0000)]
emit ORIGINAL_FILE_NAME record ID to blockinfo block.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72759
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Wed, 3 Jun 2009 02:06:50 +0000 (02:06 +0000)]
Use "()" instead of "(void)" when pretty-printing a parameter-less function type for C++.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72747
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Tue, 2 Jun 2009 22:08:07 +0000 (22:08 +0000)]
More PCH documentation
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72743
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 2 Jun 2009 22:07:45 +0000 (22:07 +0000)]
Add clang-cc support for -disable-llvm-optzns.
- Avoids running any LLVM optimizations, even at -O2, etc., while still keeping
any language changes these optimizations imply.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72742
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Tue, 2 Jun 2009 20:58:58 +0000 (20:58 +0000)]
Diagnose misuse of __strong attribute in a redeclaration.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72737
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Tue, 2 Jun 2009 18:32:00 +0000 (18:32 +0000)]
Issue diagnostics on __weak attribute mismatch.
Fixes an error recovery issue which caused a crash.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72733
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Tue, 2 Jun 2009 09:39:16 +0000 (09:39 +0000)]
Missing file for __builtin_unwind_init support.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72728
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Tue, 2 Jun 2009 09:37:50 +0000 (09:37 +0000)]
Add support for __builtin_unwind_init.
Also, committing an #if 0'ed __builtin_setjmp and __builtin_longjmp
implementation I've had sitting in my tree for a while. I haven't
enabled it because the LLVM backend support isn't complete yet.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72727
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Tue, 2 Jun 2009 08:36:19 +0000 (08:36 +0000)]
PR4142: Add %m format string specifier.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72726
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Tue, 2 Jun 2009 08:21:31 +0000 (08:21 +0000)]
A couple minor corrections to the "GCC extensions not implemented yet"
section of the users manual.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72725
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Tue, 2 Jun 2009 07:55:39 +0000 (07:55 +0000)]
PR4288: Make -dD (dump macros with preprocessed source) play nicely with
# line directives.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72724
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Tue, 2 Jun 2009 07:45:37 +0000 (07:45 +0000)]
Fix a silly typo in my previous objc_gc merging patch.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72723
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Tue, 2 Jun 2009 07:10:30 +0000 (07:10 +0000)]
If we recognize alloca, treat it as a builtin. This fixes uses of
alloca without declaring it.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72719
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Tue, 2 Jun 2009 07:06:02 +0000 (07:06 +0000)]
Add builtin declarations for the variants of sin and cos.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72718
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Tue, 2 Jun 2009 05:55:48 +0000 (05:55 +0000)]
Add aliases for a couple of SSE intrinsics. Patch by Ed Schouten.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72717
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Tue, 2 Jun 2009 05:46:32 +0000 (05:46 +0000)]
Add --shared option.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72716
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Tue, 2 Jun 2009 05:28:56 +0000 (05:28 +0000)]
Cleaned-up version of gc attribute type merging. I still don't like it
very much, but I have a feeling we're never going to have an
implementation that makes sense because of compatibility issues.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72715
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Tue, 2 Jun 2009 05:24:36 +0000 (05:24 +0000)]
Remove test which doesn't pass with gcc.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72714
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sanjiv Gupta [Tue, 2 Jun 2009 04:43:46 +0000 (04:43 +0000)]
Add floating point details to PIC16 Target.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72713
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Tue, 2 Jun 2009 01:40:22 +0000 (01:40 +0000)]
This patch attempts to fix the merging of __strong/__weak attributes
in merge_types. It is incomplete. We probably want to issue
a warning if user attempts to change the attribute from __weak to
__strong or vice-vera. It also assumes that a __weak/__strong
attribute can not be specified with other (currently one) type
attriute.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72711
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 1 Jun 2009 22:15:35 +0000 (22:15 +0000)]
Fix rare failure of .ver-svn creation, it has a dependency that the output
directory exist.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72704
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Mon, 1 Jun 2009 21:29:32 +0000 (21:29 +0000)]
A corner case of objc2 gc's write-barrier generation
for the Next runtime.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72703
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Mon, 1 Jun 2009 17:40:54 +0000 (17:40 +0000)]
Fixed a test case which I am to blame for making it
not runaable.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72695
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 1 Jun 2009 17:27:37 +0000 (17:27 +0000)]
Update test case.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72694
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 1 Jun 2009 15:02:12 +0000 (15:02 +0000)]
Fix a bug in hasEmptyExceptionSpec. (Thanks Sebastian for noticing).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72691
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Mon, 1 Jun 2009 10:04:20 +0000 (10:04 +0000)]
PR4289: Make sure "&func" has the right LLVM type when "func" is a
K&R-style definition.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72690
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Mon, 1 Jun 2009 09:24:59 +0000 (09:24 +0000)]
PR4287: allow a variadic prototype to make a subsequent K&R style
definition variadic. I'm not completely sure it's legal, but the
standard can be interpreted as making it legal, and gcc seems to think
it's legal, so I didn't add an extension warning.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72689
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Mon, 1 Jun 2009 08:55:08 +0000 (08:55 +0000)]
Simplify run line.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72687
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Mon, 1 Jun 2009 05:25:02 +0000 (05:25 +0000)]
PR4283: Don't truncate multibyte character constants in the
preprocessor.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72686
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Mon, 1 Jun 2009 01:22:52 +0000 (01:22 +0000)]
Disable type merging with gc attributes. This has a number of nasty
properties at the moment:
1. It allows stuff like "__strong id x; __weak id x;".
2. For constructs like "__strong id x; id x;", subsequent references to
x lose the objc_gc attribute.
3. This incorrectly allows merges involving the address_space attribute.
4. Constructs like "id x; /* some code using x */ __weak id x;" don't
apply the objc_gc attribute consistently to all uses of x.
The first three can probably be fixed relatively easily; the fourth
would be extremely difficult to fix.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72683
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Mon, 1 Jun 2009 00:50:23 +0000 (00:50 +0000)]
Unify coding style.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72682
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Mon, 1 Jun 2009 00:49:11 +0000 (00:49 +0000)]
Use a reference to modify the DeclIDs map.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72681
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 1 Jun 2009 00:40:08 +0000 (00:40 +0000)]
After spending 15 minutes trying to figure out why this was crashing, I realized it was a bug in the test case :)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72680
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 1 Jun 2009 00:26:14 +0000 (00:26 +0000)]
Fix a thinko.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72679
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 1 Jun 2009 00:05:16 +0000 (00:05 +0000)]
Check for null correctly for new expressions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72678
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 31 May 2009 21:53:59 +0000 (21:53 +0000)]
Improve irgen of 'new' further.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72677
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 31 May 2009 21:12:26 +0000 (21:12 +0000)]
...and aggregate POD types.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72676
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 31 May 2009 21:07:58 +0000 (21:07 +0000)]
Support for complex types.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72675
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 31 May 2009 20:56:36 +0000 (20:56 +0000)]
Better support for scalar POD types in 'new' expressions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72674
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 31 May 2009 20:26:12 +0000 (20:26 +0000)]
Make sure to copy back arguments that can be changed by FindAllocationOverload. This fixes placement new. (Sebastian, please review).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72673
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 31 May 2009 20:21:44 +0000 (20:21 +0000)]
Very basic irgen support for new expressions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72672
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 31 May 2009 20:19:23 +0000 (20:19 +0000)]
Don't try to call getFileCharacteristic if the function declaration has an invalid source location (as is the case for the global allocation functions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72671
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 31 May 2009 19:49:47 +0000 (19:49 +0000)]
Fix an off by one error when trying to perform copy initialization of operator new and operator delete arguments. Sebastian, please review.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72670
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 31 May 2009 19:32:13 +0000 (19:32 +0000)]
Downgrade an error about "return in a no-return function" from being
an error to being a warning that defaults to error. If you want this to
be a warning, you have to explicitly pass -Winvalid-noreturn to clang to
map it back to a warning.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72669
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Sun, 31 May 2009 11:47:27 +0000 (11:47 +0000)]
Disallow exception specs on typedefs.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72664
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Sun, 31 May 2009 10:54:53 +0000 (10:54 +0000)]
Fix for PR4285: allow intializing a const wchar_t array with a wide
string.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72663
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Sun, 31 May 2009 09:31:02 +0000 (09:31 +0000)]
Initial infrastructure for class template partial specialization. Here
we have the basics of declaring and storing class template partial
specializations, matching class template partial specializations at
instantiation time via (limited) template argument deduction, and
using the class template partial specialization's pattern for
instantiation.
This patch is enough to make a simple is_pointer type trait work, but
not much else.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72662
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Sun, 31 May 2009 07:13:39 +0000 (07:13 +0000)]
Add a little FIXME for C++ class printing
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72660
91177308 -0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Sun, 31 May 2009 04:09:57 +0000 (04:09 +0000)]
Unbreak the clang build by applying the same temporary
workaround for machine code emitter changes as was used
in llvm-gcc.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72657
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 31 May 2009 01:40:14 +0000 (01:40 +0000)]
Add a new function for emitting new functions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72656
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 31 May 2009 00:34:10 +0000 (00:34 +0000)]
Emit destructors correctly for temporaries.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72655
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 31 May 2009 00:33:20 +0000 (00:33 +0000)]
When possible, don't emit the cleanup block. Instead, just move the instructions to the current block.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72654
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 31 May 2009 00:12:05 +0000 (00:12 +0000)]
Implement VisitCXXExprWithTemporaries for complex expressions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72653
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 31 May 2009 00:09:15 +0000 (00:09 +0000)]
Call EmitCXXExprWithTemporaries.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72652
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 31 May 2009 00:08:52 +0000 (00:08 +0000)]
Add more getters to the new AST nodes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72651
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 30 May 2009 23:30:54 +0000 (23:30 +0000)]
Add lvalue irgen support for CXXBindTemporaryExpr.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72649
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 30 May 2009 23:23:33 +0000 (23:23 +0000)]
More temporary support.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72648
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 30 May 2009 22:51:20 +0000 (22:51 +0000)]
Forgot the implementation. Thanks Eli.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72647
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 30 May 2009 22:47:03 +0000 (22:47 +0000)]
Add RemoveOutermostTemporaryBinding. Not used yet.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72644
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 30 May 2009 22:38:53 +0000 (22:38 +0000)]
Clean up the newly added C++ AST nodes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72643
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 30 May 2009 22:24:16 +0000 (22:24 +0000)]
It's OK for a full expr to be null. This fixes the failing test cases.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72642
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 30 May 2009 21:42:34 +0000 (21:42 +0000)]
ActOnReturnStmt should also take a FullExprArg.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72641
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 30 May 2009 21:37:25 +0000 (21:37 +0000)]
AddInitializerToDecl needs to take a full expression.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72640
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 30 May 2009 21:32:24 +0000 (21:32 +0000)]
Update Xcode project
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72639
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 30 May 2009 21:21:49 +0000 (21:21 +0000)]
Add the newly created temporary to the ExprTemporaries stack.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72638
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 30 May 2009 21:10:34 +0000 (21:10 +0000)]
Get rid of CXXTempVarDecl.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72637
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Sat, 30 May 2009 21:09:44 +0000 (21:09 +0000)]
Some small fixes for fields of reference type.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72636
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 30 May 2009 21:05:25 +0000 (21:05 +0000)]
Stop using CXXTempVarDecl and use CXXTemporary instead.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72634
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 30 May 2009 20:56:46 +0000 (20:56 +0000)]
Remove VarDecl from CXXConstructExpr.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72633
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 30 May 2009 20:52:37 +0000 (20:52 +0000)]
Bind temporaries correctly when instantiating expressions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72632
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 30 May 2009 20:41:30 +0000 (20:41 +0000)]
Remove VarDecl from CheckInitializerTypes now that CXXConstructExpr doesn't need to take a VarDecl anymore. (It still does, but it won't for long)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72630
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 30 May 2009 20:36:53 +0000 (20:36 +0000)]
Add Sema::MaybeBindToTemporary which takes an expression and (if needed) wraps it in a CXXBindTemporaryExpr. Use this when creating CXXTemporaryObjectExprs.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72629
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 30 May 2009 20:34:37 +0000 (20:34 +0000)]
Small fixes to CXXTemporary and CXXBindTemporaryExpr.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72628
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 30 May 2009 20:03:25 +0000 (20:03 +0000)]
Add a CXXBindTemporaryExpr.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72627
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 30 May 2009 19:54:15 +0000 (19:54 +0000)]
Add a CXXTemporary class. Not used yet.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72626
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 30 May 2009 17:26:39 +0000 (17:26 +0000)]
Replace a cast with a dyn_cast as suggested by Doug.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72624
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Sat, 30 May 2009 14:43:18 +0000 (14:43 +0000)]
Cleqnup ideas from Chris, thanks.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72621
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Sat, 30 May 2009 06:58:37 +0000 (06:58 +0000)]
AST printing for C++ base classes
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72617
91177308 -0d34-0410-b5e6-
96231b3b80d8