]> granicus.if.org Git - clang/log
clang
15 years agoUse PushConditionalTempDestruction/PopConditionalTempDestruction for the ternary...
Anders Carlsson [Thu, 4 Jun 2009 03:00:32 +0000 (03:00 +0000)]
Use PushConditionalTempDestruction/PopConditionalTempDestruction for the ternary operator.

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

15 years agoUse conditional temp destruction for || and &&.
Anders Carlsson [Thu, 4 Jun 2009 02:53:13 +0000 (02:53 +0000)]
Use conditional temp destruction for || and &&.

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

15 years agoMake PushCXXTemporary and PopCXXTemporary handle conditional temporaries.
Anders Carlsson [Thu, 4 Jun 2009 02:47:33 +0000 (02:47 +0000)]
Make PushCXXTemporary and PopCXXTemporary handle conditional temporaries.

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

15 years agoAdd PushConditionalTempDestruction/PopConditionalTempDestruction.
Anders Carlsson [Thu, 4 Jun 2009 02:22:12 +0000 (02:22 +0000)]
Add PushConditionalTempDestruction/PopConditionalTempDestruction.

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

15 years agoMake sure to call FullExpr before parsing anything else.
Anders Carlsson [Thu, 4 Jun 2009 02:18:15 +0000 (02:18 +0000)]
Make sure to call FullExpr before parsing anything else.

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

15 years agoUse the right indentation for CGCXXTemp.cpp
Anders Carlsson [Thu, 4 Jun 2009 02:08:31 +0000 (02:08 +0000)]
Use the right indentation for CGCXXTemp.cpp

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

15 years agoMake sure to push a cleanup block.
Anders Carlsson [Thu, 4 Jun 2009 02:08:08 +0000 (02:08 +0000)]
Make sure to push a cleanup block.

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

15 years agoCleanup/Refactoring of ivar collection. No change in functionality.
Fariborz Jahanian [Thu, 4 Jun 2009 01:19:09 +0000 (01:19 +0000)]
Cleanup/Refactoring of ivar collection. No change in functionality.

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

15 years agoTemplate argument deduction for references
Douglas Gregor [Thu, 4 Jun 2009 00:21:18 +0000 (00:21 +0000)]
Template argument deduction for references

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

15 years agoUpdate Xcode project
Douglas Gregor [Thu, 4 Jun 2009 00:04:42 +0000 (00:04 +0000)]
Update Xcode project

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

15 years agoWhen performing template argument deduction, ensure that multiple
Douglas Gregor [Thu, 4 Jun 2009 00:03:07 +0000 (00:03 +0000)]
When performing template argument deduction, ensure that multiple
deductions of the same template parameter are equivalent. This allows
us to implement the is_same type trait (!).

Also, move template argument deduction into its own file and update a
few build systems with this change (grrrr).

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

15 years agoPTH -> PCH in the user manual
Douglas Gregor [Wed, 3 Jun 2009 22:37:00 +0000 (22:37 +0000)]
PTH -> PCH in the user manual

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

15 years agoFix cmake builds.
Mike Stump [Wed, 3 Jun 2009 22:24:28 +0000 (22:24 +0000)]
Fix cmake builds.

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

15 years agoHTML tweak to get the PCH internals documentation to display correctly
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

15 years agoFinished the PCH design and implementation documentation
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

15 years agoDocument the integration points for precompiled headers
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

15 years agoPR4316: Fix IRGen for cast-to-union extension.
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

15 years agoAdd more retain-checker tests for GC mode when using NSMakeCollectable.
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

15 years agoMore temporary work.
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

15 years agoPR4308: Fix support for -m32/-m64 on Linux.
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

15 years agoStore more information about live temporaries. No functionality change for now.
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

15 years agoMove code generation of C++ temporaries into a new file.
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

15 years agoAdd a table of contents to the PCH design document
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

15 years agoDocument the PCH representation of statements and expressions
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

15 years ago(llvm up) Switch to using StandardPasses.h
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

15 years agoPlace the GC attribute on the same relative pointer
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

15 years agoDriver: Support -mllvm; this just forwards options to clang-cc.
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

15 years agoFill in some gaps in the precompiled headers documentation
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

15 years agoCompile fix needed by the solaris system gcc.
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

15 years agoMinor cleanup for implicit int warnings.
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

15 years agoFix up a bunch of warnings to use ExtWarn so they interact with
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

15 years agoAdd support for -Wempty-body.
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

15 years agoBack out r72764; I should have looked more carefully before committing
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

