]> granicus.if.org Git - clang/log
clang
14 years agowww: Swap external coverage & spec references links.
Daniel Dunbar [Sun, 13 Jun 2010 21:07:10 +0000 (21:07 +0000)]
www: Swap external coverage & spec references links.

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

14 years agoDo the same short-circuit optimization when laying out bases.
Anders Carlsson [Sun, 13 Jun 2010 18:00:18 +0000 (18:00 +0000)]
Do the same short-circuit optimization when laying out bases.

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

14 years agoImplement part of the EmptySubobjectMap optimization described in PR6998. We still...
Anders Carlsson [Sun, 13 Jun 2010 17:49:16 +0000 (17:49 +0000)]
Implement part of the EmptySubobjectMap optimization described in PR6998. We still need to do this for bases.

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

14 years agoTemplateSpecializationType's isCurrentInstantiation bit can be derived
John McCall [Sun, 13 Jun 2010 09:25:03 +0000 (09:25 +0000)]
TemplateSpecializationType's isCurrentInstantiation bit can be derived
from its canonical type.

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

14 years agoAllow an asm label specifier on C++ methods, like GCC does.
Chris Lattner [Sun, 13 Jun 2010 05:34:18 +0000 (05:34 +0000)]
Allow an asm label specifier on C++ methods, like GCC does.
Patch by David Majnemer!

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

14 years agoMost of NEON sema checking & fix to polynomial type detection
Nate Begeman [Sun, 13 Jun 2010 04:47:52 +0000 (04:47 +0000)]
Most of NEON sema checking & fix to polynomial type detection

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

14 years agodon't make libclang depend on codegen. Patch by Peter Collingbourne!
Chris Lattner [Sat, 12 Jun 2010 22:54:45 +0000 (22:54 +0000)]
don't make libclang depend on codegen.  Patch by Peter Collingbourne!

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

14 years agoReally make the Itanium C++ ABI the default.
Charles Davis [Sat, 12 Jun 2010 16:58:00 +0000 (16:58 +0000)]
Really make the Itanium C++ ABI the default.

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

14 years agofix PR7360: -P mode turns off line markers, but not blank space.
Chris Lattner [Sat, 12 Jun 2010 16:20:56 +0000 (16:20 +0000)]
fix PR7360: -P mode turns off line markers, but not blank space.
Apparently some programs which abuse the preprocessor depend
on this.

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

14 years agoAdded template parameters info for out-of-line definitions of class template methods.
Abramo Bagnara [Sat, 12 Jun 2010 08:15:14 +0000 (08:15 +0000)]
Added template parameters info for out-of-line definitions of class template methods.

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

14 years agoMicrosoft C++ Mangler:
Charles Davis [Sat, 12 Jun 2010 08:11:16 +0000 (08:11 +0000)]
Microsoft C++ Mangler:
- Don't mangle static variables at global scope.
- Add support for mangling builtin types. This will be used later.

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

14 years agoDon't omit class explicit instantiation from AST.
Abramo Bagnara [Sat, 12 Jun 2010 07:44:57 +0000 (07:44 +0000)]
Don't omit class explicit instantiation from AST.

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

14 years agoShifts complete. Only vld & sema checking of constants remain.
Nate Begeman [Sat, 12 Jun 2010 06:06:07 +0000 (06:06 +0000)]
Shifts complete.  Only vld & sema checking of constants remain.

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

14 years agovbsl, vrev* is implemented via arm_neon.h
Nate Begeman [Sat, 12 Jun 2010 03:11:41 +0000 (03:11 +0000)]
vbsl, vrev* is implemented via arm_neon.h

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

14 years agoWhen deciding whether an expression has the boolean nature, don't look through
John McCall [Sat, 12 Jun 2010 01:56:02 +0000 (01:56 +0000)]
When deciding whether an expression has the boolean nature, don't look through
explicit casts.  Fixes PR7359.

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

14 years agoFix PCH issue. Attributes of a declaration were truncated to just one when the decl...
Argyrios Kyrtzidis [Fri, 11 Jun 2010 23:09:25 +0000 (23:09 +0000)]
Fix PCH issue. Attributes of a declaration were truncated to just one when the decl was read from a PCH file.

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

