]> granicus.if.org Git - clang/log
clang
11 years agoAdd missing "break". Thanks to Craig for spotting it.
Eli Friedman [Mon, 26 Nov 2012 21:57:28 +0000 (21:57 +0000)]
Add missing "break".  Thanks to Craig for spotting it.

I'm looking at ways to fix the relevant test so it can catch this sort of mistake.

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

11 years agocheck that always_inline attribute works with -fno-inline
Sebastian Pop [Mon, 26 Nov 2012 20:44:46 +0000 (20:44 +0000)]
check that always_inline attribute works with -fno-inline

Clean up the existing test to use FileCheck.

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

11 years ago[analyzer] SATestBuild.py: allow make builds to disable parallelization
Jordan Rose [Mon, 26 Nov 2012 19:59:57 +0000 (19:59 +0000)]
[analyzer] SATestBuild.py: allow make builds to disable parallelization

Before, SATestBuild unilaterally added '-j<n>' to every project built with
'make'. Now, we check and see if there's a -j option already specified, which
allows a project to explicitly be marked '-j1'.

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

11 years ago[analyzer] Fix a crash reported in PR 14400.
Anna Zaks [Mon, 26 Nov 2012 19:11:46 +0000 (19:11 +0000)]
[analyzer] Fix a crash reported in PR 14400.

The AllocaRegion did not have the superRegion (based on LocationContext)
as part of it's hash. As a consequence, the AllocaRegions from
different frames were uniqued to be the same region.

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

11 years agoMSPGCC renamed ISR vectors from vector_<address> to __isr_<number>. This patch makes...
Anton Korobeynikov [Mon, 26 Nov 2012 18:59:10 +0000 (18:59 +0000)]
MSPGCC renamed ISR vectors from vector_<address> to __isr_<number>. This patch makes Clang reflect this scheme.
Patch by Job Noorman!

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

11 years agoFix PR14413 - incorrect mangling of anonymous namespaces with -cxx-abi microsoft
Timur Iskhodzhanov [Mon, 26 Nov 2012 08:55:48 +0000 (08:55 +0000)]
Fix PR14413 - incorrect mangling of anonymous namespaces with -cxx-abi microsoft

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

11 years agoPR14428: When instantiating a 'new' expression, if we had a non-dependent
Richard Smith [Mon, 26 Nov 2012 08:32:48 +0000 (08:32 +0000)]
PR14428: When instantiating a 'new' expression, if we had a non-dependent
initialization, don't rebuild it. Remove a couple of hacks which were trying to
work around this. Fix the special case for one-argument CXXConstructExprs to
not apply if the one argument is a default argument.

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

11 years agoAdd r168519 back, but with a fix to also merge the used flag in variables.
Rafael Espindola [Sun, 25 Nov 2012 14:07:59 +0000 (14:07 +0000)]
Add r168519 back, but with a fix to also merge the used flag in variables.

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

11 years agoAdd a basic testcase for the "variable is not needed" warning and one that
Rafael Espindola [Sun, 25 Nov 2012 14:00:51 +0000 (14:00 +0000)]
Add a basic testcase for the "variable is not needed" warning and one that
regressed in r168519.

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

11 years agoFix test case for linking with sanitizer opts added in r168428.
Alexey Samsonov [Sun, 25 Nov 2012 13:40:21 +0000 (13:40 +0000)]
Fix test case for linking with sanitizer opts added in r168428.

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

11 years agoRevert r168519, "Merge used flags so that we don't have to iterate on isUsed. With...
NAKAMURA Takumi [Sat, 24 Nov 2012 23:17:09 +0000 (23:17 +0000)]
Revert r168519, "Merge used flags so that we don't have to iterate on isUsed. With this change"

It brought bunch of (possibly false) warnings.

llvm/unittests/VMCore/PassManagerTest.cpp:60:22: warning: variable 'ID' is not needed and will not be emitted [-Wunneeded-internal-declaration]
    char ModuleNDNM::ID=0;
                     ^
llvm/unittests/VMCore/PassManagerTest.cpp:86:22: warning: variable 'ID' is not needed and will not be emitted [-Wunneeded-internal-declaration]
    char ModuleNDM2::ID=0;
                     ^
llvm/unittests/VMCore/PassManagerTest.cpp:106:21: warning: variable 'ID' is not needed and will not be emitted [-Wunneeded-internal-declaration]
    char ModuleDNM::ID=0;
                    ^
