]> granicus.if.org Git - clang/log
clang
9 years agoRemove two unused methods. No behavior change.
Nico Weber [Sun, 22 Feb 2015 00:27:32 +0000 (00:27 +0000)]
Remove two unused methods.  No behavior change.

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

9 years agoCleanup: remove artificial division between lookup results and const lookup
Richard Smith [Sat, 21 Feb 2015 02:45:19 +0000 (02:45 +0000)]
Cleanup: remove artificial division between lookup results and const lookup
results. No-one was ever modifying a lookup result, and it would not be
reasonable to do so.

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

9 years agoRevert r167816 and replace it with a proper fix for the issue: do not
Richard Smith [Sat, 21 Feb 2015 02:31:57 +0000 (02:31 +0000)]
Revert r167816 and replace it with a proper fix for the issue: do not
invalidate lookup_iterators and lookup_results for some name within a
DeclContext if the lookup results for a *different* name change.

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

9 years agoImprove diagnostic when failing to synthesize implicit member due to dllexport (PR22591)
Hans Wennborg [Sat, 21 Feb 2015 01:07:24 +0000 (01:07 +0000)]
Improve diagnostic when failing to synthesize implicit member due to dllexport (PR22591)

This is only a problem in C++03 mode targeting MS ABI (MinGW doesn't
export inline methods, and C++11 marks these methods implicitly
deleted).

Since targeting the MS ABI in pre-C++11 mode is a rare configuration,
this will probably not get fixed, but we can at least have a better
error message.

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

9 years agoFix typo.
Larisse Voufo [Sat, 21 Feb 2015 01:05:29 +0000 (01:05 +0000)]
Fix typo.

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

9 years agoMove -fdefine-sized-deallocation and -fno-sized-deallocation options from driver...
Larisse Voufo [Sat, 21 Feb 2015 01:03:48 +0000 (01:03 +0000)]
Move -fdefine-sized-deallocation and -fno-sized-deallocation options from driver into CC1 for now.

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

9 years ago[Objective-C]. Provide a new formatting kind, "os_trace" which
Fariborz Jahanian [Sat, 21 Feb 2015 00:45:58 +0000 (00:45 +0000)]
[Objective-C]. Provide a new formatting kind, "os_trace" which
can take a "const char*" format but supports standard printf
and CF/NS types . rdar://19904147

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

9 years agoRevert "Wrap clang module files in a Mach-O, ELF, or COFF container."
Adrian Prantl [Sat, 21 Feb 2015 00:29:14 +0000 (00:29 +0000)]
Revert "Wrap clang module files in a Mach-O, ELF, or COFF container."

This reverts commit 230099.

The Linux configure+make build variant still needs some work.

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

9 years agoconfigure+make: Rearange clangCodeGen to come before clangAST.
Adrian Prantl [Sat, 21 Feb 2015 00:15:40 +0000 (00:15 +0000)]
configure+make: Rearange clangCodeGen to come before clangAST.
Follow-up to r230089.

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

9 years agoconfigure+make: Add ipo to the dependencies of libclang.
Adrian Prantl [Sat, 21 Feb 2015 00:04:15 +0000 (00:04 +0000)]
configure+make: Add ipo to the dependencies of libclang.
Follow-up to r230089.

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

9 years ago[Mips] Support mips32r3, mips32r5, mips64r3, mips64r5 MIPS ISA names
Simon Atanasyan [Fri, 20 Feb 2015 23:37:40 +0000 (23:37 +0000)]
[Mips] Support mips32r3, mips32r5, mips64r3, mips64r5 MIPS ISA names

The patch teaches the clang's driver to understand new MIPS ISA names,
pass appropriate options to the assembler, defines corresponding macros etc

http://reviews.llvm.org/D7737

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

9 years agoWrap clang module files in a Mach-O, ELF, or COFF container.
Adrian Prantl [Fri, 20 Feb 2015 23:34:26 +0000 (23:34 +0000)]
Wrap clang module files in a Mach-O, ELF, or COFF container.
This is a necessary prerequisite for debugging with modules.
The .pcm files become containers that hold the serialized AST which allows
us to store debug information in the module file that can be shared by all
object files that were built importing the module.

rdar://problem/19104245

This reapplies r230044 with a fixed configure+make build and updated
dependencies. Take 2.

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

9 years agoRevert "Wrap clang module files in a Mach-O, ELF, or COFF container."
Adrian Prantl [Fri, 20 Feb 2015 22:12:19 +0000 (22:12 +0000)]
Revert "Wrap clang module files in a Mach-O, ELF, or COFF container."

This reverts commit r230067.

Investigating another batch of problems found by the bots.

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