14 years agoMost of remaining builtins, 2 generics, vld, and rounding shfits remain.
Nate Begeman [Fri, 11 Jun 2010 22:57:12 +0000 (22:57 +0000)]
Most of remaining builtins, 2 generics, vld, and rounding shfits remain.

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

14 years agoDriver: Switch Compilation to return the translated arguments by default.
Daniel Dunbar [Fri, 11 Jun 2010 22:43:38 +0000 (22:43 +0000)]
Driver: Switch Compilation to return the translated arguments by default.

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

14 years agoadd a -W flag.
Chris Lattner [Fri, 11 Jun 2010 22:10:09 +0000 (22:10 +0000)]
add a -W flag.

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

14 years agoDriver: Add an explicit argument translation phase to the driver itself. We are going...
Daniel Dunbar [Fri, 11 Jun 2010 22:00:26 +0000 (22:00 +0000)]
Driver: Add an explicit argument translation phase to the driver itself. We are going to need this to handle things like -Xassembler, -Xpreprocessor, and -Xlinker which we might have to introspect.

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

14 years agoDriver: Get rid of the proxy support in DerivedArgList.
Daniel Dunbar [Fri, 11 Jun 2010 22:00:22 +0000 (22:00 +0000)]
Driver: Get rid of the proxy support in DerivedArgList.

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

14 years agoFix a couple comments.
Daniel Dunbar [Fri, 11 Jun 2010 22:00:19 +0000 (22:00 +0000)]
Fix a couple comments.

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

14 years agoDriver: Change OptTable::ParseArg to take any ArgList.
Daniel Dunbar [Fri, 11 Jun 2010 22:00:17 +0000 (22:00 +0000)]
Driver: Change OptTable::ParseArg to take any ArgList.

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

14 years agoDriver: Fix arg_iterator typing to reflect that it is really an iterator over Arg*s.
Daniel Dunbar [Fri, 11 Jun 2010 22:00:13 +0000 (22:00 +0000)]
Driver: Fix arg_iterator typing to reflect that it is really an iterator over Arg*s.

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

14 years agoPreprocessor: Ignore unknown pragmas in -E -dM and -Eonly modes.
Daniel Dunbar [Fri, 11 Jun 2010 20:10:12 +0000 (20:10 +0000)]
Preprocessor: Ignore unknown pragmas in -E -dM and -Eonly modes.

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

14 years agopreprocessor directives in macro arguments aren't standard,
Chris Lattner [Fri, 11 Jun 2010 19:50:37 +0000 (19:50 +0000)]
preprocessor directives in macro arguments aren't standard,
hopefully this unbreaks msvc

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

14 years agoAdd a few FIXMEs: recursing over shadow decls, and semantics vs
Craig Silverstein [Fri, 11 Jun 2010 18:08:47 +0000 (18:08 +0000)]
Add a few FIXMEs: recursing over shadow decls, and semantics vs
syntactic iterating over initializer exprs.  No functional change.

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

14 years agoFix the constant evaluator for AltiVec-style vector literals so that the
John McCall [Fri, 11 Jun 2010 17:54:15 +0000 (17:54 +0000)]
Fix the constant evaluator for AltiVec-style vector literals so that the
vector is filled with the given constant;  we were just initializing the
first element.

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

14 years agoAllow pseudo-destructors to be called on qualified pointers. Patch by
John McCall [Fri, 11 Jun 2010 17:36:40 +0000 (17:36 +0000)]
Allow pseudo-destructors to be called on qualified pointers.  Patch by
Troy Straszheim!

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

14 years agoDon't store ASTContext references in the TST nodes just to support profiling.
John McCall [Fri, 11 Jun 2010 11:07:21 +0000 (11:07 +0000)]
Don't store ASTContext references in the TST nodes just to support profiling.

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

14 years agoProvide an Objective C mangling for wchar_t. Patch by Nico Weber!
John McCall [Fri, 11 Jun 2010 10:11:05 +0000 (10:11 +0000)]
Provide an Objective C mangling for wchar_t.  Patch by Nico Weber!

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

14 years agoConversions from Objective C object pointers to bool are "pointer conversions
John McCall [Fri, 11 Jun 2010 10:04:22 +0000 (10:04 +0000)]
Conversions from Objective C object pointers to bool are "pointer conversions
to bool" in the sense of C++ [over.ics.rank]p4 bullet 1.  I have decreed it.

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

