Chris Lattner
278008f546
fix some undefined behavior, PR7779.
...
llvm-svn: 110116
2010-08-03 16:48:42 +00:00
Daniel Dunbar
939c1211cc
Driver: Don't forward any -g options to GCC, when using it to drive the
...
assembler.
- Fixes PR6218, hopefully.
llvm-svn: 110111
2010-08-03 16:14:14 +00:00
Douglas Gregor
48c8cd3fd0
Reshuffle the PCH generator action and consumer, so that we can re-use
...
it while generating precompiled preambles. No functionality change.
llvm-svn: 110108
2010-08-03 08:14:03 +00:00
John McCall
5696d6d316
Emit weak vtables of non-template classes with hidden visibility.
...
llvm-svn: 110107
2010-08-03 07:24:12 +00:00
Zhongxing Xu
42b8c30de6
Allow offsets to be negative. Out-of-bound cases are checked elsewhere. We
...
shouldn't put restrictions in store manager.
llvm-svn: 110106
2010-08-03 06:34:25 +00:00
Zhongxing Xu
83734e46ce
Pull the region offset computation logic into a single method.
...
llvm-svn: 110102
2010-08-03 04:52:05 +00:00
Bruno Cardoso Lopes
1f927ccaa2
Support x86 AVX 256-bit instructions built-ins. Right now support all of them, but
...
as soon as we properly codegen the simple vector operations, remove the
unnecessary built-ins/intrinsics from clang and llvm. Also add tests for the new
built-ins
llvm-svn: 110096
2010-08-03 01:57:18 +00:00
Tom Care
44081fbc6c
Changed GRExprEngine to pass down a reference to itself when checkers are doing postanalysis. This allows the checker to gather information about the state of the engine when it has finished.
...
- Exposed the worklist and BlockAborted flag in GRCoreEngine
- Changed postanalysis checkers to use the new infrastructure
llvm-svn: 110095
2010-08-03 01:55:07 +00:00
Ted Kremenek
4a2b237967
Add -cc1 option '-unoptimized-cfg' to toggle using a CFG (for static analysis) that doesn't prune CFG edges.
...
llvm-svn: 110087
2010-08-03 00:09:51 +00:00
Ted Kremenek
dc03bd0894
Add 'AnalysisContext::getUnoptimizedCFG()' to allow clients to get access to the original
...
CFG without any edges pruned out because of trivially solvable conditions (e.g., 'if (0)').
llvm-svn: 110085
2010-08-02 23:46:59 +00:00
John McCall
4a33fa95c0
Labels (and case statement) don't create independent scope parents for the
...
purposes of the jump checker. Also extend Ted's iteration fix to labels.
Fixes PR7789.
llvm-svn: 110082
2010-08-02 23:33:14 +00:00
Sebastian Redl
75d8a32817
Simplify global method pool implementation in Sema. No functionality change.
...
llvm-svn: 110078
2010-08-02 23:18:59 +00:00
Ted Kremenek
04d50f5d13
Fix another case (this time in JumpScopeChecker) where walking deeply nested CaseStmts can blow out the stack. Fixes <rdar://problem/8125165>.
...
llvm-svn: 110071
2010-08-02 22:46:57 +00:00
Ted Kremenek
297e2e5bf6
Fix idempotent operations false positive caused by ivars not being invalidated in function
...
calls when the enclosing object had retain/release state. Fixes <rdar://problem/8261992>.
llvm-svn: 110068
2010-08-02 21:59:12 +00:00
John McCall
8b0f4ff317
Further adjustments to -Wglobal-constructors; works for references and direct
...
initializations now.
llvm-svn: 110063
2010-08-02 21:13:48 +00:00
Douglas Gregor
b1cf1ca19a
Add Darwin dylib versioning support to libclang when build with CMake.
...
llvm-svn: 110062
2010-08-02 20:52:32 +00:00
Douglas Gregor
d9a30af25b
When using a precompiled preamble, save the diagnostics produced when
...
creating the preamble and "replay" them when reusing the
preamble. Also, fix a thinko in the copying of the preamble when
building the precompiled preamble.
llvm-svn: 110061
2010-08-02 20:51:39 +00:00
Ted Kremenek
8a4a2b14e8
'Assumption &A' gets default initialized to 'Possible' if it doesn't exist; no need to two
...
lookups in the hashtable.
llvm-svn: 110059
2010-08-02 20:33:02 +00:00
Ted Kremenek
4b83f753a1
Add test case for <rdar://problem/8258814>.
...
llvm-svn: 110058
2010-08-02 20:33:00 +00:00
Sebastian Redl
78f5177d37
Query only the latest version of an identifier in the PCH chain. Make sure this version holds the entire declaration chain. This is a much saner solution than trying to merge the info from all elements, and makes redeclarations work properly. Expand the declarations test case to cover more compliated cases.
...
llvm-svn: 110052
2010-08-02 18:30:12 +00:00
Sebastian Redl
9d8854ec60
Remove mutable data on TagType and InjectedClassNameType, by instead walking the declaration chain in search of a definition. This is necessary for a sane chained PCH implementation. No observable performance change on Carbon.h syntax-only, and bootstraps cleanly.
...
llvm-svn: 110051
2010-08-02 18:27:05 +00:00
Fariborz Jahanian
9c6a39e862
Compute width/align of objc builtin types (id, etc)
...
for radar 8258797.
llvm-svn: 110047
2010-08-02 18:03:20 +00:00
Daniel Dunbar
1b8842d981
Update UsersManual, we support '#pragma align' now.
...
llvm-svn: 110040
2010-08-02 15:36:37 +00:00
Daniel Dunbar
2be96746b4
Frontend: Change PluginASTAction::ParseArgs to take a CompilerInstance object
...
for use in reporting diagnostics.
- We don't want to use the Action's own CompilerInstance, because that is only
initialized during file processing and I like that invariant.
Also, if ParseArgs returns false then abandon execution.
Also, remove unused PluginASTAction::PrintHelp virtual method.
llvm-svn: 110039
2010-08-02 15:31:28 +00:00
Argyrios Kyrtzidis
cd948c1df5
You actually have to include a header in order to use a symbol, it's so 90s..
...
llvm-svn: 110034
2010-08-02 07:46:27 +00:00
Argyrios Kyrtzidis
ea247181ab
Use llvm_unreachable.
...
llvm-svn: 110033
2010-08-02 07:31:21 +00:00
Argyrios Kyrtzidis
d46687f200
Shut up warnings in Release build.
...
llvm-svn: 110032
2010-08-02 07:24:29 +00:00
Argyrios Kyrtzidis
2d68810caf
Read/write in PCH Sema's StdNamespace and StdBadAlloc and use a LazyDeclPtr for them that will deserialize them when needed.
...
llvm-svn: 110031
2010-08-02 07:14:54 +00:00
Argyrios Kyrtzidis
4f8e17379d
Rename getStdNamespace -> getOrCreateStdNamespace, to better reflect its functionality.
...
No functionality change.
llvm-svn: 110030
2010-08-02 07:14:39 +00:00
Daniel Dunbar
71c723da29
Driver/Darwin: Change where Darwin computes the host version, to normalize tool
...
chain construction.
llvm-svn: 110028
2010-08-02 05:44:07 +00:00
Daniel Dunbar
a73a9845e2
Driver: Have -ccc-host-triple simply override the default in the driver, for
...
now.
llvm-svn: 110027
2010-08-02 05:44:04 +00:00
Daniel Dunbar
3ae26dfc91
Driver/Darwin: Inline some constants.
...
llvm-svn: 110026
2010-08-02 05:44:01 +00:00
Daniel Dunbar
a18a487633
Driver/FreeBSD: Change how FreeBSD derives the Lib32 variable, to normalize tool
...
chain construction.
llvm-svn: 110025
2010-08-02 05:43:59 +00:00
Daniel Dunbar
cc7df6cc7b
Driver: Move HostInfo::lookupTypeForExtension to ToolChain::LookupTypeForExtension.
...
llvm-svn: 110024
2010-08-02 05:43:56 +00:00
Daniel Dunbar
a36c2b3a62
Driver: Give Build{Universal,}Actions access to the default host tool chain. I
...
avoided this originally to enforce that the driver actions aren't toolchain
dependent, but it isn't worth the cumbersone additional hostinfo split.
llvm-svn: 110023
2010-08-02 05:43:51 +00:00
Zhongxing Xu
fd91d27630
Improve flat store: MemRegion::getAsOffset() computes a region's offset within
...
the top-level object. FlatStore now can bind and retrieve element and field
regions.
PR7297 is fixed by flat store.
llvm-svn: 110020
2010-08-02 04:56:14 +00:00
Daniel Dunbar
7fbaf53470
Driver: Add Compilation::addCommand and switch tools to using it, now that we
...
don't have to deal with nested jobs.
llvm-svn: 110015
2010-08-02 02:38:28 +00:00
Daniel Dunbar
b785d74080
Driver: Eliminate PipedJob, which is now unused.
...
llvm-svn: 110014
2010-08-02 02:38:25 +00:00
Daniel Dunbar
b440f56e53
Driver: Eliminate special InputInfo kind for pipes, it is now unused.
...
llvm-svn: 110013
2010-08-02 02:38:21 +00:00
Daniel Dunbar
bffefc015e
Driver: Eliminate now unnecessary tool hooks for whether they accept piped input/output.
...
llvm-svn: 110012
2010-08-02 02:38:18 +00:00
Daniel Dunbar
d00272f6d6
Driver: Simplify.
...
llvm-svn: 110011
2010-08-02 02:38:15 +00:00
Daniel Dunbar
c12a412cb6
Driver: Eliminate now unused argument.
...
llvm-svn: 110010
2010-08-02 02:38:12 +00:00
Daniel Dunbar
89f791e2c2
Driver: Simplify logic for sending 'clang -E t.c' output to stdout.
...
llvm-svn: 110009
2010-08-02 02:38:08 +00:00
Daniel Dunbar
a7dd15888b
Driver: Never try to use piped inputs.
...
llvm-svn: 110008
2010-08-02 02:38:06 +00:00
Daniel Dunbar
926f81fce5
Driver: Start ripping out support for -pipe, which is worthless and complicates
...
too many other things.
llvm-svn: 110007
2010-08-02 02:38:03 +00:00
Daniel Dunbar
ea3813fbc9
Driver/OpenBSD: Update toolchain for compiler changes / C++; patch by Jonathan
...
Gray.
llvm-svn: 109994
2010-08-01 23:13:54 +00:00
Daniel Dunbar
88979914d7
Driver: Keep track of a separate "install dir", which is the path where clang
...
was invoked from (which may not be where the executable itself is).
- This allows having e.g., /Developer/usr/bin/clang be a symlink to some other
location, while still making sure the Driver finds 'as', 'ld', etc. relative
to itself.
llvm-svn: 109989
2010-08-01 22:29:51 +00:00
Daniel Dunbar
5863fa5215
Simplify.
...
llvm-svn: 109988
2010-08-01 22:29:47 +00:00
Eli Friedman
60307d2072
PR7777: Set EnabledByDefault to something useful, instead of setting it
...
randomly. This makes us consistently show "-pedantic" as the warning option
for a warning where appropriate.
llvm-svn: 109987
2010-08-01 22:13:15 +00:00
John McCall
81c9cea24b
Kill off RequiresGlobalConstructor in favor of isConstantInitializer.
...
Note some obvious false positives in the test case.
llvm-svn: 109986
2010-08-01 21:51:45 +00:00