llvm/unittests/VMCore/PassManagerTest.cpp:217:16: warning: variable 'initcount' is not needed and will not be emitted [-Wunneeded-internal-declaration]
    int LPass::initcount=0;
               ^
llvm/unittests/VMCore/PassManagerTest.cpp:218:16: warning: variable 'fincount' is not needed and will not be emitted [-Wunneeded-internal-declaration]
    int LPass::fincount=0;
               ^
llvm/unittests/VMCore/PassManagerTest.cpp:259:16: warning: variable 'inited' is not needed and will not be emitted [-Wunneeded-internal-declaration]
    int BPass::inited=0;
               ^
llvm/unittests/VMCore/PassManagerTest.cpp:260:16: warning: variable 'fin' is not needed and will not be emitted [-Wunneeded-internal-declaration]
    int BPass::fin=0;
               ^
llvm/unittests/VMCore/PassManagerTest.cpp:283:24: warning: variable 'ID' is not needed and will not be emitted [-Wunneeded-internal-declaration]
    char OnTheFlyTest::ID=0;
                       ^
8 warnings generated.

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

11 years agoMake err_module_expected_semi consistent with all the other expected_semi diags.
Nico Weber [Sat, 24 Nov 2012 03:20:20 +0000 (03:20 +0000)]
Make err_module_expected_semi consistent with all the other expected_semi diags.

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

11 years agoSema: Provide a valid source location when instantiating templates based on a CXXDefa...
Benjamin Kramer [Fri, 23 Nov 2012 17:04:52 +0000 (17:04 +0000)]
Sema: Provide a valid source location when instantiating templates based on a CXXDefaultArgExpr.

Fixes PR13758.

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

11 years agoMerge used flags so that we don't have to iterate on isUsed. With this change
Rafael Espindola [Fri, 23 Nov 2012 16:26:30 +0000 (16:26 +0000)]
Merge used flags so that we don't have to iterate on isUsed. With this change
"clang -cc1 -fsyntax-only" on the preprocessed output of

#define M extern int a;
#define M2 M M
#define M4 M2 M2
#define M8 M4 M4
#define M16 M8 M8
#define M32 M16 M16
#define M64 M32 M32
#define M128 M64 M64
#define M256 M128 M128
#define M512 M256 M256
#define M1024 M512 M512
#define M2048 M1024 M1024
#define M4096 M2048 M2048
#define M8192 M4096 M4096
#define M16384 M8192 M8192
M16384

goes from 2.994s to 1.416s. GCC is at 0.022s, so we still have a long way to go.

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

11 years agoRemove redundant check.
Rafael Espindola [Fri, 23 Nov 2012 14:29:54 +0000 (14:29 +0000)]
Remove redundant check.

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

11 years agoCheck that we don't warn on this testcase. This is basically a test that
Rafael Espindola [Fri, 23 Nov 2012 13:54:40 +0000 (13:54 +0000)]
Check that we don't warn on this testcase. This is basically a test that
Decl::isUsed checks the attribute. If the function had a body just the check
is DeclMustBeEmitted would be sufficient.

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

11 years agoPR14306: Move -fbounds-checking to -fsanitize=bounds.
Joey Gouly [Fri, 23 Nov 2012 10:39:49 +0000 (10:39 +0000)]
PR14306: Move -fbounds-checking to -fsanitize=bounds.

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

11 years agoReapply a subset of r167567 to clean up Darwin-specific code for invoking gcc.
Bob Wilson [Fri, 23 Nov 2012 06:14:39 +0000 (06:14 +0000)]
Reapply a subset of r167567 to clean up Darwin-specific code for invoking gcc.

Unlike my previous attempt at this, this patch leaves intact the check for
whether clang can handle the input file type, and for non-Darwin toolchains it
will invoke gcc for things it cannot handle. For Darwin toolchains, the
behavior reported in pr14338 still occurs with this patch, but that is a
definite improvement from what happens currently, where it just crashes with
an assertion failure.

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

11 years agoMake helpers static/anonymous.
Benjamin Kramer [Thu, 22 Nov 2012 15:02:44 +0000 (15:02 +0000)]
Make helpers static/anonymous.

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

11 years agoFix regression in r168477. Use canonical decl when looking for base class
Richard Smith [Thu, 22 Nov 2012 00:40:54 +0000 (00:40 +0000)]
Fix regression in r168477. Use canonical decl when looking for base class
specified as a qualified name.

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

