]> granicus.if.org Git - clang/log
clang
14 years agoConvert DeclNodes to use TableGen.
Sean Hunt [Sun, 30 May 2010 07:21:58 +0000 (07:21 +0000)]
Convert DeclNodes to use TableGen.

The macros required for DeclNodes use have changed to match the use of
StmtNodes. The FooFirst enumerator constants have been named firstFoo
to match usage elsewhere.

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

14 years agoAnd now for the best part: Removing the old code.
Anders Carlsson [Sun, 30 May 2010 06:56:46 +0000 (06:56 +0000)]
And now for the best part: Removing the old code.

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

14 years agoTurn on the new empty base subobject tracking code. It's a bit faster than the previo...
Anders Carlsson [Sun, 30 May 2010 06:52:33 +0000 (06:52 +0000)]
Turn on the new empty base subobject tracking code. It's a bit faster than the previous code. However, it still has quadratic performance, something which I intend to fix shortly in a subsequent patch.

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

14 years agoTeach code-completion for calls to be more careful with a
Douglas Gregor [Sun, 30 May 2010 06:10:08 +0000 (06:10 +0000)]
Teach code-completion for calls to be more careful with a
potentially-NULL "function" argument.

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

14 years agoFix for PR7040: Don't try to compute the LLVM type for a function where it
Eli Friedman [Sun, 30 May 2010 06:03:20 +0000 (06:03 +0000)]
Fix for PR7040: Don't try to compute the LLVM type for a function where it
isn't possible to compute.

This patch is mostly refactoring; the key change is the addition of the code
starting with the comment, "Check whether the function has a computable LLVM
signature."  The solution here is essentially the same as the way the
vtable code handles such functions.

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

14 years agoUnbreak non-Darwin builds
Douglas Gregor [Sun, 30 May 2010 04:00:50 +0000 (04:00 +0000)]
Unbreak non-Darwin builds

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

14 years agoTeach code completion to adjust its completion priorities based on the
Douglas Gregor [Sun, 30 May 2010 01:49:25 +0000 (01:49 +0000)]
Teach code completion to adjust its completion priorities based on the
type that we expect to see at a given point in the grammar, e.g., when
initializing a variable, returning a result, or calling a function. We
don't prune the candidate set at all, just adjust priorities to favor
things that should type-check, using an ultra-simplified type system.

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

14 years agoAccept '#pragma options align=mac68k' on Darwin/PPC and Darwin/PPC64.
Daniel Dunbar [Sun, 30 May 2010 00:07:30 +0000 (00:07 +0000)]
Accept '#pragma options align=mac68k' on Darwin/PPC and Darwin/PPC64.

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

14 years agoCleanup.
Anders Carlsson [Sat, 29 May 2010 21:10:24 +0000 (21:10 +0000)]
Cleanup.

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

14 years agoMake EmptySubobjectMap::CanPlaceBaseAtOffset take a BaseSubobjectInfo as well.
Anders Carlsson [Sat, 29 May 2010 20:49:49 +0000 (20:49 +0000)]
Make EmptySubobjectMap::CanPlaceBaseAtOffset take a BaseSubobjectInfo as well.

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

14 years agoChange RecordLayoutBuilder::LayoutBase to take a BaseSubobjectInfo. No functionality...
Anders Carlsson [Sat, 29 May 2010 20:47:33 +0000 (20:47 +0000)]
Change RecordLayoutBuilder::LayoutBase to take a BaseSubobjectInfo. No functionality change.

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

14 years agoAdd check for an invalid CXType in clang_getTypeDeclaration.
Ted Kremenek [Sat, 29 May 2010 20:01:52 +0000 (20:01 +0000)]
Add check for an invalid CXType in clang_getTypeDeclaration.

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

