Commit Graph

24502 Commits

Author SHA1 Message Date
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