]> granicus.if.org Git - clang/log
clang
11 years agoWhen adding a NamedDecl to a correction, add the underlying Decl (via
Kaelyn Uhrain [Mon, 19 Nov 2012 18:49:53 +0000 (18:49 +0000)]
When adding a NamedDecl to a correction, add the underlying Decl (via
getUnderlyingDecl()) so that derivatives of
CorrectionCandidateCallback::ValidateCandidate(...) don't have to worry
about being thrown by UsingDecls and such.

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

11 years agoAdd -ldl for non-static libgcc in Android.
Logan Chien [Mon, 19 Nov 2012 12:04:11 +0000 (12:04 +0000)]
Add -ldl for non-static libgcc in Android.

According to Android ABI, we have to link with
libdl.so, if we are linking with non-static libgcc.

Besides, this also fixes MIPS link error of
undefined references to `_Unwind_Find_FDE' and
`dl_iterate_phdr'.

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

11 years agoEnable -fuse-init-array for Android X86/MIPS.
Logan Chien [Mon, 19 Nov 2012 11:45:31 +0000 (11:45 +0000)]
Enable -fuse-init-array for Android X86/MIPS.

The dynamic linker of Android does not support .ctors/.dtors.
We should emit .init_array and .fini_array regardless the
gcc version.

NOTE: This patch does not affect the ARM backend, because
it is required to generate .init_array and .fini_array
for program targeting ARM AAPCS and AEABI.

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

11 years agoclang/test: Suppress two tests on LLP64 target, Windows x64.
NAKAMURA Takumi [Mon, 19 Nov 2012 10:00:59 +0000 (10:00 +0000)]
clang/test: Suppress two tests on LLP64 target, Windows x64.

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

11 years agoCompletely re-work how the Clang driver interprets PIC and PIE options.
Chandler Carruth [Mon, 19 Nov 2012 03:52:03 +0000 (03:52 +0000)]
Completely re-work how the Clang driver interprets PIC and PIE options.

There were numerous issues here that were all entangled, and so I've
tried to do a general simplification of the logic.
1) The logic was mimicing actual GCC bugs, rather than "features". These
   have been fixed in trunk GCC, and this fixes Clang as well. Notably,
   the logic was always intended to be last-match-wins like any other
   flag.
2) The logic for handling '-mdynamic-no-pic' was preposterously unclear.
   It also allowed the use of this flag on non-Darwin platforms where it
   has no actual meaning. Now this option is handled directly based on
   tests of how llvm-gcc behaves, and it is only supported on Darwin.
3) The APIs for the Driver's ToolChains had the implementation ugliness
   of dynamic-no-pic leaking through them. They also had the
   implementation details of the LLVM relocation model flag names
   leaking through.
4) The actual results of passing these flags was incorrect on Darwin in
   many cases. For example, Darwin *always* uses PIC level 2 if it uses
   in PIC level, and Darwin *always* uses PIC on 64-bit regardless of
   the flags specified, including -fPIE. Darwin never compiles in PIE
   mode, but it can *link* in PIE mode.
5) Also, PIC was not always being enabled even when PIE was. This isn't
   a supported mode at all and may have caused some fallout in builds
   with complex PIC and PIE interactions.

The result is (I hope) cleaner and clearer for readers. I've also left
comments and tests about some of the truly strage behavior that is
observed on Darwin platforms. We have no real testing of Windows
platforms and PIC, but I don't have the tools handy to figure that out.
Hopefully others can beef up our testing here.

Unfortunately, I can't test this for every platform. =/ If folks have
dependencies on these flags that aren't covered by tests, they may
break. I've audited and ensured that all the changes in behavior of the
existing tests are intentional and good. In particular I've tried to
make sure the Darwin behavior (which is more suprising than the Linux
behavior) also matches that of 'gcc' on my mac.

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

11 years agoRemove a no-op 'const' from a by-value return type.
Chandler Carruth [Mon, 19 Nov 2012 03:52:00 +0000 (03:52 +0000)]
Remove a no-op 'const' from a by-value return type.

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

11 years agoRecursiveASTVisitor.h: Rework Doug's r160404, "Eliminating the GCC_CAST hack, take...
NAKAMURA Takumi [Mon, 19 Nov 2012 00:51:37 +0000 (00:51 +0000)]
RecursiveASTVisitor.h: Rework Doug's r160404, "Eliminating the GCC_CAST hack, take two."

With this, ARCMT tests would not crash on certain hosts with g++ -O2, eg. cygwin g++-4.5.3.

r160404 crashed mingw32-g++-4.4.0. I guess method's pointer in conditional expression could not be handled.

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

11 years agoRemove redundant (duplicated) check.
Dmitri Gribenko [Sun, 18 Nov 2012 22:28:42 +0000 (22:28 +0000)]
Remove redundant (duplicated) check.

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