14 years agoRework the way virtual primary bases are added when laying out classes. Instead of...
Anders Carlsson [Sat, 29 May 2010 19:44:50 +0000 (19:44 +0000)]
Rework the way virtual primary bases are added when laying out classes. Instead of doing it as a separate step, we now use the BaseSubobjectInfo and use it when laying out the bases. This fixes a bug where we would either not add a primary virtual base at all, or add it at the wrong offset.

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

14 years agoChange LayoutVirtualBase to also take a BaseSubobjectInfo.
Anders Carlsson [Sat, 29 May 2010 17:48:36 +0000 (17:48 +0000)]
Change LayoutVirtualBase to also take a BaseSubobjectInfo.

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

14 years agoChange RecordLayoutBuilder::LayoutNonVirtualBase to take a BaseSubobjectInfo. No...
Anders Carlsson [Sat, 29 May 2010 17:42:25 +0000 (17:42 +0000)]
Change RecordLayoutBuilder::LayoutNonVirtualBase to take a BaseSubobjectInfo. No functionality change.

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

14 years agoMove computing the base subobject info for a class into the RecordLayoutBuilder becau...
Anders Carlsson [Sat, 29 May 2010 17:35:14 +0000 (17:35 +0000)]
Move computing the base subobject info for a class into the RecordLayoutBuilder because we're going to need it to be able to correctly add offsets for primary virtual bases.

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

14 years agoRevert r105097. Thinking about a better fix.
Zhongxing Xu [Sat, 29 May 2010 06:49:04 +0000 (06:49 +0000)]
Revert r105097. Thinking about a better fix.

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

14 years agoFix PR7218. Patch by Jordy Rose.
Zhongxing Xu [Sat, 29 May 2010 06:23:24 +0000 (06:23 +0000)]
Fix PR7218. Patch by Jordy Rose.

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

14 years agoMore PowerPC paths on Darwin
Douglas Gregor [Sat, 29 May 2010 01:21:11 +0000 (01:21 +0000)]
More PowerPC paths on Darwin

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

14 years agoAdd C++ include paths for Darwin PowerPC
Douglas Gregor [Sat, 29 May 2010 01:15:12 +0000 (01:15 +0000)]
Add C++ include paths for Darwin PowerPC

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

14 years agoadd fedora 13 paths, patch by Hendrik Richter.
Chris Lattner [Sat, 29 May 2010 01:01:38 +0000 (01:01 +0000)]
add fedora 13 paths, patch by Hendrik Richter.

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

14 years agoCopy source information for the inner type of an elaborated type; fixes some
John McCall [Fri, 28 May 2010 23:32:21 +0000 (23:32 +0000)]
Copy source information for the inner type of an elaborated type;  fixes some
valgrind problems.

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

14 years agoImplement remaining items in neon td file. Still need to modify emitter to generate...
Nate Begeman [Fri, 28 May 2010 23:15:59 +0000 (23:15 +0000)]
Implement remaining items in neon td file.  Still need to modify emitter to generate a proper header.

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

14 years agoChanged text of 'empty enum' diagnostics to say so.
Fariborz Jahanian [Fri, 28 May 2010 22:43:53 +0000 (22:43 +0000)]
Changed text of 'empty enum' diagnostics to say so.

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

14 years agoEmpty enum in c is now error to match gcc's behavior.
Fariborz Jahanian [Fri, 28 May 2010 22:23:22 +0000 (22:23 +0000)]
Empty enum in c is now error to match gcc's behavior.
(radar 8040068).

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

14 years agoOnly provide a source location for an anonymous tag if the location is valid
Douglas Gregor [Fri, 28 May 2010 21:47:04 +0000 (21:47 +0000)]
Only provide a source location for an anonymous tag if the location is valid

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

14 years agoRename BaseInfo to BaseSubobjectInfo.
Anders Carlsson [Fri, 28 May 2010 21:24:37 +0000 (21:24 +0000)]
Rename BaseInfo to BaseSubobjectInfo.

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

