Chris Lattner
00a10caeb6
improve the code that handles IR generation of byte-sized string literals to avoid
...
allocating an std::string.
llvm-svn: 149924
2012-02-06 22:47:00 +00:00
Abramo Bagnara
e0a70b2656
Added source location for the template keyword in DependentTemplateSpecializationTypeLoc nodes (DTSTLoc).
...
The new info is propagated to TSTLoc on template instantiation, getting rid of 3 FIXMEs in TreeTransform.h and another one Parser.cpp.
Simplified code in TypeSpecLocFiller visitor methods for DTSTLoc and DependentNameTypeLoc by removing what now seems to be dead code (adding corresponding assertions).
llvm-svn: 149923
2012-02-06 22:45:07 +00:00
Chris Lattner
3def9aeaff
use cheaper llvm APIs for various bits of IR generation.
...
llvm-svn: 149916
2012-02-06 22:16:34 +00:00
Chris Lattner
72977a18db
simplify code and smallvectorize.
...
llvm-svn: 149915
2012-02-06 22:00:56 +00:00
Manuel Klimek
e716741f8b
Canonicalize the base class used in the nested-name-specifier of a generated
...
assignment operator.
llvm-svn: 149909
2012-02-06 21:51:39 +00:00
Eli Friedman
8f66cdffa0
Fix the result of VarDecl::checkInitIsICE so it is consistently accurate in C++11 mode. PR11928.
...
llvm-svn: 149908
2012-02-06 21:50:18 +00:00
Ted Kremenek
d22b98aad2
Tweak format string checking to work with %@ and ObjC toll-free bridging. <rdar://problem/10814120>
...
llvm-svn: 149907
2012-02-06 21:45:29 +00:00
Aaron Ballman
abc7c5c5b6
Added MSVC visualizers for PointerIntPair and PointerUnions.
...
Patch by Nikola Smiljanic
llvm-svn: 149896
2012-02-06 20:47:31 +00:00
Eric Christopher
65c05fa79c
Rewrite the debug action handling to take -verify into account.
...
Add a quiet option for dwarfdump and move it out of NDEBUG only.
Still requires an option as we don't want this on by default.
llvm-svn: 149894
2012-02-06 19:43:51 +00:00
Eric Christopher
3622221c87
Update the command line here and update the comment, we're just going
...
to leave this as a debug only option for now.
llvm-svn: 149890
2012-02-06 19:13:09 +00:00
Abramo Bagnara
9033e2b358
Removed redundant location info from ElaboratedTypeLoc / DependentNameLoc / DependentTSTLoc. Uniformed names referencing elaborated keyword. No intended functionality changes.
...
llvm-svn: 149889
2012-02-06 19:09:27 +00:00
Fariborz Jahanian
adfe905145
objc: fixes a problem in block type comparison involving
...
enums with underlying type explicitly specified
(feature which is on by default in objective-c).
// rdar://10798770
llvm-svn: 149888
2012-02-06 19:06:20 +00:00
Devang Patel
60fc242545
Let an ivar directly refer property TAG.
...
llvm-svn: 149881
2012-02-06 18:20:02 +00:00
Benjamin Kramer
3bb42f38f4
- Turn the other distribution checks into range compares.
...
- Turn openSUSE version parsing into a StringSwitch
- Add an entry for Fedora release 16 (Verne)
llvm-svn: 149872
2012-02-06 15:33:06 +00:00
Abramo Bagnara
48c05be124
Added location for template keyword in TemplateSpecializationTypeLoc. In the process removed some naming ambiguities.
...
llvm-svn: 149870
2012-02-06 14:41:24 +00:00
Benjamin Kramer
7c3f09d416
Consolidate the ubuntu detection logic a bit, add an entry for Ubuntu 12.04 aka precise pangolin.
...
llvm-svn: 149869
2012-02-06 14:36:09 +00:00
Abramo Bagnara
65f7c3dba2
Fixed instantiation of DependentScopeDeclRefExpr.
...
llvm-svn: 149868
2012-02-06 14:31:00 +00:00
Benjamin Kramer
bf8da9d706
Move instantiateTemplateAttribute into the sema namespace, make helpers static.
...
llvm-svn: 149864
2012-02-06 11:13:08 +00:00
Craig Topper
33aa76c88a
Test for r149855.
...
llvm-svn: 149862
2012-02-06 08:31:19 +00:00
Craig Topper
5b5935d17d
Fix vector splat casts to cast element to the appropriate vector element before inserting into the vector. Fixes PR11930.
...
llvm-svn: 149855
2012-02-06 05:05:50 +00:00
Richard Smith
574e896976
Implement name mangling for scalar value initialization. Reported on IRC by Xeo.
...
llvm-svn: 149854
2012-02-06 02:54:51 +00:00
Aaron Ballman
746c62bf88
Invalid O levels on the command line no longer have a confusing error.
...
llvm-svn: 149852
2012-02-06 00:40:31 +00:00
Gregory Szorc
04d612aa12
[clang.py] Implement Type.is_pod
...
llvm-svn: 149842
2012-02-05 19:42:06 +00:00
Tobias Grosser
6a7644683c
[clang.py] Change type -> Type
...
Names that have corresponding classes in python are commonly started with an
uppercase letter. Let's follow that convention.
llvm-svn: 149831
2012-02-05 12:15:56 +00:00
Tobias Grosser
a0022e911e
[clang.py] Implement Cursor.enum_type
...
Contributed by: Gregory Szorc <gregory.szorc@gmail.com>
llvm-svn: 149830
2012-02-05 11:42:25 +00:00
Tobias Grosser
062d2a3c89
[clang.py] Implement Cursor.underlying_typedef_type
...
Contributed by: Gregory Szorc <gregory.szorc@gmail.com>
llvm-svn: 149829
2012-02-05 11:42:20 +00:00
Tobias Grosser
13d92a4b8f
[clang.py] add TypeKind.VECTOR
...
Added a missing enumeration.
Contributed by: Gregory Szorc <gregory.szorc@gmail.com>
llvm-svn: 149828
2012-02-05 11:42:14 +00:00
Tobias Grosser
49bd32c1d2
[clang.py] Add CursorKind.{is_translation_unit, is_preprocessing, is_unexposed}
...
Contributed by: Gregory Szorc <gregory.szorc@gmail.com>
llvm-svn: 149827
2012-02-05 11:42:09 +00:00
Tobias Grosser
ebb0ae82a2
[clang.py] Implement Cursor.hash
...
Contributed by: Gregory Szorc <gregory.szorc@gmail.com>
llvm-svn: 149826
2012-02-05 11:42:03 +00:00
Tobias Grosser
9fc76f2cbf
[clang.py] Expose diagnostic category and option info to Python binding
...
Contributed by: Gregory Szorc <gregory.szorc@gmail.com>
llvm-svn: 149825
2012-02-05 11:41:58 +00:00
Tobias Grosser
fb7b4aa45a
[clang.py] Implement __eq__ and __ne__ on SourceLocation and SourceRange
...
There is no type checking in __eq__, so ctypes will throw if the wrong
Python type is passed in to the C function. Personally, I feel garbage
in means garbage out and it isn't worth testing for this explicitly.
Contributed by: Gregory Szorc <gregory.szorc@gmail.com>
llvm-svn: 149824
2012-02-05 11:40:59 +00:00
Benjamin Kramer
a20863e67d
Fix a typo (builting -> builtin).
...
Patch by Afriza N. Arief!
llvm-svn: 149822
2012-02-05 11:24:56 +00:00
Benjamin Kramer
2c0dd81b73
Move operator overload out of line. Calling operator<< on a forward declared type doesn't seem to work on MSVC.
...
llvm-svn: 149819
2012-02-05 09:46:30 +00:00
Aaron Ballman
0e95d90acc
Fixing a warning in MSVC (this is also a test commit)
...
llvm-svn: 149806
2012-02-05 03:08:16 +00:00
Richard Smith
2de5a939e2
constexpr: Implement DR1358: An instantiation of a constexpr function which
...
can't produce a constant expression is not ill-formed (so long as some
instantiation of that function can produce a constant expression).
llvm-svn: 149802
2012-02-05 02:30:54 +00:00
Chris Lattner
9c81833c8d
reapply the patches reverted in r149477, which enable ConstantDataArray.
...
llvm-svn: 149801
2012-02-05 02:30:40 +00:00
Dylan Noblesmith
2c1dd2716a
Basic: import SmallString<> into clang namespace
...
(I was going to fix the TODO about DenseMap too, but
that would break self-host right now. See PR11922.)
llvm-svn: 149799
2012-02-05 02:13:05 +00:00
Dylan Noblesmith
e27789991d
Basic: import OwningPtr<> into clang namespace
...
llvm-svn: 149798
2012-02-05 02:12:40 +00:00
NAKAMURA Takumi
9ef84dde49
Try to fix Benjamin's r149781 on MSVC.
...
MSVC has complained the definition of "inline const DiagnosticBuilder &operator<<(const DiagnosticBuilder &DB, CanQualType T)" in clang/AST/CanonicalType.h.
llvm-svn: 149797
2012-02-05 02:00:07 +00:00
Richard Smith
c82fae6070
constexpr: Fix implementation of DR1311: check for volatile qualifiers in
...
lvalue-to-rvalue conversions on the source type of the conversion, not the
target type (which has them removed for non-class types).
llvm-svn: 149796
2012-02-05 01:23:16 +00:00
Bob Wilson
49708d41a6
Preserve alignment for Neon vld1_lane/dup and vst1_lane intrinsics.
...
We had been generating load/store instructions with the default alignment
for the vector element type, even when the pointer argument had less alignment.
<rdar://problem/10538555>
llvm-svn: 149794
2012-02-04 23:58:08 +00:00
Bob Wilson
6fb01c2c96
Skip freebsd driver test when ppc32/ppc64 targets are not configured.
...
Otherwise, the clang driver falls back to invoking gcc and the ppc tests
fail.
llvm-svn: 149793
2012-02-04 23:15:59 +00:00
Sebastian Redl
860eb7cf12
A useful approximation of initializer list constructors.
...
llvm-svn: 149792
2012-02-04 21:27:47 +00:00
Sebastian Redl
ab3f7a4e3d
Factor out the actual overload resolution from TryConstructorInitialization, since it needs to be used again for list constructor resolution.
...
llvm-svn: 149791
2012-02-04 21:27:39 +00:00
Sebastian Redl
88e4d4933a
Don't unwrap initializer lists before calling TryConstructorInitialization, instead doing a little more work inside. This should make finding initializer list constructors easier, as well as fix one place where the ({}) vs {} issue was probably poorly handled.
...
llvm-svn: 149790
2012-02-04 21:27:33 +00:00
Sebastian Redl
f2089a409e
Remove an unused and unimplemented function prototype.
...
llvm-svn: 149789
2012-02-04 21:27:28 +00:00
Fariborz Jahanian
42d05f2faf
Also, these objc++ rewriter tests are meant to run in NeXt's
...
fragile-abi mode.
llvm-svn: 149788
2012-02-04 19:06:06 +00:00
Fariborz Jahanian
27062dd7d2
These tests are intended to run in NeXt's legacy objective-c abi (fragile-abi).
...
Make this explicit since default is now nonfragile-abi.
llvm-svn: 149787
2012-02-04 18:56:43 +00:00
Benjamin Kramer
6bc0952b0f
Some compilers do require Diagnostic.h to be present here.
...
llvm-svn: 149785
2012-02-04 14:13:11 +00:00
Benjamin Kramer
1edced6810
Don't include Diagnostics.h twice when it's required zero times.
...
llvm-svn: 149784
2012-02-04 14:09:30 +00:00