11 years agoclang/test/Sema/warn-documentation.cpp: Try to fix up the testcase in r168277.
NAKAMURA Takumi [Sun, 18 Nov 2012 02:34:33 +0000 (02:34 +0000)]
clang/test/Sema/warn-documentation.cpp: Try to fix up the testcase in r168277.

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

11 years agoDocumentation parsing: propely handle a lone '\endverbatim' and emit a warning.
Dmitri Gribenko [Sun, 18 Nov 2012 00:30:31 +0000 (00:30 +0000)]
Documentation parsing: propely handle a lone '\endverbatim' and emit a warning.

We actually used to assert on this.

Thanks to NAKAMURA Takumi for noticing this!

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

11 years agoFix Doxygen comment start sequence.
Dmitri Gribenko [Sat, 17 Nov 2012 23:53:22 +0000 (23:53 +0000)]
Fix Doxygen comment start sequence.

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

11 years agoClean up code according to coding standards
Andy Gibbs [Sat, 17 Nov 2012 22:17:28 +0000 (22:17 +0000)]
Clean up code according to coding standards

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

11 years agoobjective-C: Do not issue deprecated warning about implementation
Fariborz Jahanian [Sat, 17 Nov 2012 20:53:53 +0000 (20:53 +0000)]
objective-C: Do not issue deprecated warning about implementation
of a deprecated method in original class (or category), only
in overrides. // rdar://12717705

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

11 years agoFix crash on end-of-file after \ in a char literal, fixes PR14369.
Nico Weber [Sat, 17 Nov 2012 20:25:54 +0000 (20:25 +0000)]
Fix crash on end-of-file after \ in a char literal, fixes PR14369.

This makes LexCharConstant() look more like LexStringLiteral(), which doesn't
have this bug. Add tests for eof after \ for several other cases.

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

11 years agoPrevent premature macro expansion in __has_builtin, __has_feature,
Andy Gibbs [Sat, 17 Nov 2012 19:18:27 +0000 (19:18 +0000)]
Prevent premature macro expansion in __has_builtin, __has_feature,
__has_attribute, __has_extension, making them behave more akin to
conventional macros.

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

11 years agoMade the "expected string literal" diagnostic more expressive
Andy Gibbs [Sat, 17 Nov 2012 19:16:52 +0000 (19:16 +0000)]
Made the "expected string literal" diagnostic more expressive

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

11 years agoRefactored duplicate string literal lexing code within Preprocessor, into a
Andy Gibbs [Sat, 17 Nov 2012 19:15:38 +0000 (19:15 +0000)]
Refactored duplicate string literal lexing code within Preprocessor, into a
common LexStringLiteral function.  In doing so, some consistency problems have
been ironed out (e.g. where the first token in the string literal was lexed
with macro expansion, but subsequent ones were not) and also an erroneous
diagnostic has been corrected.

LexStringLiteral is complemented by a FinishLexStringLiteral function which
can be used in the situation where the first token of the string literal has
already been lexed.

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

11 years agoFix handling of invalid uses of the __has_warning builtin macro
Andy Gibbs [Sat, 17 Nov 2012 19:14:53 +0000 (19:14 +0000)]
Fix handling of invalid uses of the __has_warning builtin macro

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

11 years agoEnable inlining of 4 byte atomic ops on ppc32, 8 byte atomic ops on ppc64.
Benjamin Kramer [Sat, 17 Nov 2012 17:30:55 +0000 (17:30 +0000)]
Enable inlining of 4 byte atomic ops on ppc32, 8 byte atomic ops on ppc64.

Also fixes a bit/byte mismatch when checking if a target supports atomic ops of a certain size.

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

11 years agoRemove copy ctor that provides no value over the default.
Benjamin Kramer [Sat, 17 Nov 2012 09:14:31 +0000 (09:14 +0000)]
Remove copy ctor that provides no value over the default.

It's also simpler to just copy the words than mangling bits like this ctor did.

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

11 years agoFurther reduce "-fsyntax-only -Wuninitialized" time on sqlite3.c by another 2.5%...
Ted Kremenek [Sat, 17 Nov 2012 07:18:30 +0000 (07:18 +0000)]
Further reduce "-fsyntax-only -Wuninitialized" time on sqlite3.c by another 2.5% using intelligent pruning of blocks during the final reporting pass.

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

11 years agoSwitch -Wuninitialized to use a reverse-post order traversal as
Ted Kremenek [Sat, 17 Nov 2012 02:00:00 +0000 (02:00 +0000)]
Switch -Wuninitialized to use a reverse-post order traversal as
an initial baseline for enqueued blocks, but use a simple DFS stack
for propagating changes quickly up back edges.

This provides a 3.5% reduction in -fsyntax-only time on sqlite3.c.

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