14 years agoMove BaseInfo outside of the EmptySubobject class.
Anders Carlsson [Fri, 28 May 2010 21:13:31 +0000 (21:13 +0000)]
Move BaseInfo outside of the EmptySubobject class.

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

14 years agoSema: Fix comment, apparently #pragma options align=power is just the same as
Daniel Dunbar [Fri, 28 May 2010 20:08:00 +0000 (20:08 +0000)]
Sema: Fix comment, apparently #pragma options align=power is just the same as
align=native, at least for the platforms we support.

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

14 years agoFix personality function name when using SjLj exceptions.
Daniel Dunbar [Fri, 28 May 2010 19:43:36 +0000 (19:43 +0000)]
Fix personality function name when using SjLj exceptions.

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

14 years agoSema: Just ignore '#pragma options align=power' for now, this is no worse than
Daniel Dunbar [Fri, 28 May 2010 19:43:33 +0000 (19:43 +0000)]
Sema: Just ignore '#pragma options align=power' for now, this is no worse than
what we used to be doing, and makes sure that paired '#pragma options
align=reset' won't fail.

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

14 years agoUpdate "users manual", PR2461 has been fixed.
Daniel Dunbar [Fri, 28 May 2010 19:43:31 +0000 (19:43 +0000)]
Update "users manual", PR2461 has been fixed.

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

14 years agoFix a miscompile of wchar pascal strings.
Fariborz Jahanian [Fri, 28 May 2010 19:40:48 +0000 (19:40 +0000)]
Fix a miscompile of wchar pascal strings.
(radar 8020384)

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

14 years agoA more minimal fix for PR6762.
John McCall [Fri, 28 May 2010 18:45:08 +0000 (18:45 +0000)]
A more minimal fix for PR6762.

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

14 years agoRoll back r104941.
John McCall [Fri, 28 May 2010 18:25:28 +0000 (18:25 +0000)]
Roll back r104941.

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

14 years agoLet the backend decide which scheduler and register allocator to use.
Jakob Stoklund Olesen [Fri, 28 May 2010 18:13:31 +0000 (18:13 +0000)]
Let the backend decide which scheduler and register allocator to use.

Currently, the backend uses the same policy, but it will soon switch to
-regalloc=fast for -O0.

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

14 years agozero-cost exception API for NeXt runtime.
Fariborz Jahanian [Fri, 28 May 2010 17:34:43 +0000 (17:34 +0000)]
zero-cost exception API for NeXt runtime.
rethrow inside @catch block must use objc_exception_rethrow
API. Fixes radar 8037512. Test will be added to LLVM
test suite.

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

14 years agoDriver: Spell -relax-all correctly when calling the cc1as tool.
Daniel Dunbar [Fri, 28 May 2010 16:43:21 +0000 (16:43 +0000)]
Driver: Spell -relax-all correctly when calling the cc1as tool.

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

14 years agoDisable exception-spec compatibility checking under -fno-exceptions.
John McCall [Fri, 28 May 2010 08:37:35 +0000 (08:37 +0000)]
Disable exception-spec compatibility checking under -fno-exceptions.
Fixes PR7243.

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

14 years agoAdd a new attribute on records, __attribute__((adl_invisible)), and define
John McCall [Fri, 28 May 2010 08:20:36 +0000 (08:20 +0000)]
Add a new attribute on records, __attribute__((adl_invisible)), and define
the x86-64 __va_list_tag with this attribute.  The attribute causes the
affected type to behave like a fundamental type when considered by ADL.

(x86-64 is the only target we currently provide with a struct-based
__builtin_va_list)

Fixes PR6762.

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

14 years agoDon't just skip over the entire tag definition if the parser action didn't
John McCall [Fri, 28 May 2010 08:11:17 +0000 (08:11 +0000)]
Don't just skip over the entire tag definition if the parser action didn't
give us a decl back.  Makes -cc1 -parse-noop handle a substantially larger
amount of the C++ grammar.

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

