]> granicus.if.org Git - clang/log
clang
14 years agoThe ARM C++ ABI is sufficiently different from the Itanium C++ ABI that
John McCall [Sat, 21 Aug 2010 22:46:04 +0000 (22:46 +0000)]
The ARM C++ ABI is sufficiently different from the Itanium C++ ABI that
it deserves its own enumerator.  Obviously the implementations should
closely follow the Itanium ABI except in cases of divergence.

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

14 years agoVisual Studio tools used on win32 hosts when targeting win32.
Michael J. Spencer [Sat, 21 Aug 2010 21:55:07 +0000 (21:55 +0000)]
Visual Studio tools used on win32 hosts when targeting win32.

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

14 years agotwik to my previous patch for pr7936.
Fariborz Jahanian [Sat, 21 Aug 2010 17:11:09 +0000 (17:11 +0000)]
twik to my previous patch for pr7936.
Build qualified version of ObjC pointers (not pointers) when
doing overload resolution.

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

14 years agoAvoid including mm_malloc.h in a cc1 test, it pulls in system headers.
Benjamin Kramer [Sat, 21 Aug 2010 13:39:38 +0000 (13:39 +0000)]
Avoid including mm_malloc.h in a cc1 test, it pulls in system headers.

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

14 years agoPlace method near its class.
Zhongxing Xu [Sat, 21 Aug 2010 12:24:38 +0000 (12:24 +0000)]
Place method near its class.

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

14 years agoRemove dead code.
Zhongxing Xu [Sat, 21 Aug 2010 11:05:46 +0000 (11:05 +0000)]
Remove dead code.

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

14 years agoImprove comments.
Zhongxing Xu [Sat, 21 Aug 2010 11:03:37 +0000 (11:03 +0000)]
Improve comments.

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

14 years agoRemove a special case for OSAtomic functions. We can already bind and retrieve
Zhongxing Xu [Sat, 21 Aug 2010 11:00:26 +0000 (11:00 +0000)]
Remove a special case for OSAtomic functions. We can already bind and retrieve
with the same binding key. The only trick here is that sometimes the Symbolic
region is stored in with an LocAsInteger wrapper. We unwrap that in
SVal::getAsLocSymbol().

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

14 years agoDeclPtrTy -> Decl *
John McCall [Sat, 21 Aug 2010 09:40:31 +0000 (09:40 +0000)]
DeclPtrTy -> Decl *

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

14 years agoRemove dead code. We no longer need it because now we treat the first element
Zhongxing Xu [Sat, 21 Aug 2010 08:55:42 +0000 (08:55 +0000)]
Remove dead code. We no longer need it because now we treat the first element
region and its base region as the same binding key.

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

14 years agoremove unused variable.
Zhongxing Xu [Sat, 21 Aug 2010 06:51:45 +0000 (06:51 +0000)]
remove unused variable.

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

14 years agoWhen invalidating a struct region, whether its type definition exists is not
Zhongxing Xu [Sat, 21 Aug 2010 06:26:59 +0000 (06:26 +0000)]
When invalidating a struct region, whether its type definition exists is not
relavant any more, because we set its default value to a symbol, and the type of
default symbolic value is irrelavant.

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

14 years agoFix typo in comment.
Michael J. Spencer [Sat, 21 Aug 2010 06:05:06 +0000 (06:05 +0000)]
Fix typo in comment.

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

14 years agoThis test needs a triple: it's checking the alignment of a pointer in bytes.
John McCall [Sat, 21 Aug 2010 04:58:16 +0000 (04:58 +0000)]
This test needs a triple: it's checking the alignment of a pointer in bytes.

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

14 years agoIRgen: Set the alignment correctly when creating LValue for a decls.
Daniel Dunbar [Sat, 21 Aug 2010 04:20:22 +0000 (04:20 +0000)]
IRgen: Set the alignment correctly when creating LValue for a decls.
 - Fixes PR5598.
 - Review appreciated.

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

14 years agoCodeGenFunction: Eliminate unused MakeQualifiers() function.
Daniel Dunbar [Sat, 21 Aug 2010 04:13:07 +0000 (04:13 +0000)]
CodeGenFunction: Eliminate unused MakeQualifiers() function.

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

14 years agoSimplify.
Daniel Dunbar [Sat, 21 Aug 2010 04:05:54 +0000 (04:05 +0000)]
Simplify.

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