11 years agoAdd missing features for misc x86 CPUs to CPU feature translation. Patch by Jung...
Eli Friedman [Sat, 17 Nov 2012 01:43:10 +0000 (01:43 +0000)]
Add missing features for misc x86 CPUs to CPU feature translation.  Patch by Jung-uk Kim.

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

11 years agoClean up X86 target feature translation code slightly. No intended functional change...
Eli Friedman [Sat, 17 Nov 2012 01:16:19 +0000 (01:16 +0000)]
Clean up X86 target feature translation code slightly.  No intended functional change.  Patch by Jung-uk Kim.

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

11 years agoTypo.
Chad Rosier [Fri, 16 Nov 2012 23:41:41 +0000 (23:41 +0000)]
Typo.

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

11 years agoRevert r167799. It's not really correct, and it doesn't fix the problem that it was...
Bill Wendling [Fri, 16 Nov 2012 23:03:00 +0000 (23:03 +0000)]
Revert r167799. It's not really correct, and it doesn't fix the problem that it was intended to fix.

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

11 years agoTestcase overriding-ftemplate-comments.cpp: use [[@LINE]] to make it less fragile.
Dmitri Gribenko [Fri, 16 Nov 2012 22:34:07 +0000 (22:34 +0000)]
Testcase overriding-ftemplate-comments.cpp: use [[@LINE]] to make it less fragile.

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

11 years ago[driver] Add the missing TY_PP_ObjCXX_Alias case to the isCXX function.
Chad Rosier [Fri, 16 Nov 2012 22:31:39 +0000 (22:31 +0000)]
[driver] Add the missing TY_PP_ObjCXX_Alias case to the isCXX function.

This was causing different behavior when using -x objective-c++-cpp-output as
compared to -x objc++-cpp-output.  Specifically, the driver was not adding the
-fcxx-exceptions flag in the latter case.
rdar://12680312

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

11 years agoStmtDumper: remove incomplete support for limiting the maximum dump depth.
Dmitri Gribenko [Fri, 16 Nov 2012 21:43:31 +0000 (21:43 +0000)]
StmtDumper: remove incomplete support for limiting the maximum dump depth.
There are better ways of limiting the amount of information if there is a need
for that.

Patch by Philip Craig.

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

11 years agoFix partial-match-bind-behavior with forEachDescendant() matchers.
Daniel Jasper [Fri, 16 Nov 2012 18:39:22 +0000 (18:39 +0000)]
Fix partial-match-bind-behavior with forEachDescendant() matchers.

The problem is that a partial match of an (explicit or implicit) allOf matcher
binds results, i.e.

recordDecl(decl().bind("x"), hasName("A"))

can very well bind a record that is not named "A". With this fix, the common
cases of stumbling over this bug are fixed by the BoundNodesMap overwriting the
results of a partial match. An error can still be created with a weird
combination of anyOf and allOf (see inactive test). We need to decide whether
this is worth fixing, as the fix will have performance impact.

Review: http://llvm-reviews.chandlerc.com/D124

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

11 years ago[analyzer] SATestBuild.py: fix broken string concatenation
Jordan Rose [Fri, 16 Nov 2012 17:41:21 +0000 (17:41 +0000)]
[analyzer] SATestBuild.py: fix broken string concatenation

This has been broken for a while, but the branch was never being taken.
(We were trying to do 'str + floatVal'; now we do 'str % intVal' and use
the '%d' format.)

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

11 years agoMake libASTMatchers link its dependencies. libRewriteFrontend depends on libRewriteCore.
Benjamin Kramer [Fri, 16 Nov 2012 17:30:58 +0000 (17:30 +0000)]
Make libASTMatchers link its dependencies. libRewriteFrontend depends on libRewriteCore.

LLVM_USED_LIBS does nothing here.

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

11 years agoUBSan: enable proper linking with UBsan runtime on Darwin. Turn on building ubsan...
Alexey Samsonov [Fri, 16 Nov 2012 12:53:14 +0000 (12:53 +0000)]
UBSan: enable proper linking with UBsan runtime on Darwin. Turn on building ubsan on OS X in 'make' build system. Patch by Jean-Daniel Dupas.

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

11 years agoStore this Decl* as a Decl* instead of a uintptr_t. No functionality change.
Nick Lewycky [Fri, 16 Nov 2012 08:40:59 +0000 (08:40 +0000)]
Store this Decl* as a Decl* instead of a uintptr_t. No functionality change.

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

11 years agoclang/unittests: Fixup corresponding to Doug's r168136.
NAKAMURA Takumi [Fri, 16 Nov 2012 04:40:11 +0000 (04:40 +0000)]
clang/unittests: Fixup corresponding to Doug's r168136.

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

