]> granicus.if.org Git - clang/log
clang
15 years agoDriver: Bug fix, derived .gch names sometimes started with "/".
Daniel Dunbar [Wed, 18 Mar 2009 09:58:30 +0000 (09:58 +0000)]
Driver: Bug fix, derived .gch names sometimes started with "/".

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

15 years agoccc: Pass --relocation-model as separate arguments (to match Driver).
Daniel Dunbar [Wed, 18 Mar 2009 09:36:19 +0000 (09:36 +0000)]
ccc: Pass --relocation-model as separate arguments (to match Driver).

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

15 years agoDriver: Add argument translation utilities to ArgList.
Daniel Dunbar [Wed, 18 Mar 2009 09:29:36 +0000 (09:29 +0000)]
Driver: Add argument translation utilities to ArgList.
 - Support things like telling which -ffoo -fno-foo option won, and
   forwarding all arguments matching a certain set of options to the
   tool.

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

15 years agoDriver: Lift out common GCC tool and implement generic GCC tool
Daniel Dunbar [Wed, 18 Mar 2009 08:07:30 +0000 (08:07 +0000)]
Driver: Lift out common GCC tool and implement generic GCC tool
argument translation.

Also, stub out clang tool implementation a bit more.

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

15 years agoDriver: Forgot to mark -### as a driver option.
Daniel Dunbar [Wed, 18 Mar 2009 08:03:24 +0000 (08:03 +0000)]
Driver: Forgot to mark -### as a driver option.

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

15 years agoDriver: Add assert and FIXME; arguments which act as linker inputs
Daniel Dunbar [Wed, 18 Mar 2009 08:02:40 +0000 (08:02 +0000)]
Driver: Add assert and FIXME; arguments which act as linker inputs
(e.g., -filelist) are currently broken.

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

15 years agoDriver: Provide Arg::render implementations.
Daniel Dunbar [Wed, 18 Mar 2009 08:01:48 +0000 (08:01 +0000)]
Driver: Provide Arg::render implementations.

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

15 years agoDriver: Add "d" flag to Options.def for options which are completely
Daniel Dunbar [Wed, 18 Mar 2009 08:01:15 +0000 (08:01 +0000)]
Driver: Add "d" flag to Options.def for options which are completely
handled by driver.
 - This is not very precise, we use it to drive the "forward-to-gcc"
   predicate, when trying to talk to a generic gcc tool.

 - Slightly better than what ccc was doing, and should be good
   enough. Platforms which want a robust driver should implement a
   proper tool chain.

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

15 years agoDriver: ConstructJob also needs to know the destination (where to put
Daniel Dunbar [Wed, 18 Mar 2009 07:06:02 +0000 (07:06 +0000)]
Driver: ConstructJob also needs to know the destination (where to put
its commands).

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

15 years agoDriver: Print version on stderr to match [gc]cc.
Daniel Dunbar [Wed, 18 Mar 2009 06:51:03 +0000 (06:51 +0000)]
Driver: Print version on stderr to match [gc]cc.

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

15 years agoDriver: Implement -### (hard to tell, since we don't actually
Daniel Dunbar [Wed, 18 Mar 2009 06:49:39 +0000 (06:49 +0000)]
Driver: Implement -### (hard to tell, since we don't actually
construct any jobs).

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

15 years agoDriver: Add forwarding methods to underlying list for PipedJob and
Daniel Dunbar [Wed, 18 Mar 2009 06:48:39 +0000 (06:48 +0000)]
Driver: Add forwarding methods to underlying list for PipedJob and
JobList.

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

15 years agoDriver: Claim inputs when we bind the InputAction.
Daniel Dunbar [Wed, 18 Mar 2009 06:21:12 +0000 (06:21 +0000)]
Driver: Claim inputs when we bind the InputAction.

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