9 years agoWrap clang module files in a Mach-O, ELF, or COFF container.
Adrian Prantl [Fri, 20 Feb 2015 21:53:12 +0000 (21:53 +0000)]
Wrap clang module files in a Mach-O, ELF, or COFF container.
This is a necessary prerequisite for debugging with modules.
The .pcm files become containers that hold the serialized AST which allows
us to store debug information in the module file that can be shared by all
object files that were built importing the module.

rdar://problem/19104245

This reapplies r230044 with a fixed configure+make build and updated
dependencies.

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

9 years agoDon't try to rebuild modules on umbrella header mismatch
Ben Langmuir [Fri, 20 Feb 2015 21:46:39 +0000 (21:46 +0000)]
Don't try to rebuild modules on umbrella header mismatch

There are two issues here:
1) It's too late to rebuild at this point, because we won't go through
removeModules and when we try to reload the new .pcm we'll get the old
one instead.  We might be able to call removeModules after an OutOfDate
here, but I'm not yet confident that it is always safe to do so.

2) In practice, this check fails spuriously when the umbrella header
appears to change because of a VFS change that means it maps to a
different copy of the same file.  Because of this, we just skip the
check for now.

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

9 years agoFix merging of << at end of input.
Jacques Pienaar [Fri, 20 Feb 2015 21:09:01 +0000 (21:09 +0000)]
Fix merging of << at end of input.

Commit of review http://reviews.llvm.org/D7766

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

9 years agoImplement Control Flow Integrity for virtual calls.
Peter Collingbourne [Fri, 20 Feb 2015 20:30:56 +0000 (20:30 +0000)]
Implement Control Flow Integrity for virtual calls.

This patch introduces the -fsanitize=cfi-vptr flag, which enables a control
flow integrity scheme that checks that virtual calls take place using a vptr of
the correct dynamic type. More details in the new docs/ControlFlowIntegrity.rst
file.

It also introduces the -fsanitize=cfi flag, which is currently a synonym for
-fsanitize=cfi-vptr, but will eventually cover all CFI checks implemented
in Clang.

Differential Revision: http://reviews.llvm.org/D7424

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

9 years agoRevert "Wrap clang module files in a Mach-O, ELF, or COFF container."
Adrian Prantl [Fri, 20 Feb 2015 20:00:27 +0000 (20:00 +0000)]
Revert "Wrap clang module files in a Mach-O, ELF, or COFF container."

This reverts commit r230044 while dealing with buildbot breakage.

Conflicts:
test/Modules/module_container.m

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

9 years agoRequire a target for this testacse.
Adrian Prantl [Fri, 20 Feb 2015 19:52:43 +0000 (19:52 +0000)]
Require a target for this testacse.

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

9 years agoWrap clang module files in a Mach-O, ELF, or COFF container.
Adrian Prantl [Fri, 20 Feb 2015 19:44:52 +0000 (19:44 +0000)]
Wrap clang module files in a Mach-O, ELF, or COFF container.
This is a necessary prerequisite for debugging with modules.
The .pcm files become containers that hold the serialized AST which allows
us to store debug information in the module file that can be shared by all
object files that were built importing the module.

rdar://problem/19104245

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

9 years agoAdd -funique-section-names and -fno-unique-section-names options.
Rafael Espindola [Fri, 20 Feb 2015 18:08:57 +0000 (18:08 +0000)]
Add -funique-section-names and -fno-unique-section-names options.

For now -funique-section-names is the default, so no change in default behavior.

The total .o size in a build of llvm and clang goes from 241687775 to 230649031
bytes if -fno-unique-section-names is used.

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

9 years agoclang-format: [js] Support template strings.
Daniel Jasper [Fri, 20 Feb 2015 13:47:38 +0000 (13:47 +0000)]
clang-format: [js] Support template strings.

Merge template strings (marked by backticks ``).
Do not format any contents of template strings.

Patch by Martin Probst. Thank you.

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

9 years agoAdd -fno-implicit-modules.
Manuel Klimek [Fri, 20 Feb 2015 11:44:41 +0000 (11:44 +0000)]
Add -fno-implicit-modules.

If this flag is set, we error out when a module build is required. This is
useful in environments where all required modules are passed via -fmodule-file.

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

9 years agoPR22435: Correctly implement tiebreaker for reference ordering in function
Richard Smith [Fri, 20 Feb 2015 04:45:22 +0000 (04:45 +0000)]
PR22435: Correctly implement tiebreaker for reference ordering in function
template partial ordering rules. This rule applies per pair of types being
compared, not per pair of function templates being compared.

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

9 years agoAdd -fno-sized-deallocation option for completeness of fix in r229241 in documentatio...
Larisse Voufo [Fri, 20 Feb 2015 02:07:22 +0000 (02:07 +0000)]
Add -fno-sized-deallocation option for completeness of fix in r229241 in documentation in r229818.

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