11 years agoSince CreateTargetInfo is taking ownership of the target options, pass
Douglas Gregor [Fri, 16 Nov 2012 04:24:59 +0000 (04:24 +0000)]
Since CreateTargetInfo is taking ownership of the target options, pass
it as a pointer.

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

11 years agoRemove unused diagnostics
Douglas Gregor [Fri, 16 Nov 2012 04:10:20 +0000 (04:10 +0000)]
Remove unused diagnostics

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

11 years agoRevert r168132, "clang/test/lit.cfg: Suppress the feature 'dev-fd-fs' for now." I...
NAKAMURA Takumi [Fri, 16 Nov 2012 03:50:55 +0000 (03:50 +0000)]
Revert r168132, "clang/test/lit.cfg: Suppress the feature 'dev-fd-fs' for now." I missed Daniel's r168095 by my accident.

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

11 years ago[libclang] When caching code-completion results, pass the CachedCompletionAllocator
Argyrios Kyrtzidis [Fri, 16 Nov 2012 03:34:57 +0000 (03:34 +0000)]
[libclang] When caching code-completion results, pass the CachedCompletionAllocator
to the CodeCompletionTUInfo that is going to be used to get the results.

Previously we would use ASTUnit's CodeCompletionTUInfo which has its own allocator
that will go away when we reparse. That could result in a use-after-free bug when
getting the parent context name from a CodeCompletionString.

Addresses rdar://12568377.

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

11 years agoclang/test/lit.cfg: Suppress the feature 'dev-fd-fs' for now.
NAKAMURA Takumi [Fri, 16 Nov 2012 03:28:51 +0000 (03:28 +0000)]
clang/test/lit.cfg: Suppress the feature 'dev-fd-fs' for now.

None of my buildhost (centos6 x86-64 and cygwin) is passing. Investigating.

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

11 years agoCPP Output: Do not emit an enter file marker for the main file.
Daniel Dunbar [Fri, 16 Nov 2012 01:51:11 +0000 (01:51 +0000)]
CPP Output: Do not emit an enter file marker for the main file.

 - This diverges from gcc, and confuses tools (like dtrace) which track # line
   markers as a way to determine which content is in the context of the main
   file.

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

11 years agoTake into account the zero sign bit for positive numbers when computing the bit
Richard Trieu [Fri, 16 Nov 2012 01:32:40 +0000 (01:32 +0000)]
Take into account the zero sign bit for positive numbers when computing the bit
width of an enum with negative values in IntRange.  Include a test for
-Wtautological-constant-out-of-range-compare where this had manifested.

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

11 years agoFix PR14321, a crash when Clang is built with GCC 4.7 at -O1 or greater.
Matt Beaumont-Gay [Fri, 16 Nov 2012 01:14:52 +0000 (01:14 +0000)]
Fix PR14321, a crash when Clang is built with GCC 4.7 at -O1 or greater.

GCC 4.7 reuses stack slots fairly aggressively, which exposes more temporary
lifetime bugs.

No new test, this was caught by the existing CodeGenCXX/mangle-ms-templates.cpp.

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

11 years agoA step towards sorting out handling of triviality of special members in C++11.
Richard Smith [Fri, 16 Nov 2012 00:53:38 +0000 (00:53 +0000)]
A step towards sorting out handling of triviality of special members in C++11.

Separate out the notions of 'has a trivial special member' and 'has a
non-trivial special member', and use them appropriately. These are not
opposites of one another (there might be no special member, or in C++11 there
might be a trivial one and a non-trivial one). The CXXRecordDecl predicates
continue to produce incorrect results, but do so in fewer cases now, and
they document the cases where they might be wrong.

No functionality changes are intended here (they will come when the predicates
start producing the right answers...).

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

11 years agoMention the lldb formatters in the clang wiki under debugging.
Argyrios Kyrtzidis [Fri, 16 Nov 2012 00:25:28 +0000 (00:25 +0000)]
Mention the lldb formatters in the clang wiki under debugging.

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

11 years ago[ClangDataFormat.py] Add summary for QualType.
Argyrios Kyrtzidis [Fri, 16 Nov 2012 00:25:26 +0000 (00:25 +0000)]
[ClangDataFormat.py] Add summary for QualType.

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

11 years agoMake sure CodeGenTypes correctly reconverts function types. Fixes PR14355, a crash...
Eli Friedman [Thu, 15 Nov 2012 23:40:48 +0000 (23:40 +0000)]
Make sure CodeGenTypes correctly reconverts function types.  Fixes PR14355, a crash in IR generation.

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

11 years agoPR9903: Recover from a member functon declared with the 'typedef' specifier by
Richard Smith [Thu, 15 Nov 2012 22:54:20 +0000 (22:54 +0000)]
PR9903: Recover from a member functon declared with the 'typedef' specifier by
dropping the specifier, just like we do for non-member functions and function
templates declared 'typedef'. Patch by Brian Brooks!

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