15 years agoDriver: Make Arg::Claimed mutable.
Daniel Dunbar [Wed, 18 Mar 2009 06:20:32 +0000 (06:20 +0000)]
Driver: Make Arg::Claimed mutable.
 - This is unfortunate but necessary to retain any utility for const.

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

15 years agoDriver: Rename Command::Argv to Command::Arguments to make it clearer
Daniel Dunbar [Wed, 18 Mar 2009 06:13:37 +0000 (06:13 +0000)]
Driver: Rename Command::Argv to Command::Arguments to make it clearer
that this does not include the implicit first argument (the executable
name).

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

15 years agoDriver: Don't claim inputs when pipelining, a tool should eventually
Daniel Dunbar [Wed, 18 Mar 2009 06:09:38 +0000 (06:09 +0000)]
Driver: Don't claim inputs when pipelining, a tool should eventually
claim these.

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

15 years agoDriver: Add a dash of const.
Daniel Dunbar [Wed, 18 Mar 2009 06:07:59 +0000 (06:07 +0000)]
Driver: Add a dash of const.

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

15 years agoDriver: Stub out Tool::ConstructJob.
Daniel Dunbar [Wed, 18 Mar 2009 06:00:36 +0000 (06:00 +0000)]
Driver: Stub out Tool::ConstructJob.

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

15 years agoAdd 'make cscope.files' top level target.
Daniel Dunbar [Wed, 18 Mar 2009 05:59:14 +0000 (05:59 +0000)]
Add 'make cscope.files' top level target.

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

15 years agoDriver: Fix Compilation::getArgsForToolChain, local variable was
Daniel Dunbar [Wed, 18 Mar 2009 05:58:45 +0000 (05:58 +0000)]
Driver: Fix Compilation::getArgsForToolChain, local variable was
shadowing member.

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

15 years agoDriver: Add two normalizations for powerpc.
Daniel Dunbar [Wed, 18 Mar 2009 04:41:46 +0000 (04:41 +0000)]
Driver: Add two normalizations for powerpc.
 - PR3830

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

15 years agofix PR3809, codegen for inc/dec of function pointers.
Chris Lattner [Wed, 18 Mar 2009 04:25:13 +0000 (04:25 +0000)]
fix PR3809, codegen for inc/dec of function pointers.

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

15 years agoteach codegen to handle noop casts as lvalues.
Chris Lattner [Wed, 18 Mar 2009 04:02:57 +0000 (04:02 +0000)]
teach codegen to handle noop casts as lvalues.

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

15 years agoFix -E mismatch; an identifier followed by a numeric constant does not
Daniel Dunbar [Wed, 18 Mar 2009 03:32:24 +0000 (03:32 +0000)]
Fix -E mismatch; an identifier followed by a numeric constant does not
require a space (to avoid concatenation) if the numeric constant had a
leading period.
 - PR3819.

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

15 years agoDriver: Ditch Driver::DefaultToolChain, this can vary between compilations.
Daniel Dunbar [Wed, 18 Mar 2009 03:13:20 +0000 (03:13 +0000)]
Driver: Ditch Driver::DefaultToolChain, this can vary between compilations.

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

15 years agoDriver: I was too hasty in free'ing Actions, we sometimes share
Daniel Dunbar [Wed, 18 Mar 2009 03:02:22 +0000 (03:02 +0000)]
Driver: I was too hasty in free'ing Actions, we sometimes share
Actions so a simple tree traversal isn't quite good enough. Leaving a
FIXME for now.

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

15 years agoDriver: Initialize Arg::Claimed
Daniel Dunbar [Wed, 18 Mar 2009 02:57:50 +0000 (02:57 +0000)]
Driver: Initialize Arg::Claimed

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

15 years agoDriver: Err, didn't mean to commit this part yet.
Daniel Dunbar [Wed, 18 Mar 2009 02:56:39 +0000 (02:56 +0000)]
Driver: Err, didn't mean to commit this part yet.

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