14 years agoFix the 64-bit build. operator<<(DiagnosticBuilder, long) doesn't exist, so
Jeffrey Yasskin [Fri, 11 Jun 2010 06:58:43 +0000 (06:58 +0000)]
Fix the 64-bit build.  operator<<(DiagnosticBuilder, long) doesn't exist, so
ptrdiff_t (long on 64-bit, apparently) is ambiguous between the int and
unsigned int overloads.

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

14 years agoAdd an option -fshow-overloads=best|all to limit the number of overload
Jeffrey Yasskin [Fri, 11 Jun 2010 05:57:47 +0000 (05:57 +0000)]
Add an option -fshow-overloads=best|all to limit the number of overload
candidates printed.  We default to 'all'.  At the moment, 'best' prints only
the first 4 overloads, but we'll improve that over time.

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

14 years agoWhen mangling for the Microsoft C++ ABI, mangle variables in the global
Charles Davis [Fri, 11 Jun 2010 04:25:47 +0000 (04:25 +0000)]
When mangling for the Microsoft C++ ABI, mangle variables in the global
namespace, too.

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

14 years agoSmall fixes regarding printf fix suggestions.
Tom Care [Fri, 11 Jun 2010 04:22:02 +0000 (04:22 +0000)]
Small fixes regarding printf fix suggestions.
- Added some handling of flags that become invalid when changing the conversion specifier.
- Changed fixit behavior to remove unnecessary length modifiers.
- Separated some tests out and added some comments.

modified:
  lib/Analysis/PrintfFormatString.cpp
  test/Sema/format-strings-fixit.c

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