11 years ago[analyzer] CmpRuns: move the clang_version info into the run (out of
Anna Zaks [Thu, 15 Nov 2012 22:42:44 +0000 (22:42 +0000)]
[analyzer] CmpRuns: move the clang_version info into the run (out of
report)

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

11 years agoComment to XML conversion test: correct filename.
Dmitri Gribenko [Thu, 15 Nov 2012 22:21:42 +0000 (22:21 +0000)]
Comment to XML conversion test: correct filename.

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

11 years ago[analyzer] SATestBuild.py: correctly add -j option for projects using make.
Jordan Rose [Thu, 15 Nov 2012 22:03:53 +0000 (22:03 +0000)]
[analyzer] SATestBuild.py: correctly add -j option for projects using make.

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

11 years agoSplit annotate-comments.cpp into a fragile (that uses hardcoded line numbers)
Dmitri Gribenko [Thu, 15 Nov 2012 22:03:13 +0000 (22:03 +0000)]
Split annotate-comments.cpp into a fragile (that uses hardcoded line numbers)
and a non-fragile (that uses [[@LINE]]) parts.

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

11 years agotests: Mark the /dev/fd test as requiring Darwin until I can test on other OSes.
Daniel Dunbar [Thu, 15 Nov 2012 21:31:13 +0000 (21:31 +0000)]
tests: Mark the /dev/fd test as requiring Darwin until I can test on other OSes.

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

11 years ago[utils/ClangDataFormat.py] For invalid source locations just return
Argyrios Kyrtzidis [Thu, 15 Nov 2012 20:59:00 +0000 (20:59 +0000)]
[utils/ClangDataFormat.py] For invalid source locations just return
"<invalid loc>" for summary.

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

11 years agotests: Check that we can output to /dev/fd filesystem.
Daniel Dunbar [Thu, 15 Nov 2012 20:24:58 +0000 (20:24 +0000)]
tests: Check that we can output to /dev/fd filesystem.

 - An LLVM unique_file() bug could cause us to infinite loop on the later test
   case.

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

11 years ago[analyzer] Fix a use-after-free introduced in r168019.
Jordan Rose [Thu, 15 Nov 2012 20:10:05 +0000 (20:10 +0000)]
[analyzer] Fix a use-after-free introduced in r168019.

In code like this:

void foo() {
     bar();
     baz();
}

...the location for the call to 'bar()' was being used as a backup location
for the call to 'baz()'. This is fine unless the call to 'bar()' is deemed
uninteresting and that part of the path deleted.

(This looks like a logic error as well, but in practice the only way 'baz()'
could have an invalid location is if the entire body of 'foo()' is
synthesized, meaning the call to 'bar()' will be using the location of the
call to 'foo()' anyway. Nevertheless, the new version better matches the
intent of the code.)

Found by Matt Beaumont-Gay using ASan. Thanks, Matt!

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

11 years agotests: Add a test for reading from named pipes.
Daniel Dunbar [Thu, 15 Nov 2012 20:06:10 +0000 (20:06 +0000)]
tests: Add a test for reading from named pipes.

 - Realized I could use the /dev/fd filesystem to make a simple portable test.

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

11 years agoIf an excluded header does not exist, just ignore it
Douglas Gregor [Thu, 15 Nov 2012 19:47:16 +0000 (19:47 +0000)]
If an excluded header does not exist, just ignore it

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

11 years ago[analyzer] Report leaks at the closing brace of a function body.
Jordan Rose [Thu, 15 Nov 2012 19:11:43 +0000 (19:11 +0000)]
[analyzer] Report leaks at the closing brace of a function body.

This fixes a few cases where we'd emit path notes like this:

  +---+
 1|   v
  p = malloc(len);
  ^   |2
  +---+

In general this should make path notes more consistent and more correct,
especially in cases where the leak happens on the false branch of an if
that jumps directly to the end of the function. There are a couple places
where the leak is reported farther away from the cause; these are usually
cases where there are several levels of nested braces before the end of
the function. This still matches our current behavior for when there /is/
a statement after all the braces, though.

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

11 years ago[analyzer] StreamChecker: Remove now-unnecessary check::EndPath callback.
Jordan Rose [Thu, 15 Nov 2012 19:11:38 +0000 (19:11 +0000)]
[analyzer] StreamChecker: Remove now-unnecessary check::EndPath callback.

Also, don't bother to stop tracking symbols in the return value, either.
They are now properly considered live during checkDeadSymbols.

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

11 years ago[analyzer] MacOSKeychainAPIChecker: Remove now-unnecessary check::EndPath.
Jordan Rose [Thu, 15 Nov 2012 19:11:35 +0000 (19:11 +0000)]
[analyzer] MacOSKeychainAPIChecker: Remove now-unnecessary check::EndPath.

Also, don't bother to stop tracking symbols in the return value, either.
They are now properly considered live during checkDeadSymbols.

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

11 years ago[analyzer] MallocChecker: Remove now-unnecessary check::EndPath callback.
Jordan Rose [Thu, 15 Nov 2012 19:11:33 +0000 (19:11 +0000)]
[analyzer] MallocChecker: Remove now-unnecessary check::EndPath callback.

Also, don't bother to stop tracking symbols in the return value, either.
They are now properly considered live during checkDeadSymbols.

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

11 years ago[analyzer] Mark symbol values as dead in the environment.
Jordan Rose [Thu, 15 Nov 2012 19:11:27 +0000 (19:11 +0000)]
[analyzer] Mark symbol values as dead in the environment.

This allows us to properly remove dead bindings at the end of the top-level
stack frame, using the ReturnStmt, if there is one, to keep the return value
live. This in turn removes the need for a check::EndPath callback in leak
checkers.

This does cause some changes in the path notes for leak checkers. Previously,
a leak would be reported at the location of the closing brace in a function.
Now, it gets reported at the last statement. This matches the way leaks are
currently reported for inlined functions, but is less than ideal for both.

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

11 years agoblock extended signatur option. Change previous option
Fariborz Jahanian [Thu, 15 Nov 2012 19:02:45 +0000 (19:02 +0000)]
block extended signatur option. Change previous option
to a cc1 -fencode-extended-block-signature and pass it
to cc1 and recognize this option to produce extended block
type signature. // rdar://12109031

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

11 years ago[modules] Use a memory buffer directly as input for the module includes,
Argyrios Kyrtzidis [Thu, 15 Nov 2012 18:57:27 +0000 (18:57 +0000)]
[modules] Use a memory buffer directly as input for the module includes,
instead of messing with virtual files.

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

11 years ago[modules] Setup the import location of a module file and use it
Argyrios Kyrtzidis [Thu, 15 Nov 2012 18:57:22 +0000 (18:57 +0000)]
[modules] Setup the import location of a module file and use it
as the include location of the main file of an imported module.

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

11 years agoComment to XML conversion: convert some tests to use the new [[@LINE]]
Dmitri Gribenko [Thu, 15 Nov 2012 18:37:27 +0000 (18:37 +0000)]
Comment to XML conversion: convert some tests to use the new [[@LINE]]
FileCheck feature.  This will hopefully make tests less fragile.

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

11 years agoRemove unused diagnostics from TableGen files.
Dmitri Gribenko [Thu, 15 Nov 2012 18:32:56 +0000 (18:32 +0000)]
Remove unused diagnostics from TableGen files.

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

11 years agoSimplify code. No functionality change.
Benjamin Kramer [Thu, 15 Nov 2012 16:40:35 +0000 (16:40 +0000)]
Simplify code. No functionality change.

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

11 years agoDo not cache a pointer to ExprEvalContexts.back().
Benjamin Kramer [Thu, 15 Nov 2012 15:18:42 +0000 (15:18 +0000)]
Do not cache a pointer to ExprEvalContexts.back().

It may become a dangling pointer if the underlying SmallVector reallocates.
Sadly the testcase is really large and doesn't reduce well because of
SmallVector's reallocation patterns.

Fixes PR14336.

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

11 years agoUse empty parens for empty function parameter list instead of '(void)'.
Dmitri Gribenko [Thu, 15 Nov 2012 14:28:07 +0000 (14:28 +0000)]
Use empty parens for empty function parameter list instead of '(void)'.

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

11 years ago[UBSan] Add support for building ubsan runtime library on Linux with 'make'. Clang...
Alexey Samsonov [Thu, 15 Nov 2012 12:40:37 +0000 (12:40 +0000)]
[UBSan] Add support for building ubsan runtime library on Linux with 'make'. Clang part.

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

11 years agoTeach the uninitialized field warning about anonymous structs and union members.
Nick Lewycky [Thu, 15 Nov 2012 08:19:20 +0000 (08:19 +0000)]
Teach the uninitialized field warning about anonymous structs and union members.
Fixes PR14073!

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

11 years agoMake -ffp-contract a codegen option, rather than a laguage option. This makes
Lang Hames [Thu, 15 Nov 2012 07:51:26 +0000 (07:51 +0000)]
Make -ffp-contract a codegen option, rather than a laguage option. This makes
more sense anyway - it determines how expressions are codegen'd. It also ensures
that -ffp-contract=fast has the intended effect when compiling LLVM IR.

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

11 years agoRevert r167567, restoring the ability of clang to run gcc in cases where it
Nick Lewycky [Thu, 15 Nov 2012 05:36:36 +0000 (05:36 +0000)]
Revert r167567, restoring the ability of clang to run gcc in cases where it
can't handle the input file type. This resulted in PR14338.

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

11 years agoFix an off-by-one error by switching < to <= in -Wtautological-constant-out-of-range...
Richard Trieu [Thu, 15 Nov 2012 03:43:50 +0000 (03:43 +0000)]
Fix an off-by-one error by switching < to <= in -Wtautological-constant-out-of-range-compare and added test case.

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

11 years agoDo not use data recursion in ASTMatchFinder.
Daniel Jasper [Thu, 15 Nov 2012 03:29:05 +0000 (03:29 +0000)]
Do not use data recursion in ASTMatchFinder.

The matchers rely on the complete AST being traversed as shown by the new test cases.

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

11 years ago[analyzer] Fix test case broken by previous commit.
Jordan Rose [Thu, 15 Nov 2012 02:17:09 +0000 (02:17 +0000)]
[analyzer] Fix test case broken by previous commit.

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

11 years ago[analyzer] Make sure calls in synthesized functions have valid path locations.
Jordan Rose [Thu, 15 Nov 2012 02:07:23 +0000 (02:07 +0000)]
[analyzer] Make sure calls in synthesized functions have valid path locations.

We do this by using the "most recent" good location: if a synthesized
function 'A' calls another function 'B', the path notes for the call to 'B'
will be placed at the same location as the path note for calling 'A'.

Similarly, the call to 'A' will have a note saying "Entered call from...",
and now we just don't emit that (since the user doesn't have a body to look
at anyway).