9 years ago[analyzer] RetainCountChecker: don't try to track ivars known to be nil.
Jordan Rose [Thu, 19 Feb 2015 23:57:04 +0000 (23:57 +0000)]
[analyzer] RetainCountChecker: don't try to track ivars known to be nil.

We expect in general that any nil value has no retain count information
associated with it; violating this results in unexpected state unification
/later/ when we decide to throw the information away. Unexpectedly caching
out can lead to an assertion failure or crash.

rdar://problem/19862648

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

9 years agoDon't dllexport inline methods when targeting MinGW.
Hans Wennborg [Thu, 19 Feb 2015 22:39:24 +0000 (22:39 +0000)]
Don't dllexport inline methods when targeting MinGW.

MinGW neither imports nor exports such methods. The import bit was
committed earlier, in r221154, and this takes care of the export part.

This also partially fixes PR22591.

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

9 years agoAdd support for analyzing FreeBSD kernel printf extensions.
Dimitry Andric [Thu, 19 Feb 2015 22:32:33 +0000 (22:32 +0000)]
Add support for analyzing FreeBSD kernel printf extensions.

This adds a new __freebsd_kprintf__ format string type, which enables
checking when used in __attribute__((format(...))) attributes.  It can
check the FreeBSD kernel specific %b, %D, %r and %y specifiers, using
existing diagnostic messages.  Also adds test cases for all these
specifiers.

Differential Revision: http://reviews.llvm.org/D7154

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

9 years ago[Objective-C Sema]. Don't warn about use of
Fariborz Jahanian [Thu, 19 Feb 2015 21:52:41 +0000 (21:52 +0000)]
[Objective-C Sema]. Don't warn about use of
property accessors in @selector not implemented
because they will be auto-synthesized. rdar://16607480

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

9 years agoItanium ABI: Pack expansions change the arity of expressions to unknown
David Majnemer [Thu, 19 Feb 2015 21:41:48 +0000 (21:41 +0000)]
Itanium ABI: Pack expansions change the arity of expressions to unknown

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

9 years agoAvoid using a COMDAT for sized delete on MachO
Reid Kleckner [Thu, 19 Feb 2015 21:13:45 +0000 (21:13 +0000)]
Avoid using a COMDAT for sized delete on MachO

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

9 years agoPut the implicit weak sized deallocation funciton in C++14 in a comdat
Reid Kleckner [Thu, 19 Feb 2015 21:01:34 +0000 (21:01 +0000)]
Put the implicit weak sized deallocation funciton in C++14 in a comdat

Fixes PR22635.

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

9 years agoRevert "Mangle the IsSystem bit into the .pcm file name"
Ben Langmuir [Thu, 19 Feb 2015 20:23:22 +0000 (20:23 +0000)]
Revert "Mangle the IsSystem bit into the .pcm file name"

While I investigate some possible problems with this patch.

This reverts commit r228966

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

9 years ago[PCH/Modules] Check that the specific module cache path the PCH was built with, is...
Argyrios Kyrtzidis [Thu, 19 Feb 2015 20:12:20 +0000 (20:12 +0000)]
[PCH/Modules] Check that the specific module cache path the PCH was built with, is the same as
the one in the current compiler invocation. If they differ reject the PCH.

This protects against the badness occurring from getting modules loaded from different module caches (see crashes).

rdar://19889860

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

9 years agoCodeGen: Weak reference temporaries belong in a COMDAT
David Majnemer [Thu, 19 Feb 2015 19:35:18 +0000 (19:35 +0000)]
CodeGen: Weak reference temporaries belong in a COMDAT

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

9 years agoCodeGen: static constexpr data members should have a linkonce_odr init
David Majnemer [Thu, 19 Feb 2015 19:25:17 +0000 (19:25 +0000)]
CodeGen: static constexpr data members should have a linkonce_odr init

Classes can be defined in multiple translation units.  This means that
the static constexpr data members should have identical initializers in
all translation units.  Implement this by giving the reference temporary
linkonce_odr linkage.

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

9 years agoMake the _mm256_insert_epi64 definition more consistent
Filipe Cabecinhas [Thu, 19 Feb 2015 19:00:33 +0000 (19:00 +0000)]
Make the _mm256_insert_epi64 definition more consistent

Use long long for the epi64 argument, like the other intrinsics.
NFC since this is only defined in 64-bit mode, not in 32-bit.

Fix suggested by H. J. Lu!

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

9 years agoclang-format: [js] Support ES6 module exports.
Daniel Jasper [Thu, 19 Feb 2015 16:14:18 +0000 (16:14 +0000)]
clang-format: [js] Support ES6 module exports.