14 years agoTest case for r104938.
John McCall [Fri, 28 May 2010 06:14:52 +0000 (06:14 +0000)]
Test case for r104938.

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

14 years agoOptimize and complete associated-class-and-namespace collection from
John McCall [Fri, 28 May 2010 06:08:54 +0000 (06:08 +0000)]
Optimize and complete associated-class-and-namespace collection from
a type.

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

14 years agoWhen we complain about a member being inaccessible due to a constraint
Douglas Gregor [Fri, 28 May 2010 04:34:55 +0000 (04:34 +0000)]
When we complain about a member being inaccessible due to a constraint
along an access path, add another note pointing at the member we
actually found.

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

14 years agoAdd CMake goop to get arm_neon.h generated
Douglas Gregor [Fri, 28 May 2010 04:22:06 +0000 (04:22 +0000)]
Add CMake goop to get arm_neon.h generated

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

14 years agoConvert arm_neon.h into arm_neon.td, from which arm_neon.h will be built
Nate Begeman [Fri, 28 May 2010 02:20:47 +0000 (02:20 +0000)]
Convert arm_neon.h into arm_neon.td, from which arm_neon.h will be built
Add Makefile support for building arm_neon.h from arm_neon.td
Need to figure out an appropriate cmake rule for this.

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

14 years agoFrontend: Sprinkle in some C++ header paths for ARM/Darwin. Also, don't add x86
Daniel Dunbar [Fri, 28 May 2010 01:54:31 +0000 (01:54 +0000)]
Frontend: Sprinkle in some C++ header paths for ARM/Darwin. Also, don't add x86
paths on non-x86.

I really detest this file.

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

14 years agoAdd an svn:ignore.
Dan Gohman [Fri, 28 May 2010 01:47:00 +0000 (01:47 +0000)]
Add an svn:ignore.

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

14 years agoThis cast is no longer needed; the FIXME is fixed.
Dan Gohman [Fri, 28 May 2010 01:45:35 +0000 (01:45 +0000)]
This cast is no longer needed; the FIXME is fixed.

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

14 years agoWhen filtering out previous declarations of friend functions, consider the
John McCall [Fri, 28 May 2010 01:41:47 +0000 (01:41 +0000)]
When filtering out previous declarations of friend functions, consider the
lookup context, not the direct semantic context.  Fixes PR7230.

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

14 years agoThis cast is no longer required.
Dan Gohman [Fri, 28 May 2010 01:39:35 +0000 (01:39 +0000)]
This cast is no longer required.

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

14 years agoDon't put method bodies into code completions unless code patterns are
Douglas Gregor [Fri, 28 May 2010 00:57:46 +0000 (00:57 +0000)]
Don't put method bodies into code completions unless code patterns are
turned on.

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

14 years agoDo not produce types as valid code completions when we're in an
Douglas Gregor [Fri, 28 May 2010 00:49:12 +0000 (00:49 +0000)]
Do not produce types as valid code completions when we're in an
expression context in C/Objective-C, or when we're in an
@interface/@implementation/@protocol in Objective-C(++).

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

14 years agoAdd several more predefines from modern versions of GCC.
Dan Gohman [Fri, 28 May 2010 00:27:15 +0000 (00:27 +0000)]
Add several more predefines from modern versions of GCC.

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

14 years agoMake -code-completion-patterns only cover multi-line code
Douglas Gregor [Fri, 28 May 2010 00:22:41 +0000 (00:22 +0000)]
Make -code-completion-patterns only cover multi-line code
completions. Plus, tweak a few completion patterns to better reflect
the language grammar.

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

14 years agoUpdate __builtin_setjmp codegen to match llvmCore changes in r104900.
Jim Grosbach [Thu, 27 May 2010 23:54:20 +0000 (23:54 +0000)]
Update __builtin_setjmp codegen to match llvmCore changes in r104900.

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