14 years agoStart implementing the Microsoft-style name mangler. Mangle simple names
Charles Davis [Fri, 11 Jun 2010 03:07:32 +0000 (03:07 +0000)]
Start implementing the Microsoft-style name mangler. Mangle simple names
(but not their types; that's later).

NOTE: Right now, variables in the global namespace don't get mangled, even
though they're supposed to be. This is because the default mangler
implements the shouldMangleDeclName() method that tells clang not to mangle
them. This will be fixed in a later patch.

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

14 years agoAdd an option to specify the target C++ ABI to the frontend. Use it to
Charles Davis [Fri, 11 Jun 2010 01:06:47 +0000 (01:06 +0000)]
Add an option to specify the target C++ ABI to the frontend. Use it to
select either the default Itanium ABI or the new, experimental Microsoft ABI.

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

14 years agoImprove readability with TRY_TO, remove a redundant comment, and fix one aspect
Chandler Carruth [Fri, 11 Jun 2010 01:00:06 +0000 (01:00 +0000)]
Improve readability with TRY_TO, remove a redundant comment, and fix one aspect
of the recursion on VarDecls. Patch by Craig Silverstein.

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

14 years agoSplit DependentNameType into two types. DependentNameType represents the
John McCall [Fri, 11 Jun 2010 00:33:02 +0000 (00:33 +0000)]
Split DependentNameType into two types.  DependentNameType represents the
case of an elaborated-type-specifier like 'typename A<T>::foo', and
DependentTemplateSpecializationType represents the case of an
elaborated-type-specifier like 'typename A<T>::template B<T>'.  The TypeLoc
representation of a DependentTST conveniently exactly matches that of an
ElaboratedType wrapping a TST.

Kill off the explicit rebuild methods for RebuildInCurrentInstantiation;
the standard implementations work fine because the nested name specifier
is computable in the newly-entered context.

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

14 years agoProvide a method to clear the current state of a TypeLocBuilder.
John McCall [Fri, 11 Jun 2010 00:26:38 +0000 (00:26 +0000)]
Provide a method to clear the current state of a TypeLocBuilder.

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

14 years agoAvoid repeating the list of operators twice in RecursiveASTVisitor through
Chandler Carruth [Thu, 10 Jun 2010 23:29:40 +0000 (23:29 +0000)]
Avoid repeating the list of operators twice in RecursiveASTVisitor through
a set of preprocessor macros. Patch by Zhanyong Wan.

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

14 years agoTweak a comment on the visitor to clarify one order of visit issue. Patch from
Chandler Carruth [Thu, 10 Jun 2010 23:27:51 +0000 (23:27 +0000)]
Tweak a comment on the visitor to clarify one order of visit issue. Patch from
Zhanyong Wan.

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

14 years agoMultiplies, some shifts, set_lane
Nate Begeman [Thu, 10 Jun 2010 18:11:55 +0000 (18:11 +0000)]
Multiplies, some shifts, set_lane

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

14 years agowww: Add note on running clang tests from a CMake build, patch by Peter Collingbourne
Daniel Dunbar [Thu, 10 Jun 2010 17:01:45 +0000 (17:01 +0000)]
www: Add note on running clang tests from a CMake build, patch  by Peter Collingbourne

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

14 years agoDriver: Also mark -F as RenderJoined, the linker doesn't like "-F FOO" either.
Daniel Dunbar [Thu, 10 Jun 2010 15:53:17 +0000 (15:53 +0000)]
Driver: Also mark -F as RenderJoined, the linker doesn't like "-F FOO" either.

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

14 years agoAnother chunk of the new RecursiveASTVisitor implementation: switch the return
Chandler Carruth [Thu, 10 Jun 2010 10:31:57 +0000 (10:31 +0000)]
Another chunk of the new RecursiveASTVisitor implementation: switch the return
value semantics such that we recurse while the visitors return true, and halt
as soon as one returns false. Patch by csilvers.

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

14 years agoCreate a LinuxTargetInfo on ARM. This make clang correctly expand
Rafael Espindola [Thu, 10 Jun 2010 00:46:51 +0000 (00:46 +0000)]
Create a LinuxTargetInfo on ARM. This make clang correctly expand
__USER_LABEL_PREFIX__.

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

14 years agosupport _lane ops, and multiplies by scalar.
Nate Begeman [Thu, 10 Jun 2010 00:17:56 +0000 (00:17 +0000)]
support _lane ops, and multiplies by scalar.

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

14 years agoAdd a stub Microsoft Visual C++ ABI class (with stub mangler).
Charles Davis [Wed, 9 Jun 2010 23:25:41 +0000 (23:25 +0000)]
Add a stub Microsoft Visual C++ ABI class (with stub mangler).

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

14 years agotests: Update test for previous change.
Daniel Dunbar [Wed, 9 Jun 2010 23:24:59 +0000 (23:24 +0000)]
tests: Update test for previous change.

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

14 years agoDriver: -L should be marked as RenderJoined, the linker doesn't like "-L FOO".
Daniel Dunbar [Wed, 9 Jun 2010 23:20:37 +0000 (23:20 +0000)]
Driver: -L should be marked as RenderJoined, the linker doesn't like "-L FOO".

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

14 years agoDriver: Eliminate flags on aliases, they are unnecessary (and unused).
Daniel Dunbar [Wed, 9 Jun 2010 23:20:34 +0000 (23:20 +0000)]
Driver: Eliminate flags on aliases, they are unnecessary (and unused).

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

14 years agoDriver: Change Option parsing to always create arguments referring to unaliased
Daniel Dunbar [Wed, 9 Jun 2010 22:44:34 +0000 (22:44 +0000)]
Driver: Change Option parsing to always create arguments referring to unaliased
options.
 - This matches the intent of the .td files, and will simplify alias handling.
 - PR7321.

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

14 years agoDriver: Eliminate Arg subclasses, which are now unnecessary.
Daniel Dunbar [Wed, 9 Jun 2010 22:31:08 +0000 (22:31 +0000)]
Driver: Eliminate Arg subclasses, which are now unnecessary.

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

14 years agoDriver: Keep the rendering style in the option, instead of as part of the Arg.
Daniel Dunbar [Wed, 9 Jun 2010 22:31:04 +0000 (22:31 +0000)]
Driver: Keep the rendering style in the option, instead of as part of the Arg.

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

14 years agoDriver: Change Arg to just hold the values directly, instead of implicitly
Daniel Dunbar [Wed, 9 Jun 2010 22:31:00 +0000 (22:31 +0000)]
Driver: Change Arg to just hold the values directly, instead of implicitly
deriving them from the Arg type.

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

14 years agoFrontend: Fix crashes on error paths.
Daniel Dunbar [Wed, 9 Jun 2010 22:30:54 +0000 (22:30 +0000)]
Frontend: Fix crashes on error paths.

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

14 years agoCommit my WIP on constexpr support. This commit: an XFAILed test and treating constex...
Sebastian Redl [Wed, 9 Jun 2010 21:19:43 +0000 (21:19 +0000)]
Commit my WIP on constexpr support. This commit: an XFAILed test and treating constexpr as a top-level const.

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

14 years agoFix two typos in comments.
Sebastian Redl [Wed, 9 Jun 2010 21:17:41 +0000 (21:17 +0000)]
Fix two typos in comments.

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

14 years agoRevert "Driver: Change Option parsing to always create arguments referring to
Daniel Dunbar [Wed, 9 Jun 2010 19:27:07 +0000 (19:27 +0000)]
Revert "Driver: Change Option parsing to always create arguments referring to
unaliased", this isn't quite right yet.

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

14 years agoDriver: Change Option parsing to always create arguments referring to unaliased
Daniel Dunbar [Wed, 9 Jun 2010 19:19:01 +0000 (19:19 +0000)]
Driver: Change Option parsing to always create arguments referring to unaliased
options.
 - This matches the intent of the .td files, and will simplify alias handling.
 - PR7321.

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

14 years agoDriver: Add an explicit offset to JoinedArg and JoinedAndSeparateArg, so that
Daniel Dunbar [Wed, 9 Jun 2010 18:49:38 +0000 (18:49 +0000)]
Driver: Add an explicit offset to JoinedArg and JoinedAndSeparateArg, so that
they can be independent of the exact option that created them.

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

14 years agoDriver: Change Arg::render methods to use option name instead of string where
Daniel Dunbar [Wed, 9 Jun 2010 18:49:31 +0000 (18:49 +0000)]
Driver: Change Arg::render methods to use option name instead of string where
possible.

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

14 years agoImplement codegen for hadd, hsub, max, min, mlal, movl, movn, padal, mov_n
Nate Begeman [Wed, 9 Jun 2010 18:04:15 +0000 (18:04 +0000)]
Implement codegen for hadd, hsub, max, min, mlal, movl, movn, padal, mov_n
Make note about how to handle the dozen or so multiply by scalar ops.

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

14 years agoAdded inherited info to template and non-type arguments of templates.
Abramo Bagnara [Wed, 9 Jun 2010 09:26:05 +0000 (09:26 +0000)]
Added inherited info to template and non-type arguments of templates.

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

14 years agoMajor redesign of the RecursiveASTVisitor. This implements the majority of the
Chandler Carruth [Wed, 9 Jun 2010 08:17:30 +0000 (08:17 +0000)]
Major redesign of the RecursiveASTVisitor. This implements the majority of the
new design discussed on cfe-dev, with further steps in that direction to come.
It is already much more complete than the previous visitor.

Patch by Zhanyong and Craig with 80 column wraps and one missing declaration
added by me.

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

14 years agoRemove an entry for a now deleted file. Fixes the neglected CMake build. ;]
Chandler Carruth [Wed, 9 Jun 2010 08:12:12 +0000 (08:12 +0000)]
Remove an entry for a now deleted file. Fixes the neglected CMake build. ;]

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