Patch by Martin Probst, thank you!

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

9 years agoclang-format: [js] Support ES6 module imports.
Daniel Jasper [Thu, 19 Feb 2015 16:07:32 +0000 (16:07 +0000)]
clang-format: [js] Support ES6 module imports.

Patch by Martin Probst.

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

9 years agoclang-format: [js] Do not fall through for JS structural elements.
Daniel Jasper [Thu, 19 Feb 2015 16:03:16 +0000 (16:03 +0000)]
clang-format: [js] Do not fall through for JS structural elements.

Patch by Martin Probst. Thank you.

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

9 years agoFIX PR 18432, default args, friends & late-parsed members.
Nathan Sidwell [Thu, 19 Feb 2015 14:03:22 +0000 (14:03 +0000)]
FIX PR 18432, default args, friends & late-parsed members.

Sema::MergeCXXFunctionDecl: propagate hasUnparsedDefaultArg to new decl.

Parser::HandleMemberFunctionDeclDelays: check hasUnparsedDefaultArg
flag.

Parser::ParseLexedMethodDeclaration: handle inherited unparsed default
arg case.

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

9 years ago[analyzer] Different handling of alloca().
Anton Yartsev [Thu, 19 Feb 2015 13:36:20 +0000 (13:36 +0000)]
[analyzer] Different handling of alloca().

+ separate bug report for "Free alloca()" error to be able to customize checkers responsible for this error.
+ Muted "Free alloca()" error for NewDelete checker that is not responsible for c-allocated memory, turned on for unix.MismatchedDeallocator checker.
+ RefState for alloca() - to be able to detect usage of zero-allocated memory by upcoming ZeroAllocDereference checker.
+ AF_Alloca family to handle alloca() consistently - keep proper family in RefState, handle 'alloca' by getCheckIfTracked() facility, etc.
+ extra tests.

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

9 years agoSpelling correction.
Yaron Keren [Thu, 19 Feb 2015 11:21:11 +0000 (11:21 +0000)]
Spelling correction.

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

9 years agoMake -fmodules-decluse and -fmodules-strict-decluse compatible options.
Daniel Jasper [Thu, 19 Feb 2015 09:56:13 +0000 (09:56 +0000)]
Make -fmodules-decluse and -fmodules-strict-decluse compatible options.

They don't actually influence the result of the module compilation.

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

9 years agoMark DR1940 as implemented
David Majnemer [Thu, 19 Feb 2015 07:29:01 +0000 (07:29 +0000)]
Mark DR1940 as implemented

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

9 years agoMark DR1947 as implemented
David Majnemer [Thu, 19 Feb 2015 07:28:57 +0000 (07:28 +0000)]
Mark DR1947 as implemented

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

9 years agoMark DR1948 as implemented
David Majnemer [Thu, 19 Feb 2015 07:28:55 +0000 (07:28 +0000)]
Mark DR1948 as implemented

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

9 years agoMark DR1994 as a duplicate of DR529
David Majnemer [Thu, 19 Feb 2015 07:28:52 +0000 (07:28 +0000)]
Mark DR1994 as a duplicate of DR529

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

9 years agoMark DR1968 as implemented
David Majnemer [Thu, 19 Feb 2015 07:28:49 +0000 (07:28 +0000)]
Mark DR1968 as implemented

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

9 years agoCXXNameMangler::mangleUnresolvedPrefix(): Prune an obsolete \param, according to...
NAKAMURA Takumi [Thu, 19 Feb 2015 07:14:26 +0000 (07:14 +0000)]
CXXNameMangler::mangleUnresolvedPrefix(): Prune an obsolete \param, according to r229809. [-Wdocumentation]

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

9 years agoItanium ABI: Don't pass nullptr to a bool argument
David Majnemer [Thu, 19 Feb 2015 05:51:14 +0000 (05:51 +0000)]
Itanium ABI: Don't pass nullptr to a bool argument

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

9 years agoUpdate C++ implementation status page with recent changes w.r.t. to sized deallocation.
Larisse Voufo [Thu, 19 Feb 2015 04:34:13 +0000 (04:34 +0000)]
Update C++ implementation status page with recent changes w.r.t. to sized deallocation.

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

9 years ago[MSVC] Improved lookup into dependent/non-dependent bases of dependent class
Alexey Bataev [Thu, 19 Feb 2015 04:28:23 +0000 (04:28 +0000)]
[MSVC] Improved lookup into dependent/non-dependent bases of dependent class
Patch improves lookup into dependendt bases of dependent class and adds lookup
into non-dependent bases.
Differential Revision: http://reviews.llvm.org/D7173

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

