Benjamin Kramer
ce276e3822
Don't clear OverloadCandidateSets on destruction, it has no effect anymore.
...
And clearing a SmallPtrSet can be an expensive operation.
llvm-svn: 128081
2011-03-22 09:46:54 +00:00
John McCall
30cd20a316
Apply Jonathan Sauer's proposed solution to PR9519. Thanks!
...
llvm-svn: 128075
2011-03-22 07:16:37 +00:00
John McCall
6a4fa52b37
The emission of an Objective-C++'s class .cxx_destruct method should be
...
conditioned on whether it has any destructible ivars, not on whether
it has any non-trivial class-object initializers.
llvm-svn: 128074
2011-03-22 07:05:39 +00:00
John McCall
8f9a42971e
Fix a test case and teach ClearLinkageCache() to clear the linkage of
...
a function template decl's pattern, which was suddenly exposed by my
last patch.
llvm-svn: 128073
2011-03-22 06:58:49 +00:00
John McCall
290b32b90f
File-scope static functions need to be mangled with 'L' so that
...
they don't collide with file-scope extern functions from the same
translation unit. This is basically a matter of applying the same
logic to FunctionDecls as we were previously applying to VarDecls.
llvm-svn: 128072
2011-03-22 06:34:45 +00:00
Ken Dyck
6aa767c18e
Convert Offset variable in GetAddressOfDirectBaseInCompleteClass() to
...
CharUnits. No change in functionality intended.
llvm-svn: 128060
2011-03-22 01:21:15 +00:00
Ted Kremenek
022a4904fa
Rework crash recovery cleanup in ASTUnit and CIndex to recover more memory during a Sema crash (we have just a handful of leaks left)
...
and to use the simplified cleanup registration API.
llvm-svn: 128059
2011-03-22 01:15:24 +00:00
Ted Kremenek
288fb9dc6e
Remove crash recovery cleanups from TypeLocBuilder. They were a bit error prone, only hit in rare cases.
...
llvm-svn: 128058
2011-03-22 01:15:21 +00:00
Ted Kremenek
022dbc1672
Simplify crash recovery cleanup registration.
...
llvm-svn: 128057
2011-03-22 01:15:19 +00:00
Ted Kremenek
4c9d46b310
Migrate 'PrettySTackTraceParserEntry' object out of Parser, and have it constructed within ParseAST. This avoids double crashes
...
during crash recovery.
llvm-svn: 128056
2011-03-22 01:15:17 +00:00
Ken Dyck
a1a4ae34d0
Change return value of ComputeNonVirtualBaseClassOffset() to CharUnits. No
...
change in functionality intended.
llvm-svn: 128050
2011-03-22 00:53:26 +00:00
Ken Dyck
664569965f
Eliminate some literal '8's in FillInNullDataMemberPointers() by switching
...
to CharUnits. No change in functionality intended.
llvm-svn: 128047
2011-03-22 00:24:31 +00:00
Matt Beaumont-Gay
a282bc6a00
Output to tempfile
...
llvm-svn: 128043
2011-03-22 00:19:31 +00:00
Bob Wilson
87ba1d329a
Another cortex-m0 patch from James Orr.
...
llvm-svn: 128029
2011-03-21 21:55:25 +00:00
Bob Wilson
d9249414b3
Add clang support for cortex-m0 cpus. Patch by James Orr.
...
llvm-svn: 128018
2011-03-21 20:40:05 +00:00
Ted Kremenek
9acb346375
scan-build: only display analyzer intra-file progress when in "Verbose" mode.
...
llvm-svn: 128015
2011-03-21 20:12:21 +00:00
Daniel Dunbar
fe908a805b
Frontend: Change CC_PRINT_HEADERS to not print header depth markers, these don't
...
really make any sense in this environment.
llvm-svn: 128014
2011-03-21 19:37:38 +00:00
Fariborz Jahanian
413e064b45
Fix an objc++ diagnostic initializing objc pointers.
...
// rdar:// 9139947
llvm-svn: 128013
2011-03-21 19:08:42 +00:00
Ted Kremenek
5e14d39a88
Improve crash recovery cleanup to recovery CompilerInstances during crash recovery. This was a huge resource "root" during crashes.
...
This change requires making a bunch of fundamental Clang structures (optionally) reference counted to allow correct
ownership semantics of these objects (e.g., ASTContext) to play out between an active ASTUnit and CompilerInstance
object.
llvm-svn: 128011
2011-03-21 18:40:17 +00:00
Ted Kremenek
0aaa67b1c2
Relax assertion to fail during crash recovery cleanup.
...
llvm-svn: 128010
2011-03-21 18:40:10 +00:00
Ted Kremenek
84de4a1781
Use CrashRecoveryContextCleanup objects to reclaim resources from CompilerInstance objects.
...
llvm-svn: 128009
2011-03-21 18:40:07 +00:00
Chris Lattner
04fe64f899
and now there are 3!
...
llvm-svn: 128001
2011-03-21 16:25:11 +00:00
Joerg Sonnenberger
fcc3ec90a5
Introduce FindTargetProgramPath to check for a target-specific helper
...
program and fallback to plain version otherwise. Use this for the NetBSD
target to make it try e.g. i486--netbsdelf-as and -ld for target
i486--netbsdelf.
llvm-svn: 127996
2011-03-21 14:01:40 +00:00
Joerg Sonnenberger
bc923f3f7d
Memorize presence/absence of -nostdlib in Driver.
...
Drop program paths on NetBSD (unused). Only include lib dir, if
-nostdlib is absent. Use = to allow --sysroot to work.
llvm-svn: 127995
2011-03-21 13:59:26 +00:00
Joerg Sonnenberger
6165ab1132
Remember sysroot in Driver. Pass it down to ld for NetBSD, FreeBSD
...
and DragonFly. Use the --sysroot= form for Linux. Fix handling of =
prefix for -B.
llvm-svn: 127994
2011-03-21 13:51:29 +00:00
Bill Wendling
a8da50d011
Pass in the TargetMachine parameter to the inst printer.
...
llvm-svn: 127987
2011-03-21 05:02:03 +00:00
Peter Collingbourne
e4c02400ad
Code modification hints have been known as fix-it hints for almost
...
a year now. Update the internals manual.
llvm-svn: 127983
2011-03-21 01:45:18 +00:00
David Chisnall
e1d2584d44
Fix Objective-C++ exceptions (GNU runtime).
...
llvm-svn: 127980
2011-03-20 21:35:39 +00:00
Anders Carlsson
6dc204de40
__cxa_atexit does not throw.
...
llvm-svn: 127977
2011-03-20 20:52:32 +00:00
Argyrios Kyrtzidis
e762020bb9
In clang_parseTranslationUnit_Impl,p ut the source file after command_line_args otherwise
...
if '-x' flag is present it will be unused.
llvm-svn: 127971
2011-03-20 18:17:52 +00:00
Peter Collingbourne
a85fc0a2f3
Only objects are declared const by a constexpr specifier, per C++0x [dcl.constexpr]p9
...
llvm-svn: 127967
2011-03-20 08:06:45 +00:00
Francois Pichet
13b4e68642
Downgrade err_mismatched_exception_spec to a ExtWarning in Microsoft mode. MSVC doesn't do any validation on exception specifications.
...
This remove 1 error when parsing MSVC stl lib with clang.
llvm-svn: 127961
2011-03-19 23:05:18 +00:00
Benjamin Kramer
f4ac9ffac1
Initialize FakeAddressSpaceMap flag.
...
llvm-svn: 127950
2011-03-19 13:04:25 +00:00
Anton Yartsev
acb43dbf9b
makes vec_step operator work when AltiVec support is enabled
...
llvm-svn: 127949
2011-03-19 07:53:43 +00:00
Daniel Dunbar
7594237964
Unbreak build.
...
llvm-svn: 127942
2011-03-19 02:06:21 +00:00
Ken Dyck
6d470d9398
Use CharUnits's new increment operator. No change in functionality intended.
...
llvm-svn: 127938
2011-03-19 01:28:06 +00:00
Ken Dyck
54d4d9fb19
Add pre- and post-increment/decrement operators to CharUnits.
...
llvm-svn: 127937
2011-03-19 01:25:59 +00:00
Daniel Dunbar
5366ff1865
Preprocessor: Don't define __STDC__ in -traditional-cpp mode.
...
llvm-svn: 127933
2011-03-19 01:04:12 +00:00
Ted Kremenek
a872326929
Recovery memory from TypeLocBuilders during crashes.
...
llvm-svn: 127932
2011-03-19 01:00:38 +00:00
Ted Kremenek
f75d089679
Recover memory from RecordLayoutBuilders during crashes.
...
llvm-svn: 127931
2011-03-19 01:00:36 +00:00
Ted Kremenek
ddc06d0bd0
Rename class 'CFGReachabilityAnalysis' to 'CFGReverseBlockReachabilityAnalysis'.
...
This rename serves two purposes:
- It reflects the actual functionality of this analysis.
- We will have more than one reachability analysis.
llvm-svn: 127930
2011-03-19 01:00:33 +00:00
Ken Dyck
0f2f30b241
Replace literal '8's with CharWidth in AppendBitField. No change in
...
functionality intended.
llvm-svn: 127927
2011-03-19 00:57:28 +00:00
Ted Kremenek
1ec7b33079
Add libclang hook 'clang_toggleCrashRecovery()', which provides a mechanism for a client to enable/disable CrashRecovery within libclang function calls.
...
llvm-svn: 127920
2011-03-18 23:05:39 +00:00
Ted Kremenek
21c7e6e298
Run all functional logic of clang_annotateTokens() within a CrashRecoveryContext. Fixes <rdar://problem/9121698>.
...
llvm-svn: 127919
2011-03-18 22:51:30 +00:00
Peter Collingbourne
599cb8e430
Add support for language-specific address spaces. On top of that,
...
add support for the OpenCL __private, __local, __constant and
__global address spaces, as well as the __read_only, _read_write and
__write_only image access specifiers. Patch originally by ARM;
language-specific address space support by myself.
llvm-svn: 127915
2011-03-18 22:38:29 +00:00
Ted Kremenek
d15609a582
Remove '-Xclang' and '-mllvm' entries from Clang man page. The later is only available in debug builds and the former is not supposed to be used by end-users.
...
llvm-svn: 127914
2011-03-18 22:11:40 +00:00
Daniel Dunbar
8c3d735118
Driver: Forward -traditional and -traditional-cpp in preprocessing modes.
...
- We don't really support the majority of the horrible -traditional-cpp
behavior, but it is unlikely that we ever will either. This allows us to
start trying to use clang as a /usr/bin/cpp replacement and see what pieces
of -traditional-cpp mode people actually care about.
llvm-svn: 127911
2011-03-18 21:23:40 +00:00
Daniel Dunbar
1057f86d0e
Lexer: Add extremely limited support for -traditional-cpp, ignoring BCPL
...
comments.
llvm-svn: 127910
2011-03-18 21:23:38 +00:00
Daniel Dunbar
151a372113
Driver/Darwin: Transparently fallback when compiling i386 -fapple-kext code, we
...
don't support the ABI yet.
llvm-svn: 127903
2011-03-18 20:14:03 +00:00
Daniel Dunbar
1e1c3ca51c
Driver: Give SelectTool access to the action inputs.
...
llvm-svn: 127902
2011-03-18 20:14:00 +00:00