14 years agoCorrectly handle > 257 substitutions in a single mangling, and don't introduce
John McCall [Wed, 9 Jun 2010 07:26:17 +0000 (07:26 +0000)]
Correctly handle > 257 substitutions in a single mangling, and don't introduce
a spurious substitution for an unscoped dependent template-id after introducing
a substitution for the scoped template-id.

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

14 years agoMerge StackAddrLeakChecker and ReturnStackAddressChecker.
Zhongxing Xu [Wed, 9 Jun 2010 06:08:24 +0000 (06:08 +0000)]
Merge StackAddrLeakChecker and ReturnStackAddressChecker.

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

14 years agoDirectly compare the StackFrameContext. This greatly simplifies logic and
Zhongxing Xu [Wed, 9 Jun 2010 05:50:38 +0000 (05:50 +0000)]
Directly compare the StackFrameContext. This greatly simplifies logic and
improves generality. Thanks Ted.

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

14 years agoMore accurate BuiltinsARM.def
Nate Begeman [Wed, 9 Jun 2010 05:30:26 +0000 (05:30 +0000)]
More accurate BuiltinsARM.def
vget_lane support

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

14 years agoFix a typo that breaks the GCC build. Turns out that Clang isn't
Douglas Gregor [Wed, 9 Jun 2010 05:25:34 +0000 (05:25 +0000)]
Fix a typo that breaks the GCC build. Turns out that Clang isn't
diagnosing this code as an error when it should, so I've filed
http://llvm.org/bugs/show_bug.cgi?id=7325.

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