Previously, we were doing this for the "Calling..." notes, but not for the
"Entered call from..." or "Returning to caller". This caused a crash when
the path entered and then exiting a call within a synthesized body.

<rdar://problem/12657843>

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

11 years ago[PCH] Reading expressions from attributes should be done using ReadExpr(),
Argyrios Kyrtzidis [Thu, 15 Nov 2012 01:31:39 +0000 (01:31 +0000)]
[PCH] Reading expressions from attributes should be done using ReadExpr(),
not ReadExpr().

Also add a test case making sure the thread safety attributes work as expected
when they come from a PCH.

Fixes rdar://12584141 & http://llvm.org/PR13982

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

11 years agoFix a trivial bool-related bug I spotted while skimming David Fang's
Eli Friedman [Thu, 15 Nov 2012 01:21:59 +0000 (01:21 +0000)]
Fix a trivial bool-related bug I spotted while skimming David Fang's
current list of powerpc-darwin8 failures.

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

11 years agoAdd link to cfe-users mailing list.
Tanya Lattner [Thu, 15 Nov 2012 01:13:31 +0000 (01:13 +0000)]
Add link to cfe-users mailing list.

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

11 years agoPer [basic.lookup.classref]p3, in an expression of the form p->~type-name, the
Richard Smith [Thu, 15 Nov 2012 00:31:27 +0000 (00:31 +0000)]
Per [basic.lookup.classref]p3, in an expression of the form p->~type-name, the
type-name is looked up in the context of the complete postfix-expression. Don't
forget to pass the scope into this lookup when the type-name is a template-id;
it might name an alias template which can't be found within the class itself.