15 years agoDriver: Move actions into Compilation, and construct the compilation
Daniel Dunbar [Wed, 18 Mar 2009 02:55:38 +0000 (02:55 +0000)]
Driver: Move actions into Compilation, and construct the compilation
earlier.

 - This gives us a simple ownership model, and allows clients access
   to more information should they ever want it.

 - We now free Actions correctly.

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

15 years agoDriver: Use custom diag printer to drop dependency on libFrontend and
Daniel Dunbar [Wed, 18 Mar 2009 02:11:26 +0000 (02:11 +0000)]
Driver: Use custom diag printer to drop dependency on libFrontend and
libLex.

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

15 years agoadd test case.
Zhongxing Xu [Wed, 18 Mar 2009 02:07:30 +0000 (02:07 +0000)]
add test case.

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

15 years agoDriver: Add test for binding of precompile; exposed bug due to my
Daniel Dunbar [Wed, 18 Mar 2009 02:00:31 +0000 (02:00 +0000)]
Driver: Add test for binding of precompile; exposed bug due to my
flawed idea that llvm::sys::Path::getBasename was a version of
basename().

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

15 years agoUse a work list to recursively build up the subregion mapping, and mark live
Zhongxing Xu [Wed, 18 Mar 2009 01:54:31 +0000 (01:54 +0000)]
Use a work list to recursively build up the subregion mapping, and mark live
var region roots.

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

15 years agoDriver: Implement JoinedAndSeparateArg::getValue and add parsing test
Daniel Dunbar [Wed, 18 Mar 2009 01:48:37 +0000 (01:48 +0000)]
Driver: Implement JoinedAndSeparateArg::getValue and add parsing test
case.

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

15 years agoDriver: UnknownHostInfo was always returning 0.
Daniel Dunbar [Wed, 18 Mar 2009 01:39:08 +0000 (01:39 +0000)]
Driver: UnknownHostInfo was always returning 0.

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

15 years agoDriver: Use PrettyStackTrace.
Daniel Dunbar [Wed, 18 Mar 2009 01:38:48 +0000 (01:38 +0000)]
Driver: Use PrettyStackTrace.

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

15 years agocleanup instantiation code, tighten testcase
Gabor Greif [Wed, 18 Mar 2009 01:16:08 +0000 (01:16 +0000)]
cleanup instantiation code, tighten testcase

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

15 years agoFix failing test case.
Anders Carlsson [Wed, 18 Mar 2009 01:10:22 +0000 (01:10 +0000)]
Fix failing test case.

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

15 years agoDriver: Release Host, ToolChain, and Tool implementations.
Daniel Dunbar [Wed, 18 Mar 2009 01:09:40 +0000 (01:09 +0000)]
Driver: Release Host, ToolChain, and Tool implementations.

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

15 years agoinstantiate ?: expressions
Gabor Greif [Wed, 18 Mar 2009 00:55:04 +0000 (00:55 +0000)]
instantiate ?: expressions

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

15 years agoThe scope representation can now be either a DeclContext pointer or a
Douglas Gregor [Wed, 18 Mar 2009 00:36:05 +0000 (00:36 +0000)]
The scope representation can now be either a DeclContext pointer or a
Type pointer. This allows our nested-name-specifiers to retain more
information about the actual spelling (e.g., which typedef did the
user name, or what exact template arguments were used in the
template-id?). It will also allow us to have dependent
nested-name-specifiers that don't map to any DeclContext.

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

