Daniel Dunbar
576d90d39b
Remove TargetInfo::getTargetPrefix().
...
llvm-svn: 79907
2009-08-24 09:54:37 +00:00
Daniel Dunbar
8100d01ecf
Switch to StringRef based BitstreamWriter APIs, where appropriate.
...
- There is lots of non-endian safe code in here... :/
llvm-svn: 79905
2009-08-24 09:31:37 +00:00
Daniel Dunbar
516bb9dd76
Remove arch normalization from Driver, this should be unnecessary now that
...
things have moved to llvm::Triple.
llvm-svn: 79902
2009-08-24 09:16:49 +00:00
Daniel Dunbar
40165180f7
Switch TargetInfo to store an llvm::Triple.
...
- Primarily to discourage clients form making decisions based on the string.
llvm-svn: 79901
2009-08-24 09:10:05 +00:00
Daniel Dunbar
e3532f82a7
Switch ABI selection to use llvm::Triple instead of string munging.
...
llvm-svn: 79900
2009-08-24 08:52:16 +00:00
Chris Lattner
dca19591f2
fix a GCC type punning warning.
...
llvm-svn: 79895
2009-08-24 05:19:01 +00:00
Chris Lattner
72bb4f602c
prune #includes.
...
llvm-svn: 79889
2009-08-24 04:11:30 +00:00
Chris Lattner
3441b4f77e
API changes to match llvm ToT.
...
llvm-svn: 79868
2009-08-23 22:45:33 +00:00
Daniel Dunbar
ccc60da5c7
Reenable clang using clang-cc for C++ and all archs by default.
...
llvm-svn: 79861
2009-08-23 19:41:53 +00:00
Daniel Dunbar
87db734400
Fix a few tests to be -Asserts agnostic.
...
- Ugh.
llvm-svn: 79860
2009-08-23 19:28:59 +00:00
Daniel Dunbar
b5bcd6b94a
Temporarily switch clang back to not using clang-cc by default for C++, and only
...
using clang-cc on i386 and x86_64.
llvm-svn: 79859
2009-08-23 18:42:54 +00:00
Benjamin Kramer
89b422c118
Replace cerr with errs().
...
llvm-svn: 79854
2009-08-23 12:08:50 +00:00
Daniel Dunbar
730a54bf28
cerr -> errs.
...
llvm-svn: 79844
2009-08-23 08:52:09 +00:00
Daniel Dunbar
0ad0c21248
Tests for C++ lex.trigraph, patch by Mats!
...
llvm-svn: 79841
2009-08-23 08:22:33 +00:00
Chris Lattner
817b3012bc
use errs() instead of cerr.
...
llvm-svn: 79829
2009-08-23 05:57:09 +00:00
Douglas Gregor
33870d908f
CMake: Improve installation of Clang
...
- Install clang-cc into libexec
- Install headers into lib/clang/<version>/include
- Don't install other clang-based tools (clang-wpa, clang-index, etc.)
llvm-svn: 79827
2009-08-23 05:28:29 +00:00
Douglas Gregor
76d8c5725f
Don't install Clang libraries.
...
llvm-svn: 79824
2009-08-23 05:02:18 +00:00
Chris Lattner
84cffc22d4
adjust for raw_fd_ostream api change.
...
llvm-svn: 79809
2009-08-23 02:59:41 +00:00
Anders Carlsson
622ddae92b
Whoops, comment this out for now. I'll fix it shortly.
...
llvm-svn: 79806
2009-08-23 01:28:08 +00:00
Anders Carlsson
d606de72ab
More work towards zero-initializing structs that contain member pointers in constant expressions.
...
llvm-svn: 79805
2009-08-23 01:25:01 +00:00
Anders Carlsson
beac2bef4d
Remove the PaddingFields member from CGRecordLayout, it wasn't used anyway.
...
llvm-svn: 79799
2009-08-23 01:01:04 +00:00
Eli Friedman
16c209610c
Catch a few more cases of illegal comparisons.
...
llvm-svn: 79793
2009-08-23 00:27:47 +00:00
Chris Lattner
d99bd52c73
Eli points out that we really must diagnose "void* > 0" as an extension.
...
Explicitly add it as an EXTENSION instead of an EXTWARN so that it only
comes out with -pedantic. Thanks Eli!
llvm-svn: 79791
2009-08-23 00:03:44 +00:00
Anders Carlsson
faeccc622f
Handle CK_NullToMemberPointer casts in the constant expr emitter.
...
llvm-svn: 79790
2009-08-23 00:02:11 +00:00
Anders Carlsson
3b0c5dcdd2
Change the constant expression emitter to look at the cast kind for to-union casts.
...
llvm-svn: 79789
2009-08-22 23:54:44 +00:00
Anders Carlsson
d7923c6ed7
Add CK_NullToMemberPointer and CK_BaseToDerivedMemberPointer cast kinds. Make -ast-dump print out the cast kinds of cast expressions.
...
llvm-svn: 79787
2009-08-22 23:33:40 +00:00
Anders Carlsson
9cedbefb24
Add a -fno-elide-constructors option to clang-cc.
...
llvm-svn: 79782
2009-08-22 22:30:33 +00:00
Fariborz Jahanian
a83c016d22
Type of a ?: expression whose either expression is a built-in 'id'
...
type is 'id' type.
llvm-svn: 79781
2009-08-22 22:27:17 +00:00
Fariborz Jahanian
cbf10f5de5
Don't issue warning on multiple selector found when
...
selector name is for a @selector expression.
llvm-svn: 79776
2009-08-22 21:13:55 +00:00
Fariborz Jahanian
780db208e0
Removed couple of FIXME comments.
...
llvm-svn: 79757
2009-08-22 20:32:44 +00:00
Fariborz Jahanian
1b5d6133f9
Removed -Wundeclared-selector and -Wreadonly-setter-attrs from
...
-Wmost group (too noisy). Placed warning on parameter type
misatch between methods in sub and super class under
-Wsuper-class-method-mismatch (also too noisy).
llvm-svn: 79745
2009-08-22 19:24:56 +00:00
Chris Lattner
f8344dbfdd
tweak some pointer sema checking stuff (which was added to implement PR4175) to
...
avoid emitting a warning on "someptr > 0". This is obviously questionable (they
could use != instead) but is reasonable, and the warning "ordered comparison
between pointer and integer" didn't make a ton of sense because 0 is a valid
null pointer constant.
Just silence the warning in this case, it is unlikely to indicate a bug.
llvm-svn: 79743
2009-08-22 18:58:31 +00:00
Edward O'Callaghan
856e4ff78d
Second half of, clang, AuroraUX toolchain support.
...
llvm-svn: 79713
2009-08-22 01:06:46 +00:00
Douglas Gregor
c45a40afd1
Implement delayed parsing for member function templates. Fixes PR4608.
...
llvm-svn: 79709
2009-08-22 00:34:47 +00:00
Fariborz Jahanian
8ba39c04ae
Updated statuc page to reflect recent implementations
...
of section 12 [special member functions]
llvm-svn: 79704
2009-08-22 00:18:52 +00:00
Ted Kremenek
cdf5f4aa7b
Remove 'AnalysisContext::setDecl()', as we the Decl associated with an
...
AnalysisContext should never change. Along the way, propagate some constness
around.
llvm-svn: 79701
2009-08-21 23:58:43 +00:00
Ted Kremenek
00aeae98b5
Constify LocationContext* (parent) and Stmt* fields in LocationContext.
...
llvm-svn: 79700
2009-08-21 23:39:58 +00:00
Douglas Gregor
da21f27e09
Add test taking the address of a member function template and converting it to a member pointer.
...
llvm-svn: 79699
2009-08-21 23:32:45 +00:00
Douglas Gregor
1d08135537
Update Clang C++ status to better reflect what is implemented.
...
llvm-svn: 79695
2009-08-21 23:27:46 +00:00
Ted Kremenek
608677a2e1
Remove 'SelfRegion' field from both BasicStoreManager and RegionStoreManager.
...
SelfRegion represented the object bound to 'self' (when analyzing Objective-C
methods) upon entry to a method. Having this region stored on the side ignores
the current stack frame that we might be analyzing (among other things), and is
a problem for interprocedural analysis.
For RegionStoreManager, the value for SelfRegion is just lazily created.
For BasicStoreManager, the value for SelfRegion is bound eagerly to 'self', but
no explicit tracking of SelfRegion on the side is made.
As part of this change, remove the restriction in BasicStoreManager that we only
track ivars for 'self'. This shouldn't actually change anything in terms of
precision, and simplifies the logic.
llvm-svn: 79694
2009-08-21 23:25:54 +00:00
Douglas Gregor
05155d8d7b
Implement conversion function templates, along with the ability to use
...
template argument deduction from a conversion function (C++
[temp.deduct.conv]) with implicit conversions.
llvm-svn: 79693
2009-08-21 23:19:43 +00:00
Mike Stump
0b8c5ae7af
Calculate the address point for a vtable better, and start fleshing out the vcall
...
calculations better.
llvm-svn: 79687
2009-08-21 23:09:30 +00:00
Douglas Gregor
e839486de9
Refactor instantiation of destructors to use the common CXXMethodDecl
...
code, fixing a problem where instantiations of out-of-line destructor
definitions would had the wrong lexical context.
Introduce tests for out-of-line definitions of the constructors,
destructors, and conversion functions of a class template partial
specialization.
llvm-svn: 79682
2009-08-21 22:43:28 +00:00
Fariborz Jahanian
8adc973483
Patch to ir-gen copy assigning array members when synthesizing
...
a copy assignment operator function.
llvm-svn: 79681
2009-08-21 22:34:55 +00:00
Ted Kremenek
14536f6ee0
Add LocationContext* field to VarRegion. This is needed for interprocedural analysis.
...
llvm-svn: 79680
2009-08-21 22:28:32 +00:00
Douglas Gregor
25e8e363df
Add test for out-of-line definition of a conversion function
...
llvm-svn: 79679
2009-08-21 22:23:24 +00:00
Douglas Gregor
e5bbb7d4ef
Fix parsing for out-of-line definitions of constructors and
...
destructors of class templates.
llvm-svn: 79678
2009-08-21 22:16:40 +00:00
Douglas Gregor
5ed5ae476e
Introduce support for constructor templates, which can now be declared
...
and will participate in overload resolution. Unify the instantiation
of CXXMethodDecls and CXXConstructorDecls, which had already gotten
out-of-sync.
llvm-svn: 79658
2009-08-21 18:42:58 +00:00
Fariborz Jahanian
5626384384
Patch to provide ir-gen support in copying array members
...
when synthesizing a copy constructor. Arrays's base element
may have a trivial or non-trivial copy constructor.
llvm-svn: 79653
2009-08-21 18:30:26 +00:00
Mike Stump
62b6680def
Testcase for a recent checkin.
...
llvm-svn: 79646
2009-08-21 18:05:02 +00:00