14 years agoIRgen/CGValue: Give MakeAddrLValue() an alignment argument, and eliminate old form...
Daniel Dunbar [Sat, 21 Aug 2010 03:58:45 +0000 (03:58 +0000)]
IRgen/CGValue: Give MakeAddrLValue() an alignment argument, and eliminate old form of MakeAddr().

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

14 years agoIRgen: Move remaining LValue::Set... methods to LValue::set... (non-static) methods.
Daniel Dunbar [Sat, 21 Aug 2010 03:51:29 +0000 (03:51 +0000)]
IRgen: Move remaining LValue::Set... methods to LValue::set... (non-static) methods.

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

14 years agoIRgen: Move remaining MakeAddr() calls to MakeAddrLValue().
Daniel Dunbar [Sat, 21 Aug 2010 03:44:13 +0000 (03:44 +0000)]
IRgen: Move remaining MakeAddr() calls to MakeAddrLValue().

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

14 years agoIRgen: The CVR qualifiers in a subobject adjustment should just come from the
Daniel Dunbar [Sat, 21 Aug 2010 03:37:02 +0000 (03:37 +0000)]
IRgen: The CVR qualifiers in a subobject adjustment should just come from the
field (I think).
 - Doug, please check.

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

14 years agoIRgen/CGValue: Add getQuals(), so qualifiers can be modified on an LValue.
Daniel Dunbar [Sat, 21 Aug 2010 03:29:54 +0000 (03:29 +0000)]
IRgen/CGValue: Add getQuals(), so qualifiers can be modified on an LValue.

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

14 years agoIRgen/LValue: Add LValue::setNonGC instead of SetObjCNonGC, for consistency with...
Daniel Dunbar [Sat, 21 Aug 2010 03:22:38 +0000 (03:22 +0000)]
IRgen/LValue: Add LValue::setNonGC instead of SetObjCNonGC, for consistency with isNonGC().

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

14 years agoIRgen: Switch more MakeAddr() users to MakeAddrLValue; this time for calls which...
Daniel Dunbar [Sat, 21 Aug 2010 03:15:20 +0000 (03:15 +0000)]
IRgen: Switch more MakeAddr() users to MakeAddrLValue; this time for calls which were previously not computing the qualifier list. In most cases, I don't think it matters, but I believe this is conservatively more correct / consistent.

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

14 years agoIRgen: Switch a bunch of trivial MakeAddr calls to use MakeAddrLValue.
Daniel Dunbar [Sat, 21 Aug 2010 03:08:16 +0000 (03:08 +0000)]
IRgen: Switch a bunch of trivial MakeAddr calls to use MakeAddrLValue.

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

14 years agoIRgen: Eliminate EmitPredefinedFunctionName(), it doesn't need to be factored out.
Daniel Dunbar [Sat, 21 Aug 2010 03:01:12 +0000 (03:01 +0000)]
IRgen: Eliminate EmitPredefinedFunctionName(), it doesn't need to be factored out.

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

14 years agoIRgen: Add an LValue::MakeAddr variant which takes a type and uses that to build
Daniel Dunbar [Sat, 21 Aug 2010 02:53:44 +0000 (02:53 +0000)]
IRgen: Add an LValue::MakeAddr variant which takes a type and uses that to build
the qualifiers.

Also, add CodeGenFunction::MakeAddrLValue() helper function which passes in the
ASTContext.

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

14 years agoImprove test coverage.
Daniel Dunbar [Sat, 21 Aug 2010 02:46:28 +0000 (02:46 +0000)]
Improve test coverage.

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

14 years agoDelete an obsolete comment.
Dan Gohman [Sat, 21 Aug 2010 02:41:29 +0000 (02:41 +0000)]
Delete an obsolete comment.

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

14 years agoIRgen/CGValue: Add alignment to LValue, and use that alignment when generating lvalue...
Daniel Dunbar [Sat, 21 Aug 2010 02:39:23 +0000 (02:39 +0000)]
IRgen/CGValue: Add alignment to LValue, and use that alignment when generating lvalue load/stores.

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

14 years agoIRgen/LValue: Rename SetQualifiers() to Initialize().
Daniel Dunbar [Sat, 21 Aug 2010 02:31:58 +0000 (02:31 +0000)]
IRgen/LValue: Rename SetQualifiers() to Initialize().

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