14 years agoAdded FixIt support to printf format string checking.
Tom Care [Wed, 9 Jun 2010 04:11:11 +0000 (04:11 +0000)]
Added FixIt support to printf format string checking.
- Refactored LengthModifier to be a class.
- Added toString methods in all member classes of FormatSpecifier.
- FixIt suggestions keep user specified flags unless incorrect.

Limitations:
- The suggestions are not conversion specifier sensitive. For example, if we have a 'pad with zeroes' flag, and the correction is a string conversion specifier, we do not remove the flag. Clang will warn us on the next compilation.

A    test/Sema/format-strings-fixit.c
M    include/clang/Analysis/Analyses/PrintfFormatString.h
M    lib/Analysis/PrintfFormatString.cpp
M    lib/Sema/SemaChecking.cpp

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

14 years agoTweak our handling of the notion of a standard conversion sequence
Douglas Gregor [Wed, 9 Jun 2010 03:53:18 +0000 (03:53 +0000)]
Tweak our handling of the notion of a standard conversion sequence
being a subsequence of another standard conversion sequence. Instead
of requiring exact type equality for the second conversion step,
require type *similarity*, which is type equality with cv-qualifiers
removed at all levels. This appears to match the behavior of EDG and
VC++ (albeit not GCC), and feels more intuitive. Big thanks to John
for the line of reasoning that supports this change: since
cv-qualifiers are orthogonal to the second conversion step, we should
ignore them in the type comparison.

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

14 years agoSimplify the code a bit and avoid a gcc waring about uninitialized variables.
Rafael Espindola [Wed, 9 Jun 2010 03:48:40 +0000 (03:48 +0000)]
Simplify the code a bit and avoid a gcc waring about uninitialized variables.

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

14 years agoGet rid of getMangledCXXCtorName and getMangledCXXDtorName.
Anders Carlsson [Wed, 9 Jun 2010 02:36:32 +0000 (02:36 +0000)]
Get rid of getMangledCXXCtorName and getMangledCXXDtorName.

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

14 years agoMore mangling cleanup.
Anders Carlsson [Wed, 9 Jun 2010 02:30:12 +0000 (02:30 +0000)]
More mangling cleanup.

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

14 years agoGet rid of an unnecessary getMangledName overload.
Anders Carlsson [Wed, 9 Jun 2010 02:20:01 +0000 (02:20 +0000)]
Get rid of an unnecessary getMangledName overload.

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

14 years agoFix a gcc warning.
Rafael Espindola [Wed, 9 Jun 2010 02:17:08 +0000 (02:17 +0000)]
Fix a gcc warning.

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

14 years agoFix test.
Anders Carlsson [Wed, 9 Jun 2010 01:42:52 +0000 (01:42 +0000)]
Fix test.

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

14 years agoImplement transpose/zip/unzip & table lookup.
Nate Begeman [Wed, 9 Jun 2010 01:10:23 +0000 (01:10 +0000)]
Implement transpose/zip/unzip & table lookup.
Test out some basic constant-checking.

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

14 years agoAdded helper function to Type class to determine if a type is a builtin type. This...
Tom Care [Wed, 9 Jun 2010 00:15:39 +0000 (00:15 +0000)]
Added helper function to Type class to determine if a type is a builtin type. This complements the existing function that determines if a type is a specific builtin type.

Modified:
    include/clang/AST/Type.h

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

14 years agoTry to fix buildbot tests.
Anders Carlsson [Tue, 8 Jun 2010 23:10:20 +0000 (23:10 +0000)]
Try to fix buildbot tests.

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

14 years agoFix memory leak in ASTContext where ASTRecordLayout objects involving C++ structures...
Ted Kremenek [Tue, 8 Jun 2010 23:00:58 +0000 (23:00 +0000)]
Fix memory leak in ASTContext where ASTRecordLayout objects involving C++ structures wouldn't have
their associated memory destroyed when using a BumpPtrAllocator.  These objects internally use
a DenseMap.

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