14 years agoFix typo.
Nick Lewycky [Thu, 27 May 2010 23:40:55 +0000 (23:40 +0000)]
Fix typo.

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

14 years agoImplement a code-completion hook for the receiver of an Objective-C
Douglas Gregor [Thu, 27 May 2010 23:06:34 +0000 (23:06 +0000)]
Implement a code-completion hook for the receiver of an Objective-C
message. This completion gives better results than just using the
"expression" completion, which is effectively what happened before.

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

14 years agoTweak the fix-it for a copy constructor declared to take its argument
Douglas Gregor [Thu, 27 May 2010 21:28:21 +0000 (21:28 +0000)]
Tweak the fix-it for a copy constructor declared to take its argument
by-value. We now only prepend a space if it is needed.

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

14 years agoAdd a comment to mention the memory ownership situation.
Dan Gohman [Thu, 27 May 2010 20:28:55 +0000 (20:28 +0000)]
Add a comment to mention the memory ownership situation.

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

14 years agoWhen handling raw_ostream errors manually, use clear_error() so that
Dan Gohman [Thu, 27 May 2010 20:16:37 +0000 (20:16 +0000)]
When handling raw_ostream errors manually, use clear_error() so that
raw_ostream doesn't try to do its own error handling.

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

14 years agoWhen null-initializing bases with data member pointers, don't assert on virtual bases...
Anders Carlsson [Thu, 27 May 2010 18:51:01 +0000 (18:51 +0000)]
When null-initializing bases with data member pointers, don't assert on virtual bases. Just initialize them to null.

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

14 years agoEnable the implementation of __builtin_setjmp and __builtin_longjmp. Not all
John McCall [Thu, 27 May 2010 18:47:06 +0000 (18:47 +0000)]
Enable the implementation of __builtin_setjmp and __builtin_longjmp.  Not all
LLVM backends support these yet.

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

14 years agoParse/Sema: Add support for '#pragma options align=packed', which, it should be
Daniel Dunbar [Thu, 27 May 2010 18:42:17 +0000 (18:42 +0000)]
Parse/Sema: Add support for '#pragma options align=packed', which, it should be
noted, is not the same as __attribute__((packed)). That would be ridiculous!

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

14 years agoParse/Sema: Add support for '#pragma options align=native'.
Daniel Dunbar [Thu, 27 May 2010 18:42:09 +0000 (18:42 +0000)]
Parse/Sema: Add support for '#pragma options align=native'.

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

14 years agoSilence warning about "enumeral and non-enumeral type in conditional
Bill Wendling [Thu, 27 May 2010 18:35:05 +0000 (18:35 +0000)]
Silence warning about "enumeral and non-enumeral type in conditional
expression".

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

14 years agoMore work on the empty subobject map. This code is not yet used.
Anders Carlsson [Thu, 27 May 2010 18:20:57 +0000 (18:20 +0000)]
More work on the empty subobject map. This code is not yet used.

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

14 years agoMemoryBuffer::getSTDIN may return a null pointer if an error occurs.
Dan Gohman [Thu, 27 May 2010 17:33:40 +0000 (17:33 +0000)]
MemoryBuffer::getSTDIN may return a null pointer if an error occurs.

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

14 years agoRemove clang_isFromMainFile(). It doesn't work correctly with CXDiagnostics, and...
Ted Kremenek [Thu, 27 May 2010 16:57:42 +0000 (16:57 +0000)]
Remove clang_isFromMainFile().  It doesn't work correctly with CXDiagnostics, and we shouldn't
have an API around that cannot be implemented correctly yet.

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

14 years agoFix 80-column.
Fariborz Jahanian [Thu, 27 May 2010 16:35:00 +0000 (16:35 +0000)]
Fix 80-column.

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

14 years agoAnother empty class layout test.
Anders Carlsson [Thu, 27 May 2010 16:15:06 +0000 (16:15 +0000)]
Another empty class layout test.

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

