Chris Lattner
83f095cc7e
Introduce a new OpaquePtr<N> struct type, which is a simple POD wrapper for a
...
pointer. Its purpose in life is to be a glorified void*, but which does not
implicitly convert to void* or other OpaquePtr's with a different UID.
Introduce Action::DeclPtrTy which is a typedef for OpaquePtr<0>. Change the
entire parser/sema interface to use DeclPtrTy instead of DeclTy*. This
makes the C++ compiler enforce that these aren't convertible to other opaque
types.
We should also convert ExprTy, StmtTy, TypeTy, AttrTy, BaseTy, etc,
but I don't plan to do that in the short term.
The one outstanding known problem with this patch is that we lose the
bitmangling optimization where ActionResult<DeclPtrTy> doesn't know how to
bitmangle the success bit into the low bit of DeclPtrTy. I will rectify
this with a subsequent patch.
llvm-svn: 67952
2009-03-28 19:18:32 +00:00
Chris Lattner
529efc74ad
rename some methods.
...
llvm-svn: 67923
2009-03-28 06:33:19 +00:00
Chris Lattner
c0c3dffa3d
reduce indentation, no functionality change.
...
llvm-svn: 67916
2009-03-28 05:44:17 +00:00
Chris Lattner
1ad4eeb9c7
remove TranslationUnit.
...
llvm-svn: 67914
2009-03-28 04:31:31 +00:00
Chris Lattner
a5adead17b
push more ASTContext goodness out through interfaces that use
...
TranslationUnit
llvm-svn: 67913
2009-03-28 04:27:18 +00:00
Chris Lattner
66918ee148
remove TranslationUnit from ParseAST.
...
llvm-svn: 67911
2009-03-28 04:13:34 +00:00
Chris Lattner
cf16983179
change HandleTranslationUnit to take an ASTContext instead of TranslationUnit
...
llvm-svn: 67910
2009-03-28 04:11:33 +00:00
Chris Lattner
040d4570c7
remove dead ivar.
...
llvm-svn: 67907
2009-03-28 04:05:05 +00:00
Chris Lattner
edf7eb77cf
hoist TranslationUnit some more.
...
llvm-svn: 67905
2009-03-28 03:56:54 +00:00
Chris Lattner
96c339a661
eliminate some wrappers.
...
llvm-svn: 67904
2009-03-28 03:53:02 +00:00
Chris Lattner
f7d9e2ba1c
eliminate ReadASTBitcodeFile
...
llvm-svn: 67903
2009-03-28 03:49:26 +00:00
Chris Lattner
d286851b57
move serialization logic from TranslationUnit to ASTContext.
...
llvm-svn: 67902
2009-03-28 03:45:20 +00:00
Chris Lattner
a0b08dcd6b
don't poke at TranslationUnit directly
...
llvm-svn: 67900
2009-03-28 03:29:40 +00:00
Chris Lattner
5cf49fe587
eliminate ASTConsumer::InitializeTU, all clients are
...
happy with just ASTContext, they don't need a TU.
llvm-svn: 67894
2009-03-28 02:18:25 +00:00
Chris Lattner
8671ca9d97
revert mike's patch which broke test/CodeGen/no-common.c.
...
llvm-svn: 67893
2009-03-28 02:12:08 +00:00
Chris Lattner
a6f4ca2b6f
remove TranslationUnit::OwnsDecls, which is only set, never read.
...
llvm-svn: 67891
2009-03-28 01:44:40 +00:00
Chris Lattner
84bcc4795e
simplify ParseAST by sucking -disable-free handling logic up into
...
clang.cpp
llvm-svn: 67890
2009-03-28 01:37:17 +00:00
Chris Lattner
2b9e7efccd
move StatListener out to top level.
...
llvm-svn: 67886
2009-03-28 00:55:35 +00:00
Chris Lattner
a94d139a1f
various cleanups, no functionality change
...
llvm-svn: 67883
2009-03-28 00:16:20 +00:00
Mike Stump
e5fdfd5930
Fixup -fcommon and -fno-common to be more gcc compatible.
...
llvm-svn: 67863
2009-03-27 20:15:22 +00:00
Chris Lattner
839150e0d2
push line markers through -E mode.
...
llvm-svn: 67854
2009-03-27 17:13:49 +00:00
Chris Lattner
984fac5f5f
most of this is plumbing to get CompileOptions down into
...
CodeGenModule. Once there, add a new NoCommon option to
it and implement -fno-common.
llvm-svn: 67735
2009-03-26 05:00:52 +00:00
Douglas Gregor
6c2adff380
Pass access specifiers through to member classes and member enums.
...
llvm-svn: 67710
2009-03-25 22:00:53 +00:00
Mike Stump
90a3707225
Really fix cmake style builds.
...
llvm-svn: 67633
2009-03-24 17:52:34 +00:00
Chris Lattner
02428f6aa6
-arch ppc should change the triple to powerpc-foo not to ppc-foo.
...
Similarly for ppc64. This should probably move into the driver, along
with all the other target selection stuff other than -triple.
llvm-svn: 67621
2009-03-24 16:18:41 +00:00
Daniel Dunbar
2dbe89af65
Install clang-cc to libexec/clang-cc (instead of bin/clang-cc).
...
- Updated ccc & driver to look in libexec/ for tools.
llvm-svn: 67607
2009-03-24 04:07:10 +00:00
Daniel Dunbar
e5a7ecc23a
Move <root>/Driver into <root>/tools/clang-cc.
...
Again, I tried to update cmake but it is untested.
llvm-svn: 67605
2009-03-24 03:00:12 +00:00