9 years agoRevert adding hostname to module hash
Ben Langmuir [Thu, 19 Feb 2015 04:03:57 +0000 (04:03 +0000)]
Revert adding hostname to module hash

I didn't realize how easily the hostname could change - for example just
changing wireless networks seems to prompt it in some cases.

Users can always set their own local module cache path to avoid this.

This reverts commits r228592, 228594, 228601 and 228613.
rdar://19287368

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

9 years agoInstrProf: Always emit a coverage region for the condition of an if
Justin Bogner [Thu, 19 Feb 2015 03:10:30 +0000 (03:10 +0000)]
InstrProf: Always emit a coverage region for the condition of an if

When tools like llvm-cov show regions, it's much easier to understand
what's happening if the condition of an if shows a counter as well as
the body.

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

9 years agoFix a test case.
Larisse Voufo [Thu, 19 Feb 2015 03:03:23 +0000 (03:03 +0000)]
Fix a test case.

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

9 years ago[Headers] Add tests for _mm256_insert_epi64 and fix its definition
Filipe Cabecinhas [Thu, 19 Feb 2015 03:02:33 +0000 (03:02 +0000)]
[Headers] Add tests for _mm256_insert_epi64 and fix its definition

Summary:
The definition for _mm256_insert_epi64 was taking an int, which would get
truncated before being inserted in the vector.

Original patch by Joshua Magee!

Reviewers: bruno, craig.topper

Subscribers: cfe-commits

Differential Revision: http://reviews.llvm.org/D7179

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

9 years agoItanium ABI: Properly qualify the destructor-name
David Majnemer [Thu, 19 Feb 2015 02:16:16 +0000 (02:16 +0000)]
Itanium ABI: Properly qualify the destructor-name

We didn't have enough qualificaiton before the scope specifier and we
had too much qualification in the destructor name itself.

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

9 years agoImprove our handling of rtti/sanitize=vptr/sanitize=undefined
Filipe Cabecinhas [Thu, 19 Feb 2015 01:04:49 +0000 (01:04 +0000)]
Improve our handling of rtti/sanitize=vptr/sanitize=undefined

This patch removes the huge blob of code that is dealing with
rtti/exceptions/sanitizers and replaces it with:

A ToolChain function which, for a given set of Args, figures out if rtti
should be:
  - enabled
  - disabled implicitly
  - disabled explicitly

A change in the way SanitizerArgs figures out what sanitizers to enable
(or if it should error out, or warn);

And a check for exceptions/rtti interaction inside addExceptionArgs.

The RTTIMode algorithm is:
  - If -mkernel, -fapple-kext, or -fno-rtti are passed, rtti was disabled explicitly;
  - If -frtti was passed or we're not targetting the PS4, rtti is enabled;
  - If -fexceptions or -fcxx-exceptions was passed and we're targetting
    the PS4, rtti was enabled implicitly;
  - If we're targetting the PS4, rtti is disabled implicitly;
  - Otherwise, rtti is enabled;

Since the only flag needed to pass to -cc1 is -fno-rtti if we want to
disable it, there's no problem in saying rtti is enabled if we're
compiling C code, so we don't look at the input file type.

addExceptionArgs now looks at the RTTIMode and warns that rtti is being
enabled implicitly if targetting the PS4 and exceptions are on. It also
errors out if, targetting the PS4, -fno-rtti was passed, and exceptions
were turned on.

SanitizerArgs now errors out if rtti was disabled explicitly and the vptr
sanitizer was enabled implicitly, but just turns off vptr if rtti is
disabled but -fsanitize=undefined was passed.

Also fixed tests, removed duplicate name from addExceptionArgs comment,
and added one or two surrounding lines when running clang-format.
This changes test/Driver/fsanitize.c to make it not expect a warning when
passed -fsanitize=undefined -fno-rtti, but expect vptr to not be on.

Removed all users and definition of SanitizerArgs::sanitizesVptr().

Reviewers: samsonov

Subscribers: llvm-commits, samsonov, rsmith

Differential Revision: http://reviews.llvm.org/D7525

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

9 years agoPR22566: a conversion from a floating-point type to bool is a narrowing conversion.
Richard Smith [Thu, 19 Feb 2015 00:39:05 +0000 (00:39 +0000)]
PR22566: a conversion from a floating-point type to bool is a narrowing conversion.

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

9 years agoAllow errors on use of a private module header to be disabled, to better support...
Richard Smith [Thu, 19 Feb 2015 00:10:28 +0000 (00:10 +0000)]
Allow errors on use of a private module header to be disabled, to better support incremental transition to modules.

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

9 years agoclang-format: Space and triple angle braces.
Jacques Pienaar [Wed, 18 Feb 2015 23:48:37 +0000 (23:48 +0000)]
clang-format: Space and triple angle braces.