14 years agoIRgen: Change Emit{Load,Store}OfScalar to take a required Alignment argument and
Daniel Dunbar [Sat, 21 Aug 2010 02:24:36 +0000 (02:24 +0000)]
IRgen: Change Emit{Load,Store}OfScalar to take a required Alignment argument and
update callers as best I can.
 - This is a work in progress, our alignment handling is very horrible / sketchy -- I am just aiming for monotonic improvement.
 - Serious review appreciated.

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

14 years agoIRgen: Use Ty consistently in this function.
Daniel Dunbar [Sat, 21 Aug 2010 02:17:08 +0000 (02:17 +0000)]
IRgen: Use Ty consistently in this function.

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

14 years agofilecheckize test
Chris Lattner [Sat, 21 Aug 2010 00:29:50 +0000 (00:29 +0000)]
filecheckize test

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

14 years agofix PR7943, a corner case with the GNU __VA_ARGS__ comma
Chris Lattner [Sat, 21 Aug 2010 00:27:00 +0000 (00:27 +0000)]
fix PR7943, a corner case with the GNU __VA_ARGS__ comma
swallowing extension.

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

14 years agoContributed test case for PR7936
Fariborz Jahanian [Sat, 21 Aug 2010 00:17:33 +0000 (00:17 +0000)]
Contributed test case for PR7936
by Jean-Daniel Dupas.

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

14 years agopatch to support comparison involving
Fariborz Jahanian [Sat, 21 Aug 2010 00:10:36 +0000 (00:10 +0000)]
patch to support comparison involving
objctive-c pointer conversions. Fixes pr7936.

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

14 years agoFix an issue with writing to PCH another included PCH, introduced by the "using an...
Argyrios Kyrtzidis [Fri, 20 Aug 2010 23:35:55 +0000 (23:35 +0000)]
Fix an issue with writing to PCH another included PCH, introduced by the "using an AST on-disk hash table for name lookup" commit.

When including a PCH and later re-emitting to another PCH, the name lookup tables of DeclContexts
may be incomplete, since we now lazily deserialize the visible decls of a particular name.
Fix the issue by iterating over the un-deserialized visible decls and completing the lookup tables
of DeclContexts before writing them out.

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

14 years agoAdd an iterator to OnDiskChainedHashTable to allow iterating over all the key/data...
Argyrios Kyrtzidis [Fri, 20 Aug 2010 23:31:11 +0000 (23:31 +0000)]
Add an iterator to OnDiskChainedHashTable to allow iterating over all the key/data pairs.

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

14 years agoRemove dead code.
Fariborz Jahanian [Fri, 20 Aug 2010 23:02:01 +0000 (23:02 +0000)]
Remove dead code.

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

14 years agoDisallow direct inclusion of avxintrin.h. Users should include immintrin.h instead...
Benjamin Kramer [Fri, 20 Aug 2010 23:00:03 +0000 (23:00 +0000)]
Disallow direct inclusion of avxintrin.h. Users should include immintrin.h instead. This matches GCC's behavior.

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

14 years agoCreateTemporaryType doesn't needs its Context argument.
Dan Gohman [Fri, 20 Aug 2010 22:39:57 +0000 (22:39 +0000)]
CreateTemporaryType doesn't needs its Context argument.

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

14 years agoIntroduce a new temporary MDNode concept. Temporary MDNodes are
Dan Gohman [Fri, 20 Aug 2010 22:02:57 +0000 (22:02 +0000)]
Introduce a new temporary MDNode concept. Temporary MDNodes are
not part of the IR, are not uniqued, and may be safely RAUW'd.
This replaces a variety of alternate mechanisms for achieving
the same effect.

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

14 years agoRmove dead code.
Fariborz Jahanian [Fri, 20 Aug 2010 21:45:03 +0000 (21:45 +0000)]
Rmove dead code.

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

14 years agoobjective-c ivar refactoring patch. Iterations
Fariborz Jahanian [Fri, 20 Aug 2010 21:21:08 +0000 (21:21 +0000)]
objective-c ivar refactoring patch. Iterations
over ivars for a varienty of puposes is now
consolidated into two small routines; DeepCollectObjCIvars
and ShallowCollectObjCIvars.

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

14 years agoAdd a workaround for PR7947, a crash trying to recover from invalid C++ code.
Nick Lewycky [Fri, 20 Aug 2010 20:54:15 +0000 (20:54 +0000)]
Add a workaround for PR7947, a crash trying to recover from invalid C++ code.

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

