]> granicus.if.org Git - clang/log
clang
15 years agoThis is not considered a preprocessor directive in .S files:
Chris Lattner [Wed, 18 Mar 2009 20:41:10 +0000 (20:41 +0000)]
This is not considered a preprocessor directive in .S files:
# 4

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

15 years agoconstructs like:
Chris Lattner [Wed, 18 Mar 2009 20:31:57 +0000 (20:31 +0000)]
constructs like:
#define Y X ## .
Y

are ok in .S files.

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

15 years agoadded type dependent testcase
Gabor Greif [Wed, 18 Mar 2009 20:26:44 +0000 (20:26 +0000)]
added type dependent testcase

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

15 years agoDriver: Support ToolChain specific path lists to search for files and
Daniel Dunbar [Wed, 18 Mar 2009 20:26:19 +0000 (20:26 +0000)]
Driver: Support ToolChain specific path lists to search for files and
programs.

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

15 years agoDriver: Get executable path using llvm::sys::Path::GetMainExecutable.
Daniel Dunbar [Wed, 18 Mar 2009 20:25:53 +0000 (20:25 +0000)]
Driver: Get executable path using llvm::sys::Path::GetMainExecutable.

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

15 years agoAdd version information to ISO style test results.
Mike Stump [Wed, 18 Mar 2009 20:25:18 +0000 (20:25 +0000)]
Add version information to ISO style test results.

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

15 years agoincorporate review comment (about the optimization when we have a non-typedependent...
Gabor Greif [Wed, 18 Mar 2009 20:12:58 +0000 (20:12 +0000)]
incorporate review comment (about the optimization when we have a non-typedependent expression)

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

15 years agoMove generated file to ObjDir.
Mike Stump [Wed, 18 Mar 2009 20:12:50 +0000 (20:12 +0000)]
Move generated file to ObjDir.

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

15 years agoPR3835: Interaction with ABI structure passing can inhibit
Daniel Dunbar [Wed, 18 Mar 2009 19:51:01 +0000 (19:51 +0000)]
PR3835: Interaction with ABI structure passing can inhibit
readnone/readonly attributes.

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

15 years agoDriver: Construct temporary file names.
Daniel Dunbar [Wed, 18 Mar 2009 19:34:39 +0000 (19:34 +0000)]
Driver: Construct temporary file names.
 - This is still suboptimal, but should at least be workable.

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

15 years agoHTML rewriter: Don't replace tabs with spaces by default.
Ted Kremenek [Wed, 18 Mar 2009 18:47:46 +0000 (18:47 +0000)]
HTML rewriter: Don't replace tabs with spaces by default.

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

15 years agoAdd revision information.
Mike Stump [Wed, 18 Mar 2009 18:45:55 +0000 (18:45 +0000)]
Add revision information.

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

15 years agofix the more complex cases by actually codegen'ing the right expr :)
Chris Lattner [Wed, 18 Mar 2009 18:30:44 +0000 (18:30 +0000)]
fix the more complex cases by actually codegen'ing the right expr :)

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

15 years agoadd codegen support for casting an element to a union.
Chris Lattner [Wed, 18 Mar 2009 18:28:57 +0000 (18:28 +0000)]
add codegen support for casting an element to a union.
There are some more complex cases (_Complex and structs)
that I'm still working on.

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

15 years agoDriver: Don't warn about unused arguments if there are Driver errors
Daniel Dunbar [Wed, 18 Mar 2009 18:03:46 +0000 (18:03 +0000)]
Driver: Don't warn about unused arguments if there are Driver errors
(brings code in line with diagnostic.

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

15 years agosimplify logic, isInvalid check is redundant
Gabor Greif [Wed, 18 Mar 2009 17:53:25 +0000 (17:53 +0000)]
simplify logic, isInvalid check is redundant

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

15 years agoBe sure to not add weak import, if we are ignoring it.
Mike Stump [Wed, 18 Mar 2009 17:39:31 +0000 (17:39 +0000)]
Be sure to not add weak import, if we are ignoring it.

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

15 years agoremove two xfailed tests. These aren't doing any good for us until serialization...
Chris Lattner [Wed, 18 Mar 2009 17:16:30 +0000 (17:16 +0000)]
remove two xfailed tests.  These aren't doing any good for us until serialization is revisited.

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

15 years agoRefactor 'Warning', 'Extension', and 'ExtWarn' TableGen classes to subclass
Ted Kremenek [Wed, 18 Mar 2009 16:00:17 +0000 (16:00 +0000)]
Refactor 'Warning', 'Extension', and 'ExtWarn' TableGen classes to subclass
'DiagnosticControlled'.

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

15 years agoAdd codegen support for aggregate BlockDeclRefExprs.
Mike Stump [Wed, 18 Mar 2009 15:54:29 +0000 (15:54 +0000)]
Add codegen support for aggregate BlockDeclRefExprs.

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

15 years agoFix URL trimming for version information.
Mike Stump [Wed, 18 Mar 2009 15:19:35 +0000 (15:19 +0000)]
Fix URL trimming for version information.

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

15 years agoIgnore weak import on properties.
Mike Stump [Wed, 18 Mar 2009 15:05:17 +0000 (15:05 +0000)]
Ignore weak import on properties.

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

15 years agoImprove version number.
Mike Stump [Wed, 18 Mar 2009 14:00:02 +0000 (14:00 +0000)]
Improve version number.

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

15 years agoDriver: Port Clang argument translation.
Daniel Dunbar [Wed, 18 Mar 2009 10:01:51 +0000 (10:01 +0000)]
Driver: Port Clang argument translation.

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

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