14 years agoFix memory leak in Preprocessor where MacroInfo objects in the MICache wouldn't have...
Ted Kremenek [Tue, 8 Jun 2010 23:00:53 +0000 (23:00 +0000)]
Fix memory leak in Preprocessor where MacroInfo objects in the MICache wouldn't have their
associated SmallVectors get deallocated.

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

14 years agoCode cleanup: remove explicit flush() in favor of using the ostream's str()
Jordy Rose [Tue, 8 Jun 2010 22:59:01 +0000 (22:59 +0000)]
Code cleanup: remove explicit flush() in favor of using the ostream's str()

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

14 years agoAdd test case.
Anders Carlsson [Tue, 8 Jun 2010 22:48:02 +0000 (22:48 +0000)]
Add test case.

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

14 years agoOn Darwin, initialization and destruction functions should go into the __StaticInit...
Anders Carlsson [Tue, 8 Jun 2010 22:47:50 +0000 (22:47 +0000)]
On Darwin, initialization and destruction functions should go into the __StaticInit section.

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

14 years agoAdd a global CreateGlobalInitOrDestructFunction and use it for creating global init...
Anders Carlsson [Tue, 8 Jun 2010 22:40:05 +0000 (22:40 +0000)]
Add a global CreateGlobalInitOrDestructFunction and use it for creating global init or destruction functions.

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

14 years agoRename __tcf_ to __cxx_global_array_dtor. Remove the UniqueAggreDestructorCount from...
Anders Carlsson [Tue, 8 Jun 2010 22:30:17 +0000 (22:30 +0000)]
Rename __tcf_ to __cxx_global_array_dtor. Remove the UniqueAggreDestructorCount from CodeGenFunction and let LLVM handle uniquing the internal functions instead.

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

14 years agoMove GenerateCXXAggrDestructorHelper to CGDeclCXX.cpp where it belongs.
Anders Carlsson [Tue, 8 Jun 2010 22:17:27 +0000 (22:17 +0000)]
Move GenerateCXXAggrDestructorHelper to CGDeclCXX.cpp where it belongs.

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

14 years agoSimplify GenerateCXXAggrDestructorHelper.
Anders Carlsson [Tue, 8 Jun 2010 22:14:59 +0000 (22:14 +0000)]
Simplify GenerateCXXAggrDestructorHelper.

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

14 years agoGlobally disable -fno-strict-aliasing, for reasons given in the comment.
Daniel Dunbar [Tue, 8 Jun 2010 21:55:02 +0000 (21:55 +0000)]
Globally disable -fno-strict-aliasing, for reasons given in the comment.

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

14 years agoWhen referring to a tag that was previously declared only as a friend,
Douglas Gregor [Tue, 8 Jun 2010 21:27:36 +0000 (21:27 +0000)]
When referring to a tag that was previously declared only as a friend,
build a new declaration for that tag type that will be visible for
future lookups of that tag.

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

14 years agoA built-in overload candidate is consider a non-template function when
Douglas Gregor [Tue, 8 Jun 2010 21:03:17 +0000 (21:03 +0000)]
A built-in overload candidate is consider a non-template function when
determining whether one overload candidate is better than
another. Fixes PR7319.

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

14 years agoBlock Code Gen. API. Call destructor on descriptior
Fariborz Jahanian [Tue, 8 Jun 2010 20:57:22 +0000 (20:57 +0000)]
Block Code Gen. API. Call destructor on descriptior
entry previously constructed via copy constructor.

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

14 years agoMakefiles: Remove unnecessary early include of Makefile.config.
Daniel Dunbar [Tue, 8 Jun 2010 20:57:22 +0000 (20:57 +0000)]
Makefiles: Remove unnecessary early include of Makefile.config.

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

14 years agoSimplify libIndex Makefile, which doesn't need to worry about altivec support.
Daniel Dunbar [Tue, 8 Jun 2010 20:57:18 +0000 (20:57 +0000)]
Simplify libIndex Makefile, which doesn't need to worry about altivec support.

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

14 years agoMakefiles: Set Clang CPP compiler flags in a single location, instead of scattered...
Daniel Dunbar [Tue, 8 Jun 2010 20:44:43 +0000 (20:44 +0000)]
Makefiles: Set Clang CPP compiler flags in a single location, instead of scattered throughout the project Makefiles.

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