14 years agoAdd a comment.
Dan Gohman [Fri, 20 Aug 2010 20:37:16 +0000 (20:37 +0000)]
Add a comment.

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

14 years agoAnother step in the process of making the parser depend on Sema:
John McCall [Fri, 20 Aug 2010 18:27:03 +0000 (18:27 +0000)]
Another step in the process of making the parser depend on Sema:
  - move DeclSpec &c into the Sema library
  - move ParseAST into the Parse library
Reflect this change in a thousand different includes.
Reflect this change in the link orders.

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

14 years agoAdd immintrin meta header.
Benjamin Kramer [Fri, 20 Aug 2010 18:04:07 +0000 (18:04 +0000)]
Add immintrin meta header.

- This is the official way to get AVX intrinsics, we might want to disallow
  direct inclusion of avxintrin.h, just like GCC does.

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

14 years agoalphabeticalize
Chris Lattner [Fri, 20 Aug 2010 17:24:02 +0000 (17:24 +0000)]
alphabeticalize

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

14 years agohopefully unbreak the msvc buildbot.
Chris Lattner [Fri, 20 Aug 2010 17:23:33 +0000 (17:23 +0000)]
hopefully unbreak the msvc buildbot.

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

14 years agoFix a major regression with value-initialization of class types with
Douglas Gregor [Fri, 20 Aug 2010 16:57:37 +0000 (16:57 +0000)]
Fix a major regression with value-initialization of class types with
trivial default constructors. We're weren't zero-initializing them,
which manifested as <rdar://problem/8320532> (a regression in the GCC
test suite) and is likely to have caused significant other breakage.

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

14 years agoFix header comments.
Benjamin Kramer [Fri, 20 Aug 2010 16:47:17 +0000 (16:47 +0000)]
Fix header comments.

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

14 years agofix some vector extractions to return properly zero extended values
Chris Lattner [Fri, 20 Aug 2010 16:08:33 +0000 (16:08 +0000)]
fix some vector extractions to return properly zero extended values
(instead of sign extending) to match ICC.  GCC is changing this in
a series of their own PRs (e.g. 41323).

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

14 years agoUse the AST on-disk hash table for name lookup inside a DeclContext.
Argyrios Kyrtzidis [Fri, 20 Aug 2010 16:04:35 +0000 (16:04 +0000)]
Use the AST on-disk hash table for name lookup inside a DeclContext.

*Huge* improvement over the amount of deserializing that we do for C++ lookup.
e.g, if he have the Carbon header precompiled and include it on a file containing this:

int x;

these are the before/after stats:

BEFORE:

*** AST File Statistics:
  578 stat cache hits
  4 stat cache misses
  548/30654 source location entries read (1.787695%)
  15907/16501 types read (96.400223%)
  53525/59955 declarations read (89.275291%)
  33993/43525 identifiers read (78.099945%)
  41516/51891 statements read (80.006165%)
  77/5317 macros read (1.448185%)
  0/6335 lexical declcontexts read (0.000000%)
  1/5424 visible declcontexts read (0.018437%)

AFTER using the on-disk table:

*** AST File Statistics:
  578 stat cache hits
  4 stat cache misses
  548/30654 source location entries read (1.787695%)
  10/16501 types read (0.060602%)
  9/59955 declarations read (0.015011%)
  161/43525 identifiers read (0.369902%)
  20/51891 statements read (0.038542%)
  6/5317 macros read (0.112846%)
  0/6335 lexical declcontexts read (0.000000%)
  2/5424 visible declcontexts read (0.036873%)

There's only one issue affecting mostly the precompiled preambles which I will address soon.

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

14 years agoIntroduce the mechanism for building an AST on-disk hash table for name lookup inside...
Argyrios Kyrtzidis [Fri, 20 Aug 2010 16:04:27 +0000 (16:04 +0000)]
Introduce the mechanism for building an AST on-disk hash table for name lookup inside a DeclContext but don't use it yet.

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

14 years agoRefactoring; move the functionality of ASTWriter::GetOrCreateTypeID to the more generic
Argyrios Kyrtzidis [Fri, 20 Aug 2010 16:04:20 +0000 (16:04 +0000)]
Refactoring; move the functionality of ASTWriter::GetOrCreateTypeID to the more generic
MakeTypeID template function which accepts a type and a function object that returns a TypeIdx.