14 years agoAdd more empty class layout tests.
Anders Carlsson [Thu, 27 May 2010 16:07:49 +0000 (16:07 +0000)]
Add more empty class layout tests.

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

14 years agoObjective-c++ IR gen.
Fariborz Jahanian [Thu, 27 May 2010 16:05:06 +0000 (16:05 +0000)]
Objective-c++ IR gen.
Flag synthesized struct decl. as non-empty so
CXX side of ir gen does not skip its Null initialization.
Fixes radar 8027844 for objc++'s collection statement.

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

14 years agoWhen we've parsed a nested-name-specifier in a member access
Douglas Gregor [Thu, 27 May 2010 15:25:59 +0000 (15:25 +0000)]
When we've parsed a nested-name-specifier in a member access
expression, "forget" about the object type; only the
nested-name-specifier matters for name lookup purposes. Fixes PR7239.

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

14 years agoFixed missing initialization of member. Should we enable unused argument warning?.
Abramo Bagnara [Thu, 27 May 2010 07:42:50 +0000 (07:42 +0000)]
Fixed missing initialization of member. Should we enable unused argument warning?.

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

14 years agoDarwin/ARM seems to support mac68k align as well.
Daniel Dunbar [Thu, 27 May 2010 07:00:26 +0000 (07:00 +0000)]
Darwin/ARM seems to support mac68k align as well.

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

14 years agoDriver: Update -O -> -O2 replacement for addition of -O0 option.
Daniel Dunbar [Thu, 27 May 2010 06:51:08 +0000 (06:51 +0000)]
Driver: Update -O -> -O2 replacement for addition of -O0 option.

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

14 years agoRequire a complete type when performing the qualified lookup during
John McCall [Thu, 27 May 2010 06:40:31 +0000 (06:40 +0000)]
Require a complete type when performing the qualified lookup during
instantiation of a dependent elaborated type specifier.  Fixes PR 7199.

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

14 years agoUpdate checker build.
Ted Kremenek [Thu, 27 May 2010 06:27:45 +0000 (06:27 +0000)]
Update checker build.

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

14 years agoImplement __builtin_init_dwarf_reg_size_table and __builtin_dwarf_sp_column
John McCall [Thu, 27 May 2010 06:19:26 +0000 (06:19 +0000)]
Implement __builtin_init_dwarf_reg_size_table and __builtin_dwarf_sp_column
for 32-bit MIPS processors.  Hat-tip to rdivacky for providing gcc dumps
on this.

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

14 years agoDriver: Add support for -m[no-]relax-all, and make it the default at -O0.
Daniel Dunbar [Thu, 27 May 2010 06:18:05 +0000 (06:18 +0000)]
Driver: Add support for -m[no-]relax-all, and make it the default at -O0.

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

14 years agoSema: Add initial support for '#pragma options align=mac68k'.
Daniel Dunbar [Thu, 27 May 2010 05:45:51 +0000 (05:45 +0000)]
Sema: Add initial support for '#pragma options align=mac68k'.
 - Docs are fairly sketchy, if someone wants to pore through gcc to look for
   holes I'd appreciate any failing test cases!

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

14 years agoMore work on the new empty subobject map.
Anders Carlsson [Thu, 27 May 2010 05:41:06 +0000 (05:41 +0000)]
More work on the new empty subobject map.

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

14 years agoDriver: Add clang -cc1 -mrelax-all option, which sets relaxes all instructions when...
Daniel Dunbar [Thu, 27 May 2010 05:39:39 +0000 (05:39 +0000)]
Driver: Add clang -cc1 -mrelax-all option, which sets relaxes all instructions when using -integrated-as.

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

14 years agoStrip trailing whitespace.
Daniel Dunbar [Thu, 27 May 2010 02:25:46 +0000 (02:25 +0000)]
Strip trailing whitespace.

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

