Daniel Dunbar
16b0ec59f2
Fix newlines.
...
llvm-svn: 123742
2011-01-18 05:36:08 +00:00
Daniel Dunbar
84b643ebba
tests: Force a triple.
...
llvm-svn: 123741
2011-01-18 05:36:03 +00:00
Francois Pichet
6422579411
Add support for explicit constructor calls in Microsoft mode.
...
For example:
class A{
public:
A& operator=(const A& that) {
if (this != &that) {
this->A::~A();
this->A::A(that); // <=== explicit constructor call.
}
return *this;
}
};
More work will be needed to support an explicit call to a template constructor.
llvm-svn: 123735
2011-01-18 05:04:39 +00:00
Ted Kremenek
c8d55da05a
Correctly enable test/Sema/unit-variables.c,
...
thus identifying a minor logical flaw in
UninitializedValuesV2.cpp.
llvm-svn: 123734
2011-01-18 05:00:42 +00:00
Ted Kremenek
cab479f0ee
Teach UninitializedValuesV2 about "int x = x" and
...
also properly handle confluence of loops.
llvm-svn: 123733
2011-01-18 04:53:25 +00:00
Ted Kremenek
b4384fb0df
Get clang-wpa to build in TOT (reflecting updates
...
to the static analyzer).
llvm-svn: 123727
2011-01-18 04:22:19 +00:00
Douglas Gregor
0a791672f0
Introduce the notion of a "minimal" import of ASTs, to better support LLDB.
...
llvm-svn: 123723
2011-01-18 03:11:38 +00:00
Ken Dyck
9a6486934c
Replace calls to CharUnits::fromQuantity() with ones to
...
ASTContext::toCharUnitsFromBits() when converting from bit sizes to char units.
llvm-svn: 123720
2011-01-18 02:01:14 +00:00
Jeffrey Yasskin
8dfa5f1776
Fix warnings found by gcc-4.6, from -Wunused-but-set-variable and
...
-Wint-to-pointer-cast.
llvm-svn: 123719
2011-01-18 02:00:16 +00:00
Ken Dyck
86a7fcc19c
Replace calls to CharUnits::fromQuantity() with ones
...
ASTContext::toCharUnitsFromBits() when converting from bit sizes to char units.
llvm-svn: 123715
2011-01-18 01:56:16 +00:00
NAKAMURA Takumi
bd91f50190
lib/CodeGen/TargetInfo.cpp: Add Win64 calling conversion.
...
FIXME: It would be incompatible to Microsoft's in one point.
On mingw64-gcc, {i128} is expanded for args and returned as {rax, rdx}.
llvm-svn: 123692
2011-01-17 22:56:31 +00:00
NAKAMURA Takumi
a2e468cb0a
lib/Basic/Targets.cpp: __builtin_va_list is as same on win64 mingw64!
...
llvm-svn: 123691
2011-01-17 22:56:23 +00:00
NAKAMURA Takumi
ce5519a790
lib/Basic/Targets.cpp: Fix __declspec() on Mingw-w64.
...
It should be defined as-is. Some headers would detect existence of __declspec and use one.
llvm-svn: 123690
2011-01-17 22:56:16 +00:00
NAKAMURA Takumi
f7c3022369
lib/Basic/Targets.cpp: Set user_label_prefix on Win64 both mingw and msvc.
...
llvm-svn: 123689
2011-01-17 22:56:08 +00:00
Devang Patel
283e89dd22
Simplify.
...
llvm-svn: 123682
2011-01-17 22:23:07 +00:00
Rafael Espindola
2e217d6555
More unnamed_addr.
...
llvm-svn: 123681
2011-01-17 22:22:52 +00:00
Rafael Espindola
de089d462c
merge strings created by
...
const NSConstantString *appKey = @"MyApp";
llvm-svn: 123680
2011-01-17 22:11:21 +00:00
Douglas Gregor
45e84b0053
NetBSD, OpenBSD, and Dragonfly BSD also have arc4random. Patch from
...
Joerg Sonnenberger!
llvm-svn: 123669
2011-01-17 19:16:24 +00:00
Douglas Gregor
a09c6cca72
Add missing <cctype> include, from Joerg Sonnenberger
...
llvm-svn: 123668
2011-01-17 19:15:43 +00:00
Anders Carlsson
48d7285fc6
Handle base and member destructors in CheckFallThrough.
...
llvm-svn: 123667
2011-01-17 19:06:31 +00:00
Argyrios Kyrtzidis
ee56962cc1
Convert "#pragma unused(...)" into tokens for the parser.
...
This allows us to cache a "#pragma unused" that occurs inside an inline C++ member function.
Fixes rdar://8829590&8770988.
llvm-svn: 123666
2011-01-17 18:58:44 +00:00
Rafael Espindola
e79d43da3b
Add unnamed_addr to the special strings created by
...
__builtin___CFStringMakeConstantString
This fixes PR8993. A darwin expert might want to check that this is safe.
llvm-svn: 123658
2011-01-17 16:31:00 +00:00
Anders Carlsson
0acd4cfc33
Remove dead code.
...
llvm-svn: 123612
2011-01-17 03:13:24 +00:00
Anders Carlsson
5610490cdf
Change ParseOptionalCXX0XVirtSpecifierSeq to take a VirtSpecifiers struct.
...
Enforce C++[class.mem]p8:
A virt-specifier-seq shall contain at most one of each virt-specifier.
llvm-svn: 123611
2011-01-17 03:05:47 +00:00
Francois Pichet
7d92ee3852
Remove a c++ file test I inadvertently added in Sema last week.
...
llvm-svn: 123608
2011-01-17 01:08:01 +00:00
Francois Pichet
834bfbf147
Revert r123600.
...
llvm-svn: 123607
2011-01-17 00:56:42 +00:00
Anders Carlsson
11fdbbc1ad
Begin work on supporting "N3206: Override control: Eliminating Attributes", from
...
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3206.htm
This lands support for parsing virt-specifier-seq after member functions, including the
contextual keywords 'final', and 'override'. The keywords are not yet used for anything.
llvm-svn: 123606
2011-01-16 23:56:42 +00:00
Anders Carlsson
128ddbf412
Fix a bug where the -Wmissing-noreturn would always treat constructors with base or member initializers as noreturn.
...
llvm-svn: 123603
2011-01-16 22:12:43 +00:00
Anders Carlsson
36ecb1f208
Add AnalysisContext::dumpCFG.
...
llvm-svn: 123602
2011-01-16 22:05:23 +00:00
Francois Pichet
cb0527c20d
Downgrade ext_enumerator_too_large from ExtWarn to Extension in Microsoft mode. Otherwise you can warnings flooding trying to selfhost clang with fms-extensions because of "unsigned int" -> "signed int" enumerator conversion.
...
llvm-svn: 123600
2011-01-16 21:44:17 +00:00
Douglas Gregor
c124e59c90
Emit an extension diagnostic for C99 designated initializers that appear in C++ code
...
llvm-svn: 123582
2011-01-16 16:13:16 +00:00
Douglas Gregor
cef1a03eb5
Tweak the partial ordering rules for function templates to prefer a
...
non-variadic function template over a variadic one. This matches GCC
and the intent of the C++0x wording, in a way that I think is likely
to be acceptable to the committee.
llvm-svn: 123581
2011-01-16 16:03:23 +00:00
Chris Lattner
906bb9047a
improve compatibility with GCC: when generating the ".d" filename to use
...
and the filename has multiple .'s in it, use the last. For example, "foo.bar.cpp"
should produce "foo.bar.d" not "foo.d". Patch by Johan Boule in PR8391
llvm-svn: 123576
2011-01-16 08:14:11 +00:00
Michael J. Spencer
a0acb46baa
AST/InheritViz: Remove all internal uses of PathV1.
...
llvm-svn: 123553
2011-01-15 21:43:57 +00:00
Ken Dyck
cc56c54889
Add toCharUnitsInBits() to simplify the many calls to CharUnits::fromQuantity() of the form CharUnits::fromQuantity(bitSize, Context.getCharWidth()).
...
llvm-svn: 123542
2011-01-15 18:38:59 +00:00
Francois Pichet
07a2e14f44
Unbreak the MSVC build again: replace bzero by memset.
...
llvm-svn: 123538
2011-01-15 13:27:47 +00:00
Rafael Espindola
facb7d0ade
Also set unnamed_addr on declarations.
...
llvm-svn: 123531
2011-01-15 08:23:14 +00:00
Chris Lattner
008c0a4a68
clean up some dead code around __has_include() processing code identified by the ted-o-matic.
...
rdar://8867482
llvm-svn: 123522
2011-01-15 06:57:04 +00:00
Douglas Gregor
5590be0491
Introduce a new kind of TemplateName that captures a substituted
...
template template parameter pack that cannot be fully expanded because
its enclosing pack expansion could not be expanded. This form of
TemplateName plays the same role as SubstTemplateTypeParmPackType and
SubstNonTypeTemplateParmPackExpr do for template type parameter packs
and non-type template parameter packs, respectively.
We should now handle these multi-level pack expansion substitutions
anywhere. The largest remaining gap in our variadic-templates support
is that we cannot cope with non-type template parameter packs whose
type is a pack expansion.
llvm-svn: 123521
2011-01-15 06:45:20 +00:00
Ted Kremenek
b749a6d62a
Add initial prototype for implementation of
...
-Wuninitialized based on CFG dataflow analysis. WIP.
llvm-svn: 123512
2011-01-15 02:58:47 +00:00
Ted Kremenek
688b674087
Add const version if CFG::isBlkExpr().
...
llvm-svn: 123511
2011-01-15 02:58:42 +00:00
Argyrios Kyrtzidis
a88942ad9c
Store/retrieve -fshort-enums for PCH, fixes rdar://8854933.
...
llvm-svn: 123510
2011-01-15 02:56:16 +00:00
Douglas Gregor
36c0c791a8
Tweak the storage mechanism for a set of overloaded template names in
...
the TemplateName class. Nothing actually changes, but I find this less
objectionable (and it will factor into an upcoming change).
llvm-svn: 123508
2011-01-15 01:39:24 +00:00
Douglas Gregor
cdbc539aee
Introduce a new expression kind, SubstNonTypeTemplateParmPackExpr,
...
that captures the substitution of a non-type template argument pack
for a non-type template parameter pack within a pack expansion that
cannot be fully expanded. This follows the approach taken by
SubstTemplateTypeParmPackType.
llvm-svn: 123506
2011-01-15 01:15:58 +00:00
Douglas Gregor
e1d60df0fc
Teach template template argument pack expansions to keep track of the
...
number of expansions, when we know it, and propagate that information
through Sema.
llvm-svn: 123493
2011-01-14 23:41:42 +00:00
Douglas Gregor
715e461463
Handle substitutions into function parameter packs whose patterns
...
contain multiple parameter packs at different levels.
llvm-svn: 123488
2011-01-14 22:40:04 +00:00
Ted Kremenek
8cb349de80
Cleanup confused code that redundantly called "getDeclContext()" twice.
...
Found by clang static analyzer.
llvm-svn: 123485
2011-01-14 22:31:41 +00:00
Ted Kremenek
bea8b40a86
The variable 'ReusedDecl' is written but never read.
...
Remove this variable (found by clang static analyzer).
llvm-svn: 123484
2011-01-14 22:31:38 +00:00
Ted Kremenek
7f1f3f6e32
The variable 'isTemplateSpecialization' is no longer
...
used; nuke all assignments and its declaration.
llvm-svn: 123483
2011-01-14 22:31:36 +00:00
Ted Kremenek
c2a6412b97
Remove unused store to variable 'Name'. Found by clang static analyzer.
...
llvm-svn: 123482
2011-01-14 22:31:34 +00:00