Bug spotted by Johannes Schaub on #llvm.

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

11 years agoFix DiagnoseBitwisePrecedence so it doesn't cast "-1" to the type
Eli Friedman [Thu, 15 Nov 2012 00:29:07 +0000 (00:29 +0000)]
Fix DiagnoseBitwisePrecedence so it doesn't cast "-1" to the type
BinaryOperator::Opcode.  This is bad form, and the behavior of the static_cast
in this case is unspecified according to the standard.

Fixes a warning that showed up from r167992 on self-host.

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

11 years agoobjective-C blocks: make cc1 flag -encode-extended-block-signature
Fariborz Jahanian [Thu, 15 Nov 2012 00:01:28 +0000 (00:01 +0000)]
objective-C blocks: make cc1 flag -encode-extended-block-signature
the default. // rdar://12109031

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

11 years agoMake template diffing handle integral expressions of various widths correctly.
Eli Friedman [Wed, 14 Nov 2012 23:57:08 +0000 (23:57 +0000)]
Make template diffing handle integral expressions of various widths correctly.
PR14342.

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

11 years agoAdd -cc1 option -fno-diagnostics-use-presumed-location, a handy mode for
Richard Smith [Wed, 14 Nov 2012 23:55:25 +0000 (23:55 +0000)]
Add -cc1 option -fno-diagnostics-use-presumed-location, a handy mode for
working with preprocessed testcases. This causes source locations in
diagnostics to point at the spelling location instead of the presumed location,
while still keeping the semantic effects of the line directives (entering and
leaving system-header mode, primarily).

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