14 years agoAST: Add AlignMac68kAttr, not yet used.
Daniel Dunbar [Thu, 27 May 2010 02:25:39 +0000 (02:25 +0000)]
AST: Add AlignMac68kAttr, not yet used.

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

14 years agoSema: Factor out struct for alignment stack entries.
Daniel Dunbar [Thu, 27 May 2010 02:25:27 +0000 (02:25 +0000)]
Sema: Factor out struct for alignment stack entries.

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

14 years agoGive this test a triple.
John McCall [Thu, 27 May 2010 02:04:58 +0000 (02:04 +0000)]
Give this test a triple.

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

14 years agoSema: Replace getPragmaPackAlignment with AddAlignmentAttributesForRecord, which
Daniel Dunbar [Thu, 27 May 2010 01:53:40 +0000 (01:53 +0000)]
Sema: Replace getPragmaPackAlignment with AddAlignmentAttributesForRecord, which
exposes less details.

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

14 years agoWhen deciding whether a deferred declaration has already been emitted,
John McCall [Thu, 27 May 2010 01:45:30 +0000 (01:45 +0000)]
When deciding whether a deferred declaration has already been emitted,
aliases count as definitions regardless of whether their target has been
emitted yet.  Fixes PR 7142.

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

14 years agoAST: Rename PragmaPackAttr to MaxFieldAlignmentAttr, which is more accurate.
Daniel Dunbar [Thu, 27 May 2010 01:12:46 +0000 (01:12 +0000)]
AST: Rename PragmaPackAttr to MaxFieldAlignmentAttr, which is more accurate.

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

14 years agoSema: Reject '#pragma options align=mac68k' everywhere except i386-apple-darwin.
Daniel Dunbar [Thu, 27 May 2010 00:35:16 +0000 (00:35 +0000)]
Sema: Reject '#pragma options align=mac68k' everywhere except i386-apple-darwin.

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

14 years agoDiscard qualifiers for ElementRegions so that a 'const' doesn't change the lookup...
Ted Kremenek [Thu, 27 May 2010 00:29:00 +0000 (00:29 +0000)]
Discard qualifiers for ElementRegions so that a 'const' doesn't change the lookup semantics
in the symbol store.  We may wish to push this down into the StoreManager itself.

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

14 years agoMore work on the empty subobjects map.
Anders Carlsson [Thu, 27 May 2010 00:07:01 +0000 (00:07 +0000)]
More work on the empty subobjects map.

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

14 years agoSema: Support for #pragma options align={reset,natural}. '#pragma options align'
Daniel Dunbar [Thu, 27 May 2010 00:04:40 +0000 (00:04 +0000)]
Sema: Support for #pragma options align={reset,natural}. '#pragma options align'
shares the stack with '#pragma pack', who knew!?

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

14 years agoParse: Add support for '#pragma options align'.
Daniel Dunbar [Wed, 26 May 2010 23:29:06 +0000 (23:29 +0000)]
Parse: Add support for '#pragma options align'.

Also, fix a source location bug with the rparen in #pragma pack.

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

14 years agoCorrectly pass aggregates by reference when emitting thunks.
John McCall [Wed, 26 May 2010 22:34:26 +0000 (22:34 +0000)]
Correctly pass aggregates by reference when emitting thunks.

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

14 years agoIntroduce priorities into the code-completion results.
Douglas Gregor [Wed, 26 May 2010 22:00:08 +0000 (22:00 +0000)]
Introduce priorities into the code-completion results.

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

14 years agoGrammar fix: s/it's/its/g in
Nick Lewycky [Wed, 26 May 2010 21:48:10 +0000 (21:48 +0000)]
Grammar fix: s/it's/its/g in
  "it's spelling location and it's instantiation location"

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

14 years agoPatch to fix a irgen crash accessing an initialized local static
Fariborz Jahanian [Wed, 26 May 2010 21:45:50 +0000 (21:45 +0000)]
Patch to fix a irgen crash accessing an initialized local static
variable in a local function. Fixes pr7101.

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