15 years agoPR3678: Add support for "Yt" asm register constraint.
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

15 years agoPR4290: Handle vfprintf in a way that doesn't give any diagnostics for
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

15 years agoemit ORIGINAL_FILE_NAME record ID to blockinfo block.
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

15 years agoUse "()" instead of "(void)" when pretty-printing a parameter-less function type...
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

15 years agoMore PCH documentation
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

15 years agoAdd clang-cc support for -disable-llvm-optzns.
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

15 years agoDiagnose misuse of __strong attribute in a redeclaration.
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

15 years agoIssue diagnostics on __weak attribute mismatch.
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

15 years agoMissing file for __builtin_unwind_init support.
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

15 years agoAdd support for __builtin_unwind_init.
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

15 years agoPR4142: Add %m format string specifier.
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

15 years agoA couple minor corrections to the "GCC extensions not implemented yet"
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

15 years agoPR4288: Make -dD (dump macros with preprocessed source) play nicely with
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

15 years agoFix a silly typo in my previous objc_gc merging patch.
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

15 years agoIf we recognize alloca, treat it as a builtin. This fixes uses of
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

15 years agoAdd builtin declarations for the variants of sin and cos.
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

15 years agoAdd aliases for a couple of SSE intrinsics. Patch by Ed Schouten.
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

15 years agoAdd --shared option.
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

15 years agoCleaned-up version of gc attribute type merging. I still don't like it
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

15 years agoRemove test which doesn't pass with gcc.
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

15 years agoAdd floating point details to PIC16 Target.
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

15 years agoThis patch attempts to fix the merging of __strong/__weak attributes
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

15 years agoFix rare failure of .ver-svn creation, it has a dependency that the output
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

15 years agoA corner case of objc2 gc's write-barrier generation
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

15 years agoFixed a test case which I am to blame for making it
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

15 years agoUpdate test case.
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

15 years agoFix a bug in hasEmptyExceptionSpec. (Thanks Sebastian for noticing).
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

15 years agoPR4289: Make sure "&func" has the right LLVM type when "func" is a
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

15 years agoPR4287: allow a variadic prototype to make a subsequent K&R style
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

15 years agoSimplify run line.
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

15 years agoPR4283: Don't truncate multibyte character constants in the
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

15 years agoDisable type merging with gc attributes. This has a number of nasty
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

15 years agoUnify coding style.
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

15 years agoUse a reference to modify the DeclIDs map.
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

15 years agoAfter spending 15 minutes trying to figure out why this was crashing, I realized...
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

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

15 years agoCheck for null correctly for new expressions.
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

15 years agoImprove irgen of 'new' further.
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

15 years ago...and aggregate POD types.
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

15 years agoSupport for complex types.
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

15 years agoBetter support for scalar POD types in 'new' expressions.
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

15 years agoMake sure to copy back arguments that can be changed by FindAllocationOverload. This...
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

15 years agoVery basic irgen support for new expressions.
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

15 years agoDon't try to call getFileCharacteristic if the function declaration has an invalid...
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

15 years agoFix an off by one error when trying to perform copy initialization of operator new...
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

15 years agoDowngrade an error about "return in a no-return function" from being
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

15 years agoDisallow exception specs on typedefs.
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

15 years agoFix for PR4285: allow intializing a const wchar_t array with a wide
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

15 years agoInitial infrastructure for class template partial specialization. Here
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

15 years agoAdd a little FIXME for C++ class printing
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

15 years agoUnbreak the clang build by applying the same temporary
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

15 years agoAdd a new function for emitting new functions.
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

15 years agoEmit destructors correctly for temporaries.
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

15 years agoWhen possible, don't emit the cleanup block. Instead, just move the instructions...
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

15 years agoImplement VisitCXXExprWithTemporaries for complex expressions.
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

15 years agoCall EmitCXXExprWithTemporaries.
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

15 years agoAdd more getters to the new AST nodes.
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

15 years agoAdd lvalue irgen support for CXXBindTemporaryExpr.
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

15 years agoMore temporary support.
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

15 years agoForgot the implementation. Thanks Eli.
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

15 years agoAdd RemoveOutermostTemporaryBinding. Not used yet.
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

15 years agoClean up the newly added C++ AST nodes.
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

15 years agoIt's OK for a full expr to be null. This fixes the failing test cases.
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

15 years agoActOnReturnStmt should also take a FullExprArg.
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

15 years agoAddInitializerToDecl needs to take a full expression.
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

15 years agoUpdate Xcode project
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

15 years agoAdd the newly created temporary to the ExprTemporaries stack.
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