11 years agoFix CXXRecordDecl::forallBases to not look through bases which are dependent
Richard Smith [Thu, 22 Nov 2012 00:24:47 +0000 (00:24 +0000)]
Fix CXXRecordDecl::forallBases to not look through bases which are dependent
and defined within the current instantiation, but which are not part of the
current instantiation. Previously, it would look at bases which could be
specialized separately from the current template.

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

11 years agoTest that we correctly deal with multiple copy constructors when detecting
Richard Smith [Thu, 22 Nov 2012 00:21:13 +0000 (00:21 +0000)]
Test that we correctly deal with multiple copy constructors when detecting
non-trivial special members for varargs calls.

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

11 years agoFix the '-fuse-init-array' option to actually be an option.
Chandler Carruth [Wed, 21 Nov 2012 23:40:23 +0000 (23:40 +0000)]
Fix the '-fuse-init-array' option to actually be an option.

Previously, this flag to CC1 was never exposed at the clang driver
layer, and if you happened to enable it (by being on Android or GCC 4.7
platform), you couldn't *disable* it, because there was no 'no' variant.
The whole thing was confusingly implemented.

Now, the target-specific flag processing gets the driver arg list, and
we use standard hasFlag with a default based on the GCC version and/or
Android platform. The user can still pass the 'no-' variant to forcibly
disable the flag, or pass the positive variant to clang itself to enable
the flag.

The test has also been substantially cleaned up and extended to cover
these use cases.

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

11 years agoSemaCXX: an enumeral type can be of character or boolean type in a C++11 enum class...
Benjamin Kramer [Wed, 21 Nov 2012 17:42:47 +0000 (17:42 +0000)]
SemaCXX: an enumeral type can be of character or boolean type in a C++11 enum class. Make sure we create a literal of the right type.

Fixes PR14386.

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

11 years agoTest commit: Remove blank line.
Joey Gouly [Wed, 21 Nov 2012 16:54:35 +0000 (16:54 +0000)]
Test commit: Remove blank line.

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

11 years agoTry to fix test from r168428 on mingw bot
Alexey Samsonov [Wed, 21 Nov 2012 15:52:36 +0000 (15:52 +0000)]
Try to fix test from r168428 on mingw bot

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

11 years agoclang/test/Driver/x86_64-nacl-defines.cpp: Specify filename generated.
NAKAMURA Takumi [Wed, 21 Nov 2012 14:45:57 +0000 (14:45 +0000)]
clang/test/Driver/x86_64-nacl-defines.cpp: Specify filename generated.

FIXME: It could be /dev/null.

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

11 years ago[Sanitizer] force linking with static sanitizer runtimes on Darwin even if they are...
Alexey Samsonov [Wed, 21 Nov 2012 14:17:42 +0000 (14:17 +0000)]
[Sanitizer] force linking with static sanitizer runtimes on Darwin even if they are not found in resource directory. Add test checking sanitizer linker flags on Darwin.

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

11 years agoUse color for -ast-dump-filter only when it is supported
Dmitri Gribenko [Wed, 21 Nov 2012 10:54:55 +0000 (10:54 +0000)]
Use color for -ast-dump-filter only when it is supported

Patch by Philip Craig.

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

11 years agoRemove redundant code.
Rafael Espindola [Wed, 21 Nov 2012 02:53:22 +0000 (02:53 +0000)]
Remove redundant code.

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

11 years agoRemove redundant code.
Rafael Espindola [Wed, 21 Nov 2012 02:47:19 +0000 (02:47 +0000)]
Remove redundant code.

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

11 years agoDon't walk a linked list twice in the same function. On my machine this takes
Rafael Espindola [Tue, 20 Nov 2012 23:23:57 +0000 (23:23 +0000)]
Don't walk a linked list twice in the same function. On my machine this takes
"clang -cc1" on a file with 10k repetitions of
extern int no_such_variable;
from 1.434s to 1.133s.

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

11 years agoUpdate method calls to the new interface re r168354.
Bill Wendling [Tue, 20 Nov 2012 05:09:43 +0000 (05:09 +0000)]
Update method calls to the new interface re r168354.

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

11 years agoFix some trailing whitespace (on a blank line) to cycle/test bots.
David Blaikie [Mon, 19 Nov 2012 23:12:51 +0000 (23:12 +0000)]
Fix some trailing whitespace (on a blank line) to cycle/test bots.

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

11 years agoPR14381: Never skip constexpr function bodies when code-completing. We may need
Richard Smith [Mon, 19 Nov 2012 21:13:18 +0000 (21:13 +0000)]
PR14381: Never skip constexpr function bodies when code-completing. We may need
them in order to parse the rest of the file.

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

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