MakeTypeID is in PCHCommon.h so that it can be used by ASTReader too.

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

14 years agoIntroduce ASTWriter::GetOrCreateTypeID and move most of the functionality of AddTypeR...
Argyrios Kyrtzidis [Fri, 20 Aug 2010 16:04:14 +0000 (16:04 +0000)]
Introduce ASTWriter::GetOrCreateTypeID and move most of the functionality of AddTypeRef there.
No functionality change.

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

14 years agoA bit of refactoring; Introduce ASTWriter::GetOrCreateTypeIdx and move the emission...
Argyrios Kyrtzidis [Fri, 20 Aug 2010 16:04:09 +0000 (16:04 +0000)]
A bit of refactoring; Introduce ASTWriter::GetOrCreateTypeIdx and move the emission of types there.
No functionality change.

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

14 years agoRename TypeIDs -> TypeIdxs. No functionality change.
Argyrios Kyrtzidis [Fri, 20 Aug 2010 16:04:04 +0000 (16:04 +0000)]
Rename TypeIDs -> TypeIdxs. No functionality change.

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

14 years agoserialization::TypeID is used with or without qualifiers, both as index and as index...
Argyrios Kyrtzidis [Fri, 20 Aug 2010 16:03:59 +0000 (16:03 +0000)]
serialization::TypeID is used with or without qualifiers, both as index and as index + qualifiers.
Disambiguate and provide some type safety by using a new class TypeIdx for the "TypeID as index" semantics.

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

14 years agoShare the common code of ComputeHash(Selector Sel) instead of keeping 2 copies in...
Argyrios Kyrtzidis [Fri, 20 Aug 2010 16:03:52 +0000 (16:03 +0000)]
Share the common code of ComputeHash(Selector Sel) instead of keeping 2 copies in PCHReader and PCHWriter.
No functionality change.

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

14 years agoRemove dead code.
Ted Kremenek [Fri, 20 Aug 2010 06:06:41 +0000 (06:06 +0000)]
Remove dead code.

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

14 years agoUpdate help text for -cc1 -unoptimized-cfg.
Ted Kremenek [Fri, 20 Aug 2010 05:53:47 +0000 (05:53 +0000)]
Update help text for -cc1 -unoptimized-cfg.

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

14 years agoTranslate NEON vmovl intrinsics to zero/sign-extend operations.
Bob Wilson [Fri, 20 Aug 2010 03:36:08 +0000 (03:36 +0000)]
Translate NEON vmovl intrinsics to zero/sign-extend operations.

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

14 years agoRevert r111609, which is failing its new test.
Douglas Gregor [Fri, 20 Aug 2010 03:26:10 +0000 (03:26 +0000)]
Revert r111609, which is failing its new test.

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

14 years agoEliminate some extraneous whitespace in the machine-parseable Fix-It output.
Douglas Gregor [Fri, 20 Aug 2010 03:17:33 +0000 (03:17 +0000)]
Eliminate some extraneous whitespace in the machine-parseable Fix-It output.

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

14 years agoDetect efforts to declare a template member friend and explicitly ignore them.
John McCall [Fri, 20 Aug 2010 01:40:01 +0000 (01:40 +0000)]
Detect efforts to declare a template member friend and explicitly ignore them.
Avoids a crash.

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

14 years agoHandle nested compound values in BindArray for multidimensional arrays. Fixes PR7945.
Jordy Rose [Fri, 20 Aug 2010 01:05:59 +0000 (01:05 +0000)]
Handle nested compound values in BindArray for multidimensional arrays. Fixes PR7945.

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

14 years agoWhen performing code-completion in the presence of a preamble, make
Douglas Gregor [Fri, 20 Aug 2010 00:59:43 +0000 (00:59 +0000)]
When performing code-completion in the presence of a preamble, make
sure to (1) actually use the remapped files we were given rather
than old data, and (2) keep the remapped files alive until the
code-completion results are destroyed. Big thanks to Daniel for the
test case.

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

14 years agoMangle explicit template arguments in dependent or overloaded names.
John McCall [Fri, 20 Aug 2010 00:17:19 +0000 (00:17 +0000)]
Mangle explicit template arguments in dependent or overloaded names.

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