15 years agoDriver: Add test case for -ccc-clang-archs (which, it turns out, was
Daniel Dunbar [Wed, 18 Mar 2009 00:12:31 +0000 (00:12 +0000)]
Driver: Add test case for -ccc-clang-archs (which, it turns out, was
inverted).

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

15 years agoSmall sanity-checking testcase
Douglas Gregor [Tue, 17 Mar 2009 23:49:44 +0000 (23:49 +0000)]
Small sanity-checking testcase

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

15 years agoDriver: Add test case for various parts of binding (no-integrated-cpp,
Daniel Dunbar [Tue, 17 Mar 2009 23:39:24 +0000 (23:39 +0000)]
Driver: Add test case for various parts of binding (no-integrated-cpp,
-ccc-no-clang, -ccc-no-clang-cxx, -ccc-no-clang-cpp, -fsyntax-only).

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

15 years agoTest had extra line which was masking actual failures.
Daniel Dunbar [Tue, 17 Mar 2009 23:30:47 +0000 (23:30 +0000)]
Test had extra line which was masking actual failures.

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

15 years agoDriver: Add test for pipelining for analyzer and precompiler.
Daniel Dunbar [Tue, 17 Mar 2009 23:26:35 +0000 (23:26 +0000)]
Driver: Add test for pipelining for analyzer and precompiler.

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

15 years agopull a nested conditional + comment out into its own variable,
Chris Lattner [Tue, 17 Mar 2009 23:17:04 +0000 (23:17 +0000)]
pull a nested conditional + comment out into its own variable,
no functionality change.

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

15 years agodon't crash when sentinel attribute is used on function without a prototype,
Chris Lattner [Tue, 17 Mar 2009 23:03:47 +0000 (23:03 +0000)]
don't crash when sentinel attribute is used on function without a prototype,
discovered as part of PR3817

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

15 years agoFix Type::getDesugaredType() to remove all direct sugar on
Chris Lattner [Tue, 17 Mar 2009 22:51:02 +0000 (22:51 +0000)]
Fix Type::getDesugaredType() to remove all direct sugar on
a type.  For example, if we have a typedef of a typeof of
int, we strip all the say down to int.  This allows us to
simplify the getAs* methods, and is the first step towards
fixing PR3817

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

15 years agoDriver: Add -ccc-print-bindings option (for testing); the Python
Daniel Dunbar [Tue, 17 Mar 2009 22:47:06 +0000 (22:47 +0000)]
Driver: Add -ccc-print-bindings option (for testing); the Python
driver has no corresponding option.

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

15 years agoDriver: Add name to Tool (for testing/debugging) and move GCC_* tools
Daniel Dunbar [Tue, 17 Mar 2009 22:45:24 +0000 (22:45 +0000)]
Driver: Add name to Tool (for testing/debugging) and move GCC_* tools
into gcc:: namespace.

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

15 years agoStub out some code for support for NSDeallocateObject. This is enabled yet until
Ted Kremenek [Tue, 17 Mar 2009 22:43:44 +0000 (22:43 +0000)]
Stub out some code for support for NSDeallocateObject. This is enabled yet until
we resolve the semantics of this function when GC is enabled.

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

15 years agoGCC 4.0 isn't happy with VISIBILITY_HIDDEN on a namespace.
Chris Lattner [Tue, 17 Mar 2009 22:24:01 +0000 (22:24 +0000)]
GCC 4.0 isn't happy with VISIBILITY_HIDDEN on a namespace.

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

15 years agoDriver: GCC 4.0 isn't happy with VISIBILITY_HIDDEN on a namespace.
Daniel Dunbar [Tue, 17 Mar 2009 22:18:43 +0000 (22:18 +0000)]
Driver: GCC 4.0 isn't happy with VISIBILITY_HIDDEN on a namespace.

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

15 years agoDriver: Stub out generic GCC tool selection (missed a file)
Daniel Dunbar [Tue, 17 Mar 2009 22:07:58 +0000 (22:07 +0000)]
Driver: Stub out generic GCC tool selection (missed a file)

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

15 years agoDriver: Stub out generic GCC tool selection.
Daniel Dunbar [Tue, 17 Mar 2009 22:07:31 +0000 (22:07 +0000)]
Driver: Stub out generic GCC tool selection.

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

15 years agoDriver: Stub out generic GCC tool chain implementation.
Daniel Dunbar [Tue, 17 Mar 2009 21:38:00 +0000 (21:38 +0000)]
Driver: Stub out generic GCC tool chain implementation.

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

15 years agoDriver: Make sure to get the default arch name from the tool chain, not the
Daniel Dunbar [Tue, 17 Mar 2009 21:29:52 +0000 (21:29 +0000)]
Driver: Make sure to get the default arch name from the tool chain, not the
host; the toolchain may differ based on command line arguments.

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

15 years agoDriver: Pass HostInfo reference into ToolChain.
Daniel Dunbar [Tue, 17 Mar 2009 21:21:26 +0000 (21:21 +0000)]
Driver: Pass HostInfo reference into ToolChain.

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

15 years agoRefactor instantiation of declarations within a template into a much
Douglas Gregor [Tue, 17 Mar 2009 21:15:40 +0000 (21:15 +0000)]
Refactor instantiation of declarations within a template into a much
cleaner visitor framework.

Added a visitor for declarations, which is quite similar to the
visitor for statatements.

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

15 years agoDriver: Pass Driver reference down into Host info, which will need it
Daniel Dunbar [Tue, 17 Mar 2009 20:45:45 +0000 (20:45 +0000)]
Driver: Pass Driver reference down into Host info, which will need it
to pass to ToolChains, which may need Driver specific information (for
example, to form search paths).

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

15 years agoDriver: Fix typo ArgList destructor.
Daniel Dunbar [Tue, 17 Mar 2009 20:44:29 +0000 (20:44 +0000)]
Driver: Fix typo ArgList destructor.

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

15 years agoretain/release checker: Add support for reasoning about -dealloc.
Ted Kremenek [Tue, 17 Mar 2009 19:42:23 +0000 (19:42 +0000)]
retain/release checker: Add support for reasoning about -dealloc.

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

15 years agoImplement instantiation of enums within class templates. This isn't
Douglas Gregor [Tue, 17 Mar 2009 19:05:46 +0000 (19:05 +0000)]
Implement instantiation of enums within class templates. This isn't
quite as great as it sounds, because, while we can refer to the
enumerator values outside the template, e.g.,

  adder<long, 3, 4>::value

we can't yet refer to them with dependent names, so no Fibonacci
(yet).

InstantiateClassTemplateSpecialization is getting messy; next commit
will put it into a less-ugly state.

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

15 years agoDriver: Hide HostInfo implementations.
Daniel Dunbar [Tue, 17 Mar 2009 19:00:50 +0000 (19:00 +0000)]
Driver: Hide HostInfo implementations.
 - Also, normalize arch names a tad and stub out getToolChain
   implementations.

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

15 years agoDriver: Add two option form of ArgList::getLastArg.
Daniel Dunbar [Tue, 17 Mar 2009 18:51:42 +0000 (18:51 +0000)]
Driver: Add two option form of ArgList::getLastArg.

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

15 years agoDriver: Add logic for computing where to put job outputs (pipe,
Daniel Dunbar [Tue, 17 Mar 2009 17:53:55 +0000 (17:53 +0000)]
Driver: Add logic for computing where to put job outputs (pipe,
temporary file, user provided name, derived name).

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

15 years agoDriver: Add list of temporary and result files to Compilation.
Daniel Dunbar [Tue, 17 Mar 2009 17:51:56 +0000 (17:51 +0000)]
Driver: Add list of temporary and result files to Compilation.

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

15 years agoAdd ArgList::MakeArgString and make ArgList::Make* const.
Daniel Dunbar [Tue, 17 Mar 2009 17:51:18 +0000 (17:51 +0000)]
Add ArgList::MakeArgString and make ArgList::Make* const.
 - Slightly strange, but the idea is that the ArgList data structure
   is primarily a list of arguments; we want to allow clients to still
   add argument strings to an ArgList to avoid worrying about string
   lifetimes (or unnecessary string copying).

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

15 years agotypo
Gabor Greif [Tue, 17 Mar 2009 11:39:38 +0000 (11:39 +0000)]
typo

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

15 years agoInitialize the cleanup.dst variable if necessary. Fixes PR3789.
Anders Carlsson [Tue, 17 Mar 2009 05:53:35 +0000 (05:53 +0000)]
Initialize the cleanup.dst variable if necessary. Fixes PR3789.

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

15 years agoWe want to grep the output, not the input :-)
Anders Carlsson [Tue, 17 Mar 2009 05:49:13 +0000 (05:49 +0000)]
We want to grep the output, not the input :-)

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

15 years agoFix unused variable warning in -Asserts mode.
Daniel Dunbar [Tue, 17 Mar 2009 04:12:06 +0000 (04:12 +0000)]
Fix unused variable warning in -Asserts mode.

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

15 years agoHandle ImplicitCastExprs when instantiating templates.
Anders Carlsson [Tue, 17 Mar 2009 00:28:02 +0000 (00:28 +0000)]
Handle ImplicitCastExprs when instantiating templates.

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

15 years agoFix struct field's debug info.
Devang Patel [Mon, 16 Mar 2009 23:47:53 +0000 (23:47 +0000)]
Fix struct field's debug info.

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

15 years agoFix a problem noticed by Anders, where we were creating
Douglas Gregor [Mon, 16 Mar 2009 23:35:25 +0000 (23:35 +0000)]
Fix a problem noticed by Anders, where we were creating
IntegerLiterals during instantiation when we should be creating either
a boolean literal (CXXBoolLiteralExpr) or a character literal
(CharacterLiteral).

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

15 years agoAlmost complete implementation of rvalue references. One bug, and a few unclear areas...
Sebastian Redl [Mon, 16 Mar 2009 23:22:08 +0000 (23:22 +0000)]
Almost complete implementation of rvalue references. One bug, and a few unclear areas. Maybe Doug can shed some light on some of the fixmes.

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

15 years agoBuild system changes to use TableGen to generate the various
Douglas Gregor [Mon, 16 Mar 2009 23:06:59 +0000 (23:06 +0000)]
Build system changes to use TableGen to generate the various
diagnostics. This builds on the patch that Sebastian committed and
then revert. Major differences are:

  - We don't remove or use the current ".def" files. Instead, for now,
    we just make sure that we're building the ".inc" files.
  - Fixed CMake makefiles to run TableGen and build the ".inc" files
    when needed. Tested with both the Xcode and Makefile generators
    provided by CMake, so it should be solid.
  - Fixed normal makefiles to handle out-of-source builds that involve
    the ".inc" files.

I'll send a separate patch to the list with Sebastian's changes that
eliminate the use of the .def files.

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

15 years agosome updates, Daniel points out that this is woefully out of date.
Chris Lattner [Mon, 16 Mar 2009 20:06:22 +0000 (20:06 +0000)]
some updates, Daniel points out that this is woefully out of date.

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

15 years agosimplify this code by reading the decision from LangOptions instead
Chris Lattner [Mon, 16 Mar 2009 18:41:18 +0000 (18:41 +0000)]
simplify this code by reading the decision from LangOptions instead
of recomputing the property from command line options.

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

15 years agoCheck signedness of bitfield sizes.
Anders Carlsson [Mon, 16 Mar 2009 18:19:21 +0000 (18:19 +0000)]
Check signedness of bitfield sizes.

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

15 years agoWe support static_assert.
Anders Carlsson [Mon, 16 Mar 2009 17:28:26 +0000 (17:28 +0000)]
We support static_assert.

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

15 years agoDriver: Implement majority tool binding logic.
Daniel Dunbar [Mon, 16 Mar 2009 06:56:51 +0000 (06:56 +0000)]
Driver: Implement majority tool binding logic.
 - Still need code for determining proper output location.

 - Doesn't work yet, of course, as the host isn't providing real
   tool chains.

 - Interface still has a few warts, but has gotten a nice bit of
   polish during the rewrite.

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

15 years agoDriver: Migrate some data into the Compilation; after pipelining
Daniel Dunbar [Mon, 16 Mar 2009 06:42:30 +0000 (06:42 +0000)]
Driver: Migrate some data into the Compilation; after pipelining
access to most data should go through the current Compilation, not the
Driver (which shouldn't be specialized on variables for a single
compilation).

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

15 years agoDriver: Sketch Tool and ToolChain classes.
Daniel Dunbar [Mon, 16 Mar 2009 05:25:36 +0000 (05:25 +0000)]
Driver: Sketch Tool and ToolChain classes.

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

15 years agoDriver: Include Casting header definitions in a few places, add
Daniel Dunbar [Mon, 16 Mar 2009 05:17:44 +0000 (05:17 +0000)]
Driver: Include Casting header definitions in a few places, add
Action::getInputs.

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

15 years agoParser support for rvalue references.
Sebastian Redl [Sun, 15 Mar 2009 22:02:01 +0000 (22:02 +0000)]
Parser support for rvalue references.

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

15 years ago(Hopefully) instantiate dependent array types correctly.
Anders Carlsson [Sun, 15 Mar 2009 20:12:13 +0000 (20:12 +0000)]
(Hopefully) instantiate dependent array types correctly.

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

15 years agoHandle static_asserts when instantiating structs.
Anders Carlsson [Sun, 15 Mar 2009 18:44:04 +0000 (18:44 +0000)]
Handle static_asserts when instantiating structs.

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

15 years agoAdd the ability to clone integer and string literals. Use it when instantiating templ...
Anders Carlsson [Sun, 15 Mar 2009 18:34:13 +0000 (18:34 +0000)]
Add the ability to clone integer and string literals. Use it when instantiating template expressions.

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

15 years agoConvert a bunch of actions to smart pointers, and also bring PrintParserCallbacks...
Sebastian Redl [Sun, 15 Mar 2009 17:47:39 +0000 (17:47 +0000)]
Convert a bunch of actions to smart pointers, and also bring PrintParserCallbacks a bit more in line with reality.

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

15 years agoFix bitfield-instantiation ownership bug noticed by Anders
Douglas Gregor [Sun, 15 Mar 2009 17:43:26 +0000 (17:43 +0000)]
Fix bitfield-instantiation ownership bug noticed by Anders

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

15 years agoMake sure to release the expressions.
Anders Carlsson [Sun, 15 Mar 2009 17:35:16 +0000 (17:35 +0000)]
Make sure to release the expressions.

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

15 years agoKeep diagnostic td in sync with r67015.
Sebastian Redl [Sun, 15 Mar 2009 10:42:31 +0000 (10:42 +0000)]
Keep diagnostic td in sync with r67015.

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

15 years agoAdd note on theoretical IRgen improvement.
Daniel Dunbar [Sun, 15 Mar 2009 06:39:56 +0000 (06:39 +0000)]
Add note on theoretical IRgen improvement.

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

15 years agoRemove a FIXME.
Daniel Dunbar [Sun, 15 Mar 2009 06:05:20 +0000 (06:05 +0000)]
Remove a FIXME.

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

15 years agoFix comment typo.
Daniel Dunbar [Sun, 15 Mar 2009 05:58:43 +0000 (05:58 +0000)]
Fix comment typo.

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

15 years agoOnly intptr_t is protected by __intptr_t_defined.
Daniel Dunbar [Sun, 15 Mar 2009 03:16:47 +0000 (03:16 +0000)]
Only intptr_t is protected by __intptr_t_defined.

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

15 years agoDriver: Typo fix.
Daniel Dunbar [Sun, 15 Mar 2009 01:46:37 +0000 (01:46 +0000)]
Driver: Typo fix.

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

15 years agoDriver: claim input arguments when building phases.
Daniel Dunbar [Sun, 15 Mar 2009 01:40:22 +0000 (01:40 +0000)]
Driver: claim input arguments when building phases.

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