Committing patch http://reviews.llvm.org/D6800.

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

9 years agoRemove support for building sanitizers from Makefile/autoconf build on Linux.
Alexey Samsonov [Wed, 18 Feb 2015 22:26:22 +0000 (22:26 +0000)]
Remove support for building sanitizers from Makefile/autoconf build on Linux.

This is a re-application of r229554 restricted to Linux build only.
Apple still uses Makefile/autoconf to build Clang and sanitizers.

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

9 years ago[docs] Recommend to use CMake for building sanitizers.
Alexey Samsonov [Wed, 18 Feb 2015 22:26:20 +0000 (22:26 +0000)]
[docs] Recommend to use CMake for building sanitizers.

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

9 years agoInstrProf: Rewrite most of coverage mapping generation in a simpler way
Justin Bogner [Wed, 18 Feb 2015 21:24:51 +0000 (21:24 +0000)]
InstrProf: Rewrite most of coverage mapping generation in a simpler way

The coverage mapping generation code previously generated a large
number of redundant coverage regions and then tried to merge similar
ones back together. This then relied on some awkward heuristics to
prevent combining of regions that were importantly different but
happened to have the same count. The end result was inefficient and
hard to follow.

Now, we more carefully create the regions we actually want. This makes
it much easier to create regions at precise locations as well as
making the basic approach quite a bit easier to follow. There's still
a fair bit of complexity here dealing with included code and macro
expansions, but that's pretty hard to avoid without significantly
reducing the quality of data we provide.

I had to modify quite a few tests where the source ranges became more
precise or the old ranges seemed to be wrong anyways, and I've added
quite a few new tests since a large number of constructs didn't seem
to be tested before.

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

9 years agoRemove unused diagnostic.
Benjamin Kramer [Wed, 18 Feb 2015 19:30:34 +0000 (19:30 +0000)]
Remove unused diagnostic.

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

9 years agoItanium ABI: Write a character instead of a string literal
David Majnemer [Wed, 18 Feb 2015 19:08:14 +0000 (19:08 +0000)]
Itanium ABI: Write a character instead of a string literal

No functional change intended.

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

9 years agoItanium ABI: Restore disabled tests which are correctly mangled
David Majnemer [Wed, 18 Feb 2015 19:08:12 +0000 (19:08 +0000)]
Itanium ABI: Restore disabled tests which are correctly mangled

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

9 years agoItanium ABI: Properly mangle extern "C" template arguments
David Majnemer [Wed, 18 Feb 2015 19:08:11 +0000 (19:08 +0000)]
Itanium ABI: Properly mangle extern "C" template arguments

extern "C" declarations should be considered like global declarations
for mangling purposes.

Differential Revision: http://reviews.llvm.org/D7718

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

9 years agoDriver: Fix use of dangling std::string temporary
Benjamin Kramer [Wed, 18 Feb 2015 18:45:54 +0000 (18:45 +0000)]
Driver: Fix use of dangling std::string temporary

What's going on here is that the ternary operator produces a std::string rvalue
that the StringRef points to. I'd hoped bugs like this were a thing of the past
with our asan testing but apparently this code path is only used when LLVM is
configured with a custom --with-c-include-dirs setting.

Unbreaks bootstrapping with GCC5 on Fedora (PR22625), patch by Jonathan Wakely!

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

9 years agoSema: Allow 'constexpr' variables in range loops
Meador Inge [Wed, 18 Feb 2015 18:34:59 +0000 (18:34 +0000)]
Sema: Allow 'constexpr' variables in range loops

This fixes PR22492, which is in response to CWG issue #1204.
Per the CWG issue 'contexpr' variables are now allowed in
for range loops.

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

9 years agoclang-format: [JS] support AtScript style annotations for JS.
Daniel Jasper [Wed, 18 Feb 2015 17:17:15 +0000 (17:17 +0000)]
clang-format: [JS] support AtScript style annotations for JS.

Based on Java annotation support and style.

Patch by Martin Probst.

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

9 years agoclang-format: [JS] Support classes.
Daniel Jasper [Wed, 18 Feb 2015 17:14:05 +0000 (17:14 +0000)]
clang-format: [JS] Support classes.

This adds support for JavaScript class definitions (again following
TypeScript & AtScript style). This only required support for
visibility modifiers in JS, everything else was already working.

Patch by Martin Probst, thank you.

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

9 years agoclang-format: [JS] Support type annotations.
Daniel Jasper [Wed, 18 Feb 2015 17:09:53 +0000 (17:09 +0000)]
clang-format: [JS] Support type annotations.

This patch adds support for type annotations that follow TypeScript's,
Flow's, and AtScript's syntax style.