14 years agoWhen we decide not to reuse a precompiled preamble, clear out the
Douglas Gregor [Fri, 20 Aug 2010 00:02:33 +0000 (00:02 +0000)]
When we decide not to reuse a precompiled preamble, clear out the
previous precompiled preamble completely. Fixes <rdar://problem/8330950>.

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

14 years agoRegularize the API for accessing explicit template arguments.
John McCall [Thu, 19 Aug 2010 23:49:38 +0000 (23:49 +0000)]
Regularize the API for accessing explicit template arguments.

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

14 years agolibclang: Execute clang_codeCompleteAt() inside a crash recovery context.
Daniel Dunbar [Thu, 19 Aug 2010 23:44:10 +0000 (23:44 +0000)]
libclang: Execute clang_codeCompleteAt() inside a crash recovery context.
 - Test case is disabled for now, because something isn't write with file
   remapping.

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

14 years agoc-index-test: Diagnose parse / completion failures in -code-completion-at=.
Daniel Dunbar [Thu, 19 Aug 2010 23:44:06 +0000 (23:44 +0000)]
c-index-test: Diagnose parse / completion failures in -code-completion-at=.

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

14 years agoc-index-test: As with reparse, only honor remapped false during the code
Daniel Dunbar [Thu, 19 Aug 2010 23:44:04 +0000 (23:44 +0000)]
c-index-test: As with reparse, only honor remapped false during the code
completion step with -code-completion-at=, to allow testing simulated source
changes.

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

14 years agolibclang/Darwin: Always set the compatibility version in the dylib.
Daniel Dunbar [Thu, 19 Aug 2010 23:44:02 +0000 (23:44 +0000)]
libclang/Darwin: Always set the compatibility version in the dylib.

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

14 years agoFix some typos in the documentation of -fdiagnostics-parseable-fixits. Typos by me...
Douglas Gregor [Thu, 19 Aug 2010 23:31:13 +0000 (23:31 +0000)]
Fix some typos in the documentation of -fdiagnostics-parseable-fixits. Typos by me, patch by Eelis van der Weegen

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

14 years agoCorrectly instantiate templates with non-type template arguments that
John McCall [Thu, 19 Aug 2010 23:06:02 +0000 (23:06 +0000)]
Correctly instantiate templates with non-type template arguments that
are local externs.  Fixes <rdar://problem/8302138>.

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

14 years agoFix the source range of an anonymous namespace, from Jan Bierbaum
Douglas Gregor [Thu, 19 Aug 2010 20:55:47 +0000 (20:55 +0000)]
Fix the source range of an anonymous namespace, from Jan Bierbaum

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

14 years agoIntialize all of the code-generation options
Douglas Gregor [Thu, 19 Aug 2010 20:50:45 +0000 (20:50 +0000)]
Intialize all of the code-generation options

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

14 years agoFix a c-index-test leak with file remapping
Douglas Gregor [Thu, 19 Aug 2010 20:50:29 +0000 (20:50 +0000)]
Fix a c-index-test leak with file remapping

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

14 years agoAdd machine-parseable Fix-It output as part of diagnostics, under the
Douglas Gregor [Thu, 19 Aug 2010 20:24:43 +0000 (20:24 +0000)]
Add machine-parseable Fix-It output as part of diagnostics, under the
flag -fdiagnostics-parseable-fixits, from Eelis van der Weegen!

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

14 years agoFix a loop overrun in ComputePreamble when the last remapped file was erased,
Daniel Dunbar [Thu, 19 Aug 2010 19:40:40 +0000 (19:40 +0000)]
Fix a loop overrun in ComputePreamble when the last remapped file was erased,
and reenable crash recovery test.
 - Reparsing is still very crashy / weird, so I had to sprinkle random code into
   the remapped input to get it to do what I want (i.e., crash!).

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

14 years agoTest for PR7888.
Eli Friedman [Thu, 19 Aug 2010 19:13:24 +0000 (19:13 +0000)]
Test for PR7888.

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

14 years agoRemove dead code. Patch by Jon Mulder!
Jordy Rose [Thu, 19 Aug 2010 18:59:37 +0000 (18:59 +0000)]
Remove dead code. Patch by Jon Mulder!

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

14 years agoWe don't actually need to check the implicit object argument's
Douglas Gregor [Thu, 19 Aug 2010 17:02:01 +0000 (17:02 +0000)]
We don't actually need to check the implicit object argument's
conversion a second time for a conversion candidate (with the real
acting context), because the only problems we would find are access or
ambiguity issues that won't be diagnosed until we pick this
candidate. Add a test case to prove it to myself.

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