11 years ago[utils/ClangDataFormat.py] Add data formatter for StringRef.
Argyrios Kyrtzidis [Wed, 14 Nov 2012 23:52:19 +0000 (23:52 +0000)]
[utils/ClangDataFormat.py] Add data formatter for StringRef.

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

11 years ago[utils/ClangDataFormat.py] In the summary of SourceLocation, include whether it is
Argyrios Kyrtzidis [Wed, 14 Nov 2012 23:52:11 +0000 (23:52 +0000)]
[utils/ClangDataFormat.py] In the summary of SourceLocation, include whether it is
local or loaded.

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

11 years agoobjective-C blocks: under cc1 flag -encode-extended-block-signature,
Fariborz Jahanian [Wed, 14 Nov 2012 23:11:38 +0000 (23:11 +0000)]
objective-C blocks: under cc1 flag -encode-extended-block-signature,
generate expanded signature encoding to include types as we
already do this for protocol method lists.
// rdar://12109031

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

11 years ago[analyzer] Fix test in previous commit.
Jordan Rose [Wed, 14 Nov 2012 23:09:52 +0000 (23:09 +0000)]
[analyzer] Fix test in previous commit.

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

11 years ago[analyzer] Add a test case for printing a path note at a PreStmt point.
Jordan Rose [Wed, 14 Nov 2012 23:03:55 +0000 (23:03 +0000)]
[analyzer] Add a test case for printing a path note at a PreStmt point.

This is also a false-positive test case for <rdar://problem/12415065>.

<rdar://problem/12687586>

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

11 years agoImprove -Wtautological-constant-out-of-range-compare by taking into account
Richard Trieu [Wed, 14 Nov 2012 22:50:24 +0000 (22:50 +0000)]
Improve -Wtautological-constant-out-of-range-compare by taking into account
type conversion between integers.  This allows the warning to be more accurate.

Also, turned the warning off in an analyzer test.  The relavent test cases
are covered by the tests in Sema.

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

11 years agoTeach the AST importer to merge enumerator constants. Fixes
Douglas Gregor [Wed, 14 Nov 2012 22:29:20 +0000 (22:29 +0000)]
Teach the AST importer to merge enumerator constants. Fixes
<rdar://problem/12676166>, and tested on the LLDB side of the world.

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

11 years agoWhen evaluating variably modified types for function parameters, dig out the
Eli Friedman [Wed, 14 Nov 2012 22:09:59 +0000 (22:09 +0000)]
When evaluating variably modified types for function parameters, dig out the
type as written from the ParmVarDecl; it's unclear whether the standard
(C99 6.9.1p10) requires this, but we're following the precedent set by gcc,
and hopefully nobody will ever ask about this again.

PR9559 / <rdar://problem/12621983>.

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

11 years agoRemove the cellspu port.
Eric Christopher [Wed, 14 Nov 2012 22:08:59 +0000 (22:08 +0000)]
Remove the cellspu port.

Approved by Chris Lattner.

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

11 years agoParseTemplate.cpp: Prune obsolete descriptions in ParseSingleDeclarationAfterTemplate...
NAKAMURA Takumi [Wed, 14 Nov 2012 21:45:43 +0000 (21:45 +0000)]
ParseTemplate.cpp: Prune obsolete descriptions in ParseSingleDeclarationAfterTemplate(), for now. [-Wdocumentation]

/// \param TemplateParams if non-NULL, the template parameter lists
/// that preceded this declaration. In this case, the declaration is a
/// template declaration, out-of-line definition of a template, or an
/// explicit template specialization. When NULL, the declaration is an
/// explicit template instantiation.
///
/// \param TemplateLoc when TemplateParams is NULL, the location of
/// the 'template' keyword that indicates that we have an explicit
/// template instantiation.

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

11 years ago[analyzer] Ensure that CmpRuns recursively walks the output directory.
Anna Zaks [Wed, 14 Nov 2012 21:32:16 +0000 (21:32 +0000)]
[analyzer] Ensure that CmpRuns recursively walks the output directory.

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

11 years agoIn ExpressionEvaluationContextRecord manage LambdaMangle with a shared
Argyrios Kyrtzidis [Wed, 14 Nov 2012 19:16:13 +0000 (19:16 +0000)]
In ExpressionEvaluationContextRecord manage LambdaMangle with a shared
pointer, otherwise we will double free it when ExpressionEvaluationContextRecord
gets copied.

Fixes crash in rdar://12645424 & http://llvm.org/PR14252

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

11 years agoThe ObjC++-to-C++ personality trick is only necessary on NeXT runtimes,
John McCall [Wed, 14 Nov 2012 17:48:31 +0000 (17:48 +0000)]
The ObjC++-to-C++ personality trick is only necessary on NeXT runtimes,
which is not coincidentally the only place it works, either (because
of how it tests for EH_TYPE symbols).

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