Patch by Martin Probst, thank you.
Review: http://reviews.llvm.org/D7721

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

9 years agoChange representation of member function pointers for MIPS targets
Zoran Jovanovic [Wed, 18 Feb 2015 15:21:35 +0000 (15:21 +0000)]
Change representation of member function pointers for MIPS targets
Differential Revision: http://reviews.llvm.org/D7148

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

9 years agoFix test/CodeGen/atomic_ops.c failure on clang-cmake-mips builder (and others).
Daniel Sanders [Wed, 18 Feb 2015 15:08:37 +0000 (15:08 +0000)]
Fix test/CodeGen/atomic_ops.c failure on clang-cmake-mips builder (and others).

Not all targets generate 'store atomic' instructions for
'_Atomic(_Complex int)'. Some targets use the __atomic_store builtin instead.

This commit makes the test accept either one.

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

9 years agoPrevent use after free caused by accessing a member into a dense set.
Daniel Jasper [Wed, 18 Feb 2015 14:13:46 +0000 (14:13 +0000)]
Prevent use after free caused by accessing a member into a dense set.

The member gets invalidated as elements are added to the dense set. Directly
access the underlying pointer instead. Not sure how to create a test case for
this :-(. Maybe Richard can help.

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

9 years ago[ARM] Add missing M/R class CPUs
Bradley Smith [Wed, 18 Feb 2015 10:34:48 +0000 (10:34 +0000)]
[ARM] Add missing M/R class CPUs

Add some of the missing M and R class Cortex CPUs, namely:

Cortex-M0+ (called Cortex-M0plus for GCC compatibility)
Cortex-M1
SC000
SC300
Cortex-R5

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

9 years agoItanium ABI: Mangle <mangled-name> according to the ABI
David Majnemer [Wed, 18 Feb 2015 07:47:09 +0000 (07:47 +0000)]
Itanium ABI: Mangle <mangled-name> according to the ABI

We attempted to be compatible with GCC's buggy mangling for templates
with a declaration for a template argument.

However, we weren't completely successful in copying their bug in cases
like:
  char foo;
  template <char &C> decltype(C) f() { return foo; };
  template char &f<foo>();

Instead, just follow the ABI specification.  This fixes PR22621.

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

9 years agoPort r163224 to C++.
Nico Weber [Wed, 18 Feb 2015 05:19:40 +0000 (05:19 +0000)]
Port r163224 to C++.

The motivation is to fix a crash on

  struct S {} s;
  Foo S::~S() { s.~S(); }

What was happening here was that S::~S() was marked as invalid since its
return type is invalid, and as a consequence CheckFunctionDeclaration() wasn't
called and S::~S() didn't get merged into S's implicit destructor.  This way,
the class ended up with two destructors, which confused the overload printer
when it suddenly had to print two possible destructors for `s.~S()`.

In addition to fixing the crash, this change also seems to improve diagnostics
in a few other places, see test changes.

Crash found by SLi's bot.

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

9 years agoWrap to 80 columns. No behavior change.
Nico Weber [Wed, 18 Feb 2015 04:53:03 +0000 (04:53 +0000)]
Wrap to 80 columns. No behavior change.

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

9 years agoSema: partially address post-commit comments
Saleem Abdulrasool [Wed, 18 Feb 2015 04:33:26 +0000 (04:33 +0000)]
Sema: partially address post-commit comments

Un-parameterize the warning as there is exactly one attribute added in C++14.
Partially addresses post-commit review comments from Richard Smith.

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

9 years agoCodeGen: Relax a FileCheck line for SystemZ
David Majnemer [Wed, 18 Feb 2015 02:28:15 +0000 (02:28 +0000)]
CodeGen: Relax a FileCheck line for SystemZ

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

9 years agoSema: size_t is available in C when -fms-compatibility is enabled
David Majnemer [Wed, 18 Feb 2015 02:28:13 +0000 (02:28 +0000)]
Sema: size_t is available in C when -fms-compatibility is enabled

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

9 years agoItanium ABI: Improve our mangling of <destructor-name>
David Majnemer [Wed, 18 Feb 2015 02:28:01 +0000 (02:28 +0000)]
Itanium ABI: Improve our mangling of <destructor-name>

Our mangling of <destructor-name> wasn't quite right: we'd introduce
mangling substitutions where one shouldn't be possible.  We also didn't
correctly handle the case where the destroyed type was not dependent but
still a TemplateSpecializationType.

N.B. There isn't a mangling for a template-template parameter showing up
as the destroyed type.  We do the 'obvious' thing and mangle the index
of the parameter.

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

9 years agoRename flags and options to match current naming: from -fdef-sized-delete to -fdefine...
Larisse Voufo [Wed, 18 Feb 2015 01:04:10 +0000 (01:04 +0000)]
Rename flags and options to match current naming: from -fdef-sized-delete to -fdefine-sized-deallocation, and from DefaultSizedDelete to DefineSizedDeallocation.

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

9 years ago[analyzer] Refactoring: clarified the way the proper check kind is chosen.
Anton Yartsev [Wed, 18 Feb 2015 00:39:06 +0000 (00:39 +0000)]
[analyzer] Refactoring: clarified the way the proper check kind is chosen.

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

9 years agoclang-cl: Map /wd4996 to -Wno-deprecated-declarations
Reid Kleckner [Tue, 17 Feb 2015 23:28:19 +0000 (23:28 +0000)]
clang-cl: Map /wd4996 to -Wno-deprecated-declarations

This is typically used to suppress warnings about calling snprintf and
other "deprecated" POSIX functions. Accepting this flag helps avoid tons
of useless warnings when trying out clang-cl on a new project.

Patch by Scott Graham!

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

9 years agoRevert "Remove support for building sanitizers from Makefile/autoconf build."
Matthias Braun [Tue, 17 Feb 2015 23:27:37 +0000 (23:27 +0000)]
Revert "Remove support for building sanitizers from Makefile/autoconf build."

This reverts commit r229554.

Reverting this commit for now as several apple internal builds still
rely on this functionality.

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

9 years agoclang-cl: Disable frame pointer elimination at -O0
Reid Kleckner [Tue, 17 Feb 2015 22:40:42 +0000 (22:40 +0000)]
clang-cl: Disable frame pointer elimination at -O0

This wasn't kicking in because the _SLASH_O flag didn't match our check
for OPT_O0. Add an alias that does to keep the logic simple.

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

9 years agoSema: Replace some push_backs of expensive to move objects with emplace_back.
Benjamin Kramer [Tue, 17 Feb 2015 21:55:18 +0000 (21:55 +0000)]
Sema: Replace some push_backs of expensive to move objects with emplace_back.

NFC.

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

9 years agoRemove support for building sanitizers from Makefile/autoconf build.
Alexey Samsonov [Tue, 17 Feb 2015 21:53:22 +0000 (21:53 +0000)]
Remove support for building sanitizers from Makefile/autoconf build.

They autotools build has a number of missing features, supports less
OS, architectures, build configurations, doesn't have any tests and
is hard to support in sync with CMake build.

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

9 years agoRevert r229543.
Meador Inge [Tue, 17 Feb 2015 21:42:45 +0000 (21:42 +0000)]
Revert r229543.

Reverting this while build bot failures are investigated.

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

9 years agoSema: Allow 'constexpr' variables in range loops
Meador Inge [Tue, 17 Feb 2015 21:02:56 +0000 (21:02 +0000)]
Sema: Allow 'constexpr' variables in range loops

This fixes PR22492, which is in response to CWG issue #1204.
Per the CWG issue 'contexpr' variables are now allowed in
for range loops.

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

9 years agoRemove a recovery attempt that was untested and crashed when used.
Nico Weber [Tue, 17 Feb 2015 20:09:39 +0000 (20:09 +0000)]
Remove a recovery attempt that was untested and crashed when used.

Found by SLi's bot.

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

9 years agoRemove the ABI from the target features. It's obsoleted by
Eric Christopher [Tue, 17 Feb 2015 19:51:15 +0000 (19:51 +0000)]
Remove the ABI from the target features. It's obsoleted by
the -target-abi use and those features don't exist anymore.

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

9 years agoAdd a testcase that exercises DIBuilder's handling of cyclic debug info nodes.
Adrian Prantl [Tue, 17 Feb 2015 19:17:56 +0000 (19:17 +0000)]
Add a testcase that exercises DIBuilder's handling of cyclic debug info nodes.

rdar://problem/19839612

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

9 years agoRevert accidental commit.
Benjamin Kramer [Tue, 17 Feb 2015 16:53:08 +0000 (16:53 +0000)]
Revert accidental commit.

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

9 years agoPrefer SmallVector::append/insert over push_back loops. Clang edition.
Benjamin Kramer [Tue, 17 Feb 2015 16:48:30 +0000 (16:48 +0000)]
Prefer SmallVector::append/insert over push_back loops. Clang edition.

Same functionality, but hoists the vector growth out of the loop.

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

9 years agoAppend -fno-assume-sane-operator-new in ASan builds.
Sergey Matveev [Tue, 17 Feb 2015 15:09:33 +0000 (15:09 +0000)]
Append -fno-assume-sane-operator-new in ASan builds.

This should help LSan detect leaks where operator new would otherwise be
optimized out.

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