14 years agoCrashRecovery: Disable the reparse test for now while I investigate, it goes
Daniel Dunbar [Thu, 19 Aug 2010 16:40:14 +0000 (16:40 +0000)]
CrashRecovery: Disable the reparse test for now while I investigate, it goes
bonkers sometimes.

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

14 years agoProperly implement the part of C++ [over.match.funcs]p4 that treats
Douglas Gregor [Thu, 19 Aug 2010 15:57:50 +0000 (15:57 +0000)]
Properly implement the part of C++ [over.match.funcs]p4 that treats
conversion functions as if their acting context were the class that
we're converting from (the implicit object argument's
type). Retroactively tweaking the implicit conversion sequence, as we
were trying to do before, breaks the invariants of that implicit
conversion sequence (e.g., the types and conversions don't match
up). Fixes <rdar://problem/8018274>.

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

14 years agoInclude a proper citation for the wacky hijinks involving conversion functions and...
Douglas Gregor [Thu, 19 Aug 2010 15:37:02 +0000 (15:37 +0000)]
Include a proper citation for the wacky hijinks involving conversion functions and the implicit object parameter type. No functionality change.

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

14 years agosupport for predicates with bool/pixel arguments
Anton Yartsev [Thu, 19 Aug 2010 11:57:49 +0000 (11:57 +0000)]
support for predicates with bool/pixel arguments

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

14 years agoRemove default argument from operator delete; per report on cfe-dev, fixes
Eli Friedman [Thu, 19 Aug 2010 06:13:01 +0000 (06:13 +0000)]
Remove default argument from operator delete; per report on cfe-dev, fixes
compilation with MSVC.  Note that on other platforms, the operator delete in
question is never used because we compile with -fno-exceptions.

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

14 years agoFix for PR7911 and PR7921: make isIntegralOrEnumerationType return false
Eli Friedman [Thu, 19 Aug 2010 04:39:37 +0000 (04:39 +0000)]
Fix for PR7911 and PR7921: make isIntegralOrEnumerationType return false
for incomplete enum types.  An incomplete enum can't really be treated as
an "integral or enumeration" type, and the incorrect treatment leads to
bad behavior for many callers.

This makes isIntegralOrEnumerationType equivalent to isIntegerType; I think
we should globally replace the latter with the former; thoughts?

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

14 years agosupport for the rest of AltiVec functions with bool/pixel arguments and return values...
Anton Yartsev [Thu, 19 Aug 2010 03:21:36 +0000 (03:21 +0000)]
support for the rest of AltiVec functions with bool/pixel arguments and return values (except predicates)

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

14 years agoAdd a missing initializer.
Sean Hunt [Thu, 19 Aug 2010 03:06:50 +0000 (03:06 +0000)]
Add a missing initializer.

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

14 years agosupport for vec_perm and all dependent functions (vec_mergeh, vec_mergel, vec_pack...
Anton Yartsev [Thu, 19 Aug 2010 03:00:09 +0000 (03:00 +0000)]
support for vec_perm and all dependent functions (vec_mergeh, vec_mergel, vec_pack, vec_sld, vec_splat) with bool/pixel arguments and return values

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

14 years agoAdd some enum goodness as requested by Chris. Now instead of storing the
Charles Davis [Thu, 19 Aug 2010 02:18:14 +0000 (02:18 +0000)]
Add some enum goodness as requested by Chris. Now instead of storing the
active C++ ABI as a raw string, we store it as an enum. This should improve
performance somewhat.

And yes, this time, I started from a clean build directory, and
all the tests passed. :)

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

14 years agoPlug a leak when precompiling the preamble in ASTUnit.
Douglas Gregor [Thu, 19 Aug 2010 01:33:06 +0000 (01:33 +0000)]
Plug a leak when precompiling the preamble in ASTUnit.

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

14 years agoRestore the build
John McCall [Thu, 19 Aug 2010 01:21:57 +0000 (01:21 +0000)]
Restore the build

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

14 years agoOn second thought, don't warn about reinterpret_casts under -Wcast-align.
John McCall [Thu, 19 Aug 2010 01:19:08 +0000 (01:19 +0000)]
On second thought, don't warn about reinterpret_casts under -Wcast-align.

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