Anders Carlsson
e437c6870a
Add support for 3dnow and 3dnowa, and define the target macros accordingly. (This is needed in order to build Qt).
...
llvm-svn: 94658
2010-01-27 03:47:49 +00:00
Anders Carlsson
673d1401c5
It's not Explicit anymore.
...
llvm-svn: 94657
2010-01-27 03:27:53 +00:00
Anders Carlsson
40446e8a0a
Structs and classes with non-trivial destructors or copy constructors should be passed indirectly in the 32-bit ABI. Fixes PR6094.
...
llvm-svn: 94656
2010-01-27 03:25:19 +00:00
Anders Carlsson
0af6ac417f
Update the xcode project for real and don't check in a failing test.
...
llvm-svn: 94655
2010-01-27 03:24:27 +00:00
Anders Carlsson
26809837b9
Update xcode project.
...
llvm-svn: 94654
2010-01-27 03:22:55 +00:00
Anders Carlsson
2a58948dc9
XFAIL this for now.
...
llvm-svn: 94653
2010-01-27 03:06:00 +00:00
Anders Carlsson
29f899dc6f
Fix test/CodeGenCXX/default-destructor-synthesis.cpp not to rely on asm output.
...
llvm-svn: 94652
2010-01-27 03:03:08 +00:00
Anders Carlsson
483d08a25a
Fix attr.cpp by not checking the generated assembler output.
...
llvm-svn: 94651
2010-01-27 02:49:52 +00:00
John McCall
58cc69d4c1
Implement access control for overloaded functions. Suppress access control
...
diagnostics in "early" lookups, such as during typename checks and when building
unresolved lookup expressions.
llvm-svn: 94647
2010-01-27 01:50:18 +00:00
Owen Anderson
029eb7d243
Clarify the documentation of ext_vector, and add a small example. Hopefully
...
this will alleviate some confusion about the existence of this feature.
Comments/improvements welcome.
llvm-svn: 94645
2010-01-27 01:22:36 +00:00
Daniel Dunbar
b473083fcd
Support -marm by treating it as an alias for -mno-thumb.
...
llvm-svn: 94644
2010-01-27 01:06:14 +00:00
Daniel Dunbar
f48d51d693
Driver/Darwin: Eliminate invalid uses of DarwinVersion -- this fixes a number of
...
defaults when targetting iPhoneOS (blocks, non-fragile ABI, stack protector).
llvm-svn: 94642
2010-01-27 00:57:11 +00:00
Daniel Dunbar
6d23b2f503
Driver/Darwin: Simplify target version checks.
...
llvm-svn: 94641
2010-01-27 00:57:03 +00:00
Daniel Dunbar
8360803a8a
Driver/Darwin: Fix a few link arguments when targetting different iPhoneOS
...
versions to match gcc (which is matching linker changes).
llvm-svn: 94640
2010-01-27 00:56:56 +00:00
Daniel Dunbar
b73bb5d085
Driver/Darwin: Switch clang -triple synthesis to use computed target information.
...
llvm-svn: 94639
2010-01-27 00:56:49 +00:00
Daniel Dunbar
7c870175eb
Driver/Darwin: Eliminate confusing IsIPhoneOS parameter -- this was actually
...
just indicating whether the default target should be iPhoneOS.
llvm-svn: 94638
2010-01-27 00:56:44 +00:00
Daniel Dunbar
15c8942baf
Driver/Darwin: Switch to using isTargetIPhoneOS where appropriate.
...
llvm-svn: 94637
2010-01-27 00:56:37 +00:00
Daniel Dunbar
b92d12622c
Driver/Darwin: Disallow -m{macosx,iphoneos}-version-min as -Xarch arguments.
...
llvm-svn: 94636
2010-01-27 00:56:31 +00:00
Daniel Dunbar
3b8e50d0ed
Driver/Darwin: Track target platform more explicitly in tool chain, eventually
...
this should just be part of the tool chain itself once we have eliminated
argument translation.
llvm-svn: 94635
2010-01-27 00:56:25 +00:00
Ted Kremenek
7ad29c72e3
Add const version of ObjCMethodDecl::getCanonicalDecl().
...
llvm-svn: 94633
2010-01-27 00:37:54 +00:00
Ted Kremenek
e36bceb97d
Teach RegionStore to handle initialization of incomplete arrays in structures using a compound value. Fixes <rdar://problem/7515938>.
...
llvm-svn: 94622
2010-01-26 23:51:00 +00:00
Ted Kremenek
6296e0990b
Move 'LocalCheckers.h' to the 'Checkers' subdirectory.
...
llvm-svn: 94609
2010-01-26 22:59:55 +00:00
Ted Kremenek
b29faead69
Move 'include/Checkers/PathSensitive/Checkers' directory to 'include/Checkers'.
...
llvm-svn: 94608
2010-01-26 22:56:15 +00:00
Fariborz Jahanian
d59baba9fd
Patch to add 'volatile' to first argument of all
...
sync compare_and_swap to match them with gcc.
It also fixes a few incorrect argument defitions.
(fixes radar 7540291).
llvm-svn: 94607
2010-01-26 22:48:42 +00:00
Mike Stump
ded0a406b4
Refine the non-virtual this adjustments for thunks by using the offset
...
to the declaring class from the nearest virtual base class. WIP.
llvm-svn: 94606
2010-01-26 22:44:01 +00:00
Sebastian Redl
833ef45b1d
Bring some semblance of order into Decl.h and Decl.cpp. While at it, fix some typo comments and remove an unused and unimplemented function prototype. No functionality change.
...
llvm-svn: 94599
2010-01-26 22:01:41 +00:00
Mike Stump
a04ecfb701
Refine the non-virtual this adjustments for thunks by using the offset
...
to the declaring class from the nearest virtual base class. WIP.
This fixes 40% of all the problems remaining in one of my testcases.
llvm-svn: 94592
2010-01-26 21:35:27 +00:00
Fariborz Jahanian
f0ed69cb5b
Added assert to the rewrite.
...
llvm-svn: 94584
2010-01-26 20:37:44 +00:00
Ken Dyck
7df3cbeb01
Convert one last size variable to CharUnits (follow-on to 94577).
...
llvm-svn: 94579
2010-01-26 19:59:28 +00:00
Ken Dyck
3eb55cfe8a
Use CharUnits for sizes, offsets, alignments, and padding amounts for values
...
that are in character units.
llvm-svn: 94577
2010-01-26 19:44:24 +00:00
Douglas Gregor
64213261b4
Fix typo in comment
...
llvm-svn: 94576
2010-01-26 19:43:43 +00:00
Ted Kremenek
0b86e3a72d
Implement 'clang_getInclusions()' in CIndex. This API allows clients to walk the set of files included in a translation unit via the C API.
...
llvm-svn: 94575
2010-01-26 19:31:51 +00:00
Douglas Gregor
9bd6db5834
Eliminate clang_getInstantiationLocationOffset(), and instead add an
...
offset parameter to clang_getInstantiationLocation().
llvm-svn: 94573
2010-01-26 19:19:08 +00:00
Ken Dyck
5262b11962
Use CharUnits for alignments in character units.
...
llvm-svn: 94571
2010-01-26 19:13:33 +00:00
Sebastian Redl
497c0a418d
Fix two redefinitions in test cases that weren't diagnosed yet, but will be soon.
...
llvm-svn: 94565
2010-01-26 18:52:33 +00:00
Ken Dyck
a0f99ff230
Use CharUnits for alignment of UTF16 string in GetAddrOfConstantCFString().
...
llvm-svn: 94564
2010-01-26 18:46:23 +00:00
Ken Dyck
e5402e4749
Use CharUnits for alignment in EmitNullInitializationLValue().
...
llvm-svn: 94563
2010-01-26 18:35:11 +00:00
Douglas Gregor
6165611986
Implement clang_annotateTokens(), which associates cursors with each
...
of the tokens within a raw token stream. This does not even attempt to
handle macros yet.
llvm-svn: 94561
2010-01-26 18:31:56 +00:00
Fariborz Jahanian
f9e8c2b759
Refix rewriting of an ivar access when it is
...
type-cast to its sub-class (radar 7575882).
llvm-svn: 94559
2010-01-26 18:28:51 +00:00
Ted Kremenek
b478ff4efc
Add 'PostVisitTU' callback hook to 'perform_test_load()' to allow a special callback after the translation unit has been loaded (and streamed).
...
llvm-svn: 94557
2010-01-26 17:59:48 +00:00
Ted Kremenek
a97a5cd59e
Allow the 'visitor' argument to 'perform_test_load()' to be NULL. The
...
utility of this change will be made clearer in a subsequent patch when
perform_test_load()' does more than stream the AST.
llvm-svn: 94556
2010-01-26 17:55:33 +00:00
Anders Carlsson
ca4a5459d8
Use the right definition when emitting a global variable. Fixes PR5564.
...
llvm-svn: 94555
2010-01-26 17:43:42 +00:00
Anders Carlsson
7228117108
Change getUnique to return a GlobalDecl. Fixes PR6147.
...
llvm-svn: 94554
2010-01-26 17:36:47 +00:00
Ken Dyck
a6046ab82b
Correct cut-and-paste error in doxygen comment for newly introduced
...
getTypeAlignInChars().
llvm-svn: 94553
2010-01-26 17:25:18 +00:00
Ken Dyck
24d28d6cde
Add getTypeAlignInChars() for use in code that works in alignments in character
...
units.
llvm-svn: 94552
2010-01-26 17:22:55 +00:00
Douglas Gregor
27b4fa994d
Introduce a CIndex API for lexing the raw tokens within a given source
...
range. The token-annotation function does nothing, yet.
llvm-svn: 94551
2010-01-26 17:06:03 +00:00
Ken Dyck
86a8c957da
Replace inheritance of RegionRawOffset from std::pair with two private member
...
variables to improve readability and encapsulation.
llvm-svn: 94550
2010-01-26 17:01:47 +00:00
Ken Dyck
98ca79435a
Introduce CodeGenModule::GetTargetTypeStoreSize() to calculate the store size
...
of LLVM types in character units.
llvm-svn: 94542
2010-01-26 13:48:07 +00:00
John McCall
1f6386b79b
Avoid some unnecessary copying of unresolved lookup results.
...
llvm-svn: 94531
2010-01-26 07:37:41 +00:00
John McCall
8fe6808de0
Handle redeclarations found by ADL deterministically and reasonably.
...
This solution relies on an O(n) scan of redeclarations, which means it might
scale poorly in crazy cases with tons of redeclarations brought in by a ton
of distinct associated namespaces. I believe that avoiding this
is not worth the common-case cost.
llvm-svn: 94530
2010-01-26 07:16:45 +00:00
Chandler Carruth
72343706c1
Correctly treat 64 bit integers specified via the mode attribute as the 'long'
...
type when that type is 64 bits wide, and the 'long long' type when 'long' is
only 32 bits wide. This fixes PR6108.
Also adds a bunch of test cases to ensure proper conversion between equally
sized standard types and mode-specified types on both 32 and 64 bit targets.
llvm-svn: 94527
2010-01-26 06:39:24 +00:00
Anders Carlsson
d6b21e4842
If a global variable has an initializer with side effects, it can never be deferred (even if it's in an anonymous namespace).
...
llvm-svn: 94525
2010-01-26 06:15:16 +00:00
John McCall
91f61fc921
Allow ADL to find functions imported by using decls. Leave wordy comment
...
about interaction between ADL and default arguments. Shrug shoulders, commit.
llvm-svn: 94524
2010-01-26 06:04:06 +00:00
Chandler Carruth
0354bf4405
Remove a few more references to index-test; this was killed in r94210.
...
llvm-svn: 94522
2010-01-26 05:36:44 +00:00
Anders Carlsson
0b5f1ddf0a
Fix another debug info crash with virtual bases.
...
llvm-svn: 94520
2010-01-26 05:26:39 +00:00
Anders Carlsson
17ed0496c5
Fix the test I broke, and also fix a crash when declaring a virtual destructor. Add debug info support for pure virtual member functions.
...
llvm-svn: 94519
2010-01-26 05:19:50 +00:00
Anders Carlsson
b85f0ab976
Factor creating the DISubprogram for a member function out into a separate function.
...
llvm-svn: 94513
2010-01-26 04:49:33 +00:00
Anders Carlsson
c1821155bf
Simplify CGDebugInfo::CollectCXXMemberFunctions a little. More to come.
...
llvm-svn: 94511
2010-01-26 04:40:11 +00:00
Anders Carlsson
20bbbd489b
Make sure to always mark a global variable as not being constant if it has a C++ initializer.
...
llvm-svn: 94504
2010-01-26 04:02:23 +00:00
Daniel Dunbar
19afd61201
Simplify.
...
llvm-svn: 94503
2010-01-26 03:56:40 +00:00
Mike Stump
77537b136e
Be sure to track the non-virtual part of the vcall offset in complex
...
multiple inheritance cases. WIP.
This fixes 20% of the outstanding problems found by the randomized
tester.
llvm-svn: 94499
2010-01-26 03:42:22 +00:00
John McCall
4c4c1dfc2b
Preserve access bits through overload resolution much better. Some
...
general refactoring in operator resolution.
llvm-svn: 94498
2010-01-26 03:27:55 +00:00
Douglas Gregor
47751d6c21
Introduce clang_getInstantiationLocationOffset(), which decomposes a
...
source location in file + offset.
llvm-svn: 94497
2010-01-26 03:07:15 +00:00
Daniel Dunbar
d54669d30b
Driver/Darwin: Honor IPHONEOS_DEPLOYMENT_TARGET.
...
llvm-svn: 94488
2010-01-26 01:45:19 +00:00
Daniel Dunbar
d86666ffd7
Driver/Darwin: Stuff iPhoneOS into environment portion of the (llvm/clang) triple instead of keying off architecture. Also, fix version define to properly include the revision/micro component of the version number.
...
llvm-svn: 94487
2010-01-26 01:44:04 +00:00
John McCall
b89836b6db
Pass access specifiers around in overload resolution.
...
llvm-svn: 94485
2010-01-26 01:37:31 +00:00
Fariborz Jahanian
7b99f27392
Fix a regression caused by my rewriting of cast of ivar
...
access (was radar 7575882).
llvm-svn: 94481
2010-01-26 00:29:22 +00:00
Mike Stump
90181eb294
Fixup a missing vcall entry. WIP.
...
llvm-svn: 94478
2010-01-26 00:05:04 +00:00
Devang Patel
c54353d935
First cut at emitting inheritance info.
...
llvm-svn: 94473
2010-01-25 23:32:18 +00:00
Devang Patel
7af03fb4f0
Emit debug info for virtual functions.
...
llvm-svn: 94467
2010-01-25 23:17:15 +00:00
John McCall
5cb5287467
Fixit to remove 'volatile' in file-scope 'asm volatile'.
...
llvm-svn: 94466
2010-01-25 23:12:50 +00:00
Daniel Dunbar
4e29505a95
Driver: Fix fallback to gcc to -c instead of -S if trying to generate an LLVM bc
...
file.
llvm-svn: 94463
2010-01-25 22:35:08 +00:00
Ted Kremenek
97a4537138
Pull functions that translate from CXSourceLocation to SourceLocation (and back) to a separate header file.
...
llvm-svn: 94462
2010-01-25 22:34:44 +00:00
John McCall
9dfb16210e
Warn on top-level 'asm volatile' (instead of misparsing it).
...
"Fixes" rdar://problem/7574870
llvm-svn: 94458
2010-01-25 22:27:48 +00:00
Fariborz Jahanian
5cda92820f
global variable that binds reference to a non-lvalue reproted
...
as NYI now.
llvm-svn: 94453
2010-01-25 21:40:39 +00:00
Ted Kremenek
6dc73bc183
Fix include guard.
...
llvm-svn: 94447
2010-01-25 21:09:34 +00:00
Fariborz Jahanian
d360ce9d57
Fixes a rewriting bug of access ivar of a variable cast
...
to subclass. (Fixes radar 7575882).
llvm-svn: 94444
2010-01-25 20:50:02 +00:00
Fariborz Jahanian
210031b79c
Fix a code gen. bug involving compiling global references.
...
(fixes radar 7574896).
llvm-svn: 94434
2010-01-25 18:30:26 +00:00
Douglas Gregor
e391b01a3a
Add test case for ? : crasher
...
llvm-svn: 94429
2010-01-25 17:48:13 +00:00
Ted Kremenek
fe0fc40c3b
Move BugReporter.h, PathDiagnostic.h, and BugType.h to 'include/Checker/BugReporter'
...
llvm-svn: 94428
2010-01-25 17:10:22 +00:00
Eli Friedman
673f94a0c9
Code simplification; this should have no visible effects.
...
llvm-svn: 94427
2010-01-25 17:04:54 +00:00
Douglas Gregor
5bce76cd53
Loosen preconditions for clang_getCursorSpelling(), returning an empty
...
string when given a cursor that does not have a name. Also, don't give
silly names for statements and non-reference expressions.
llvm-svn: 94426
2010-01-25 16:56:17 +00:00
Douglas Gregor
33f1685607
Expect the impossible
...
llvm-svn: 94425
2010-01-25 16:45:46 +00:00
Douglas Gregor
7210063126
Move the type specifier location for elaborated-type-specifiers from
...
the tag kind (union, struct, class, enum) over to the name of the tag,
if there is a name, since most clients want to point at the name.
llvm-svn: 94424
2010-01-25 16:33:23 +00:00
Douglas Gregor
7201f9f6b8
Visit the condition variables of while and for loops; also, visit the
...
condition even when we've visited the condition variable, so that
we'll see implicit conversions there.
llvm-svn: 94423
2010-01-25 16:12:32 +00:00
Benjamin Kramer
ea9f3f240c
Update C++ include paths for Exherbo, by Ingmar Vanhassel.
...
llvm-svn: 94420
2010-01-25 12:20:15 +00:00
Daniel Dunbar
f91a8d64d4
cindex/Python: Move translation unit load functions to Index, there isn't a good reason to have separate static methods for this.
...
llvm-svn: 94419
2010-01-25 09:16:55 +00:00
Daniel Dunbar
dacede8349
cindex/Python: Support file objects as unsaved_files, albeit inefficiently.
...
llvm-svn: 94418
2010-01-25 09:16:41 +00:00
Ted Kremenek
b2c9aa6cbc
Add missing header.
...
llvm-svn: 94409
2010-01-25 05:19:37 +00:00
Ted Kremenek
0a4546b6fc
Add missing file.
...
llvm-svn: 94407
2010-01-25 04:48:38 +00:00
Ted Kremenek
d6b8708643
Split libAnalysis into two libraries: libAnalysis and libChecker.
...
(1) libAnalysis is a generic analysis library that can be used by
Sema. It defines the CFG, basic dataflow analysis primitives, and
inexpensive flow-sensitive analyses (e.g. LiveVariables).
(2) libChecker contains the guts of the static analyzer, incuding the
path-sensitive analysis engine and domain-specific checks.
Now any clients that want to use the frontend to build their own tools
don't need to link in the entire static analyzer.
This change exposes various obvious cleanups that can be made to the
layout of files and headers in libChecker. More changes pending. :)
This change also exposed a layering violation between AnalysisContext
and MemRegion. BlockInvocationContext shouldn't explicitly know about
BlockDataRegions. For now I've removed the BlockDataRegion* from
BlockInvocationContext (removing context-sensitivity; although this
wasn't used yet). We need to have a better way to extend
BlockInvocationContext (and any LocationContext) to add
context-sensitivty.
llvm-svn: 94406
2010-01-25 04:41:41 +00:00
Chris Lattner
1df52e7d6a
merge another one in.
...
llvm-svn: 94404
2010-01-25 03:38:26 +00:00
Chris Lattner
fe28ef686e
consolidate two testcases.
...
llvm-svn: 94403
2010-01-25 03:37:52 +00:00
Chris Lattner
83b0dd16c3
fix rdar://7556129 a crash in blocks debug info codegen.
...
llvm-svn: 94402
2010-01-25 03:34:56 +00:00
Chris Lattner
bf78478d35
simplify code.
...
llvm-svn: 94401
2010-01-25 03:29:35 +00:00
Daniel Dunbar
90986f5d3f
cindex/Python: Add Cursor test.
...
llvm-svn: 94397
2010-01-25 00:44:21 +00:00
Daniel Dunbar
9ad194dc18
cindex/Python: Implement support for unsaved/remapped files.
...
llvm-svn: 94396
2010-01-25 00:44:11 +00:00
Daniel Dunbar
fcf2d428e4
ASTUnit: Don't check that input files exist when parsing ASTs from the command
...
line -- they may be remapped (fake) files. This is useful for testing parsing
entirely from memory.
llvm-svn: 94395
2010-01-25 00:44:02 +00:00
Daniel Dunbar
7baaee93e7
cindex/Python: Fix/simplify Index.parse() passing command line arguments.
...
llvm-svn: 94394
2010-01-25 00:43:31 +00:00
Daniel Dunbar
d01592617f
Update comment.
...
llvm-svn: 94393
2010-01-25 00:43:14 +00:00
Daniel Dunbar
36104a8665
cindex/Python: Update comments, add module docstrings, add LLVM headers.
...
llvm-svn: 94392
2010-01-25 00:43:08 +00:00
Daniel Dunbar
2def7eb3ca
CIndex: Don't crash when visitor passes null child statements, and sprinkle some
...
asserts in cursor construction functions to make this more obvious.
Doug, please check. c-index-test would previously crash on this code:
--
for(;;) {}
--
Do we need a custom visit of the for statement to cover the variable
declarations?
llvm-svn: 94391
2010-01-25 00:40:30 +00:00
Daniel Dunbar
3e555fd85f
cindex/Python: Move Cursor.is_ methods to CursorKind, and add test.
...
Also, add CursorKind.get_all_kinds().
llvm-svn: 94389
2010-01-24 21:20:39 +00:00
Daniel Dunbar
195cdeceaf
cindex/Python: Implement explicit objects for CursorKind enumeration values.
...
llvm-svn: 94388
2010-01-24 21:20:29 +00:00
Daniel Dunbar
55d6964e28
cindex/Python: Fetch SourceLocation instantiation location information on lazily, it isn't free.
...
Also, add repr() support to SourceRange.
llvm-svn: 94387
2010-01-24 21:20:21 +00:00
Daniel Dunbar
aca5acfd01
cindex/Python: Add Cursor.get_usr().
...
Also, change Cursor.spelling to return None for non-decls, for consistency with get_usr().
llvm-svn: 94386
2010-01-24 21:20:13 +00:00
Daniel Dunbar
501e91f3b7
cindex/Python: Return null cursors as None instead of exposing this notion.
...
llvm-svn: 94385
2010-01-24 21:20:05 +00:00
Daniel Dunbar
942453284f
cindex/Python: Convert CXString objects to regular Python strings below API.
...
llvm-svn: 94384
2010-01-24 21:19:57 +00:00
Daniel Dunbar
322be3a46e
Simplify.
...
llvm-svn: 94383
2010-01-24 21:19:48 +00:00
Daniel Dunbar
18b75a4f10
cindex/Python: Remove Cursor.file forwarding method, this doesn't really fit the API.
...
llvm-svn: 94382
2010-01-24 21:19:40 +00:00
Chris Lattner
0bcc858a2b
-fno-rtti is now the default.
...
llvm-svn: 94379
2010-01-24 20:43:31 +00:00
Fariborz Jahanian
734e95e05c
Enhance test to check on expected rewritten output.
...
llvm-svn: 94368
2010-01-24 18:40:06 +00:00
Anders Carlsson
6515d877c0
Fix a pretty bad bug where if a constructor (or conversion function) was marked as 'explicit', but then defined out-of-line, we would not treat it as being explicit.
...
llvm-svn: 94366
2010-01-24 17:15:04 +00:00
Anders Carlsson
77babdb99a
Implement [dcl.fct.spec]p6.
...
llvm-svn: 94365
2010-01-24 16:49:46 +00:00
Mike Stump
20a2c618f2
Ok, turn back off -Wunreachable-code by default.
...
llvm-svn: 94364
2010-01-24 16:16:01 +00:00
Sebastian Redl
0432dcd15c
Mark PartialDiagnostic.h as a C++ header
...
llvm-svn: 94363
2010-01-24 10:02:25 +00:00
Anders Carlsson
c0ebb9412c
Land test case.
...
llvm-svn: 94362
2010-01-24 05:50:37 +00:00
Anders Carlsson
aaeef07280
Implement instantiation of AsmStmts (Crazy, I know)
...
llvm-svn: 94361
2010-01-24 05:50:09 +00:00
Daniel Dunbar
b9999fdc67
Tweak clang_visitChildren comment.
...
llvm-svn: 94360
2010-01-24 04:10:31 +00:00
Daniel Dunbar
fd7caa25a6
cindex/Python: Add Cursor.get_children()
...
llvm-svn: 94359
2010-01-24 04:10:22 +00:00
Daniel Dunbar
7bcfd6eb6d
cindex/Python: Remove Declaration class, this has been removed from the API.
...
llvm-svn: 94358
2010-01-24 04:10:06 +00:00
Daniel Dunbar
8f8f35bd6c
cindex/Python: Eliminate Entity class, it has been removed from CIndex.
...
llvm-svn: 94357
2010-01-24 04:09:58 +00:00
Daniel Dunbar
b34dde72e3
Simplify.
...
llvm-svn: 94356
2010-01-24 04:09:51 +00:00
Daniel Dunbar
e79aba4c72
cindex/Python: Add TranslationUnit.cursor.
...
llvm-svn: 94355
2010-01-24 04:09:43 +00:00
Daniel Dunbar
3615fd27f2
cindex/Python: Tweak Source{Location,Range}
...
- Add __repr__ on SourceLocation.
- Fix File object construction to use c_object_p type, and use None instead of
invalid File objects.
- Make SourceRange.{start,end} properties.
llvm-svn: 94354
2010-01-24 04:09:34 +00:00
Daniel Dunbar
3cdcfe03bf
cindex/Python: Make Cursor.is_... functions not properties.
...
Also, add ValueError check before calling Cursor_spelling.
llvm-svn: 94353
2010-01-24 04:09:23 +00:00
Alexis Hunt
aecc45cb3c
Mangle static variables with an extra name to distinguish them from non-static variables in the same TU.
...
Fixes PR5966 for real this time; also reverts r92911, which had a incorrect fix.
llvm-svn: 94352
2010-01-24 03:04:27 +00:00
Daniel Dunbar
62ebf25f44
Index.h: Tweak comments, delete trailing whitespace, fix a few typos, etc.
...
llvm-svn: 94351
2010-01-24 02:54:26 +00:00
Daniel Dunbar
74716e5ebd
Initial checkin of CIndex Python bindings, by Andrew Sutton!
...
- Some tweaks by me for API changes, Darwin, and x86_64 support. Still needs
substantial updating to match recent CIndex API changes.
llvm-svn: 94349
2010-01-24 02:02:07 +00:00
Chris Lattner
8fd2d01118
fix PR6034, a crash on invalid where the switch stack would get
...
unbalanced.
llvm-svn: 94347
2010-01-24 01:50:29 +00:00
Chris Lattner
11092645da
add a prototype for __builtin_fpclassify. We don't know how to
...
codegen it, so we get 'cannot compile this builtin function yet'
errors, just like we do currently for __builtin_isinf. However,
this should let us parse headers that use it without barfing,
which should help PR6083.
llvm-svn: 94346
2010-01-24 01:30:04 +00:00
Chris Lattner
d3637edc4c
disable this test, it is failing sporadically.
...
llvm-svn: 94344
2010-01-24 00:30:31 +00:00
Anders Carlsson
60ddba67a8
Fix a nasty bug where temporaries weren't marked as being conditional in some cases.
...
llvm-svn: 94341
2010-01-24 00:20:05 +00:00
Anders Carlsson
0bd52403d4
Use new initialization code when dealing with [dcl.init.aggr]p12. This fixes the bug where array elements and member initializers weren't copied correctly.
...
llvm-svn: 94340
2010-01-24 00:19:41 +00:00
Anders Carlsson
6cabf318c9
Change all InitializedEntity pointers over to be references.
...
llvm-svn: 94335
2010-01-23 23:23:01 +00:00
Anders Carlsson
3fa93b7e54
Start passing InitializedEntity to CheckDesignatedInitializer.
...
llvm-svn: 94334
2010-01-23 22:49:02 +00:00
John McCall
f9b528c7cf
Preserve access for enum constants during template instantiation.
...
llvm-svn: 94333
2010-01-23 22:37:59 +00:00
Anders Carlsson
dbb25a38b9
More init work, adding more entity parameters.
...
llvm-svn: 94332
2010-01-23 20:47:59 +00:00
Mike Stump
38013e109e
Temporary flip default for -Wunreachable-code so some bots can test it
...
out. They should all be done later tonight, but if something bad
happens, feel free to revert sooner.
llvm-svn: 94330
2010-01-23 20:23:40 +00:00
Anders Carlsson
73eb7cd351
Use the new init code for member subobjects.
...
llvm-svn: 94329
2010-01-23 20:20:40 +00:00
Anders Carlsson
0cf999b663
Switch some array initialization over to the new init code.
...
llvm-svn: 94327
2010-01-23 20:13:41 +00:00
Mike Stump
0978af83b3
Insulate these from changes to the default for -Wunreachable-code.
...
llvm-svn: 94326
2010-01-23 20:12:18 +00:00
Anders Carlsson
d0849254de
Baby steps towards migrating the InitListChecker over to the new initialization code. Pass an InitializedEntity pointer through to most init checker functions. Right now, it's ignored everywhere except when initializing vectors in C++.
...
llvm-svn: 94325
2010-01-23 19:55:29 +00:00
Anders Carlsson
3cc795ae8d
When an InitializedEntity is passed to CheckSingleInitializer, call the new Sema::PerformCopyInitialization overload.
...
llvm-svn: 94324
2010-01-23 19:22:30 +00:00
Eli Friedman
d6ef69a7db
Add bzero builtin; this should help codegen quality for code using this
...
function.
llvm-svn: 94320
2010-01-23 19:00:10 +00:00
Anders Carlsson
26d0564fd1
Change CheckSingleInitializer to take/return OwningExprResults instead. No functionality change.
...
llvm-svn: 94316
2010-01-23 18:35:41 +00:00
Anders Carlsson
7802f31bfc
Fix typo.
...
llvm-svn: 94315
2010-01-23 18:26:49 +00:00
Benjamin Kramer
12a6ce7cad
Simplify code with StringRef.
...
llvm-svn: 94314
2010-01-23 18:16:35 +00:00
Benjamin Kramer
8f8f405c71
No need to terminate this buffer.
...
llvm-svn: 94313
2010-01-23 18:16:07 +00:00
Ted Kremenek
3e315a28b1
Add doxygen comment to clang_getClangVersion().
...
llvm-svn: 94311
2010-01-23 17:51:23 +00:00
Benjamin Kramer
20bac07abb
Adjust testcase for recent AsmPrinter changes, sigh.
...
llvm-svn: 94307
2010-01-23 10:15:32 +00:00
Benjamin Kramer
b2abc13f28
Adjust testcase for recent DWARF printer changes.
...
llvm-svn: 94306
2010-01-23 10:14:58 +00:00
John McCall
6d174646dd
Produce a special diagnostic when users call a function with an argument of
...
incomplete type (or a pointer/reference to such).
The causes of this problem are different enough to justify a different "design"
for the diagnostic. Most notably, it doesn't give an operand index:
it's usually pretty obvious which operand is the problem, it adds a lot of
clutter to mention it, and the fix is usually in a different part of the file
anyway.
This is yet another diagnostic that should really have an analogue in the
non-overloaded case --- which should be much easier to write because of
the weaker space constraints.
llvm-svn: 94303
2010-01-23 08:10:49 +00:00
Anders Carlsson
8e01dcf6f6
Fix the EntityKind order so that all entity kinds that can be copied (using copy constructors) come first. Also, fix a bug where EK_New was left out of the err_init_conversion_failed diagnostic (It is now reported as 'new value'). Please review Doug :)
...
llvm-svn: 94289
2010-01-23 05:47:27 +00:00
John McCall
fe796ddd5a
During overload resolution diagnostics, sort non-viable candidates by the quality of their
...
conversions. To make this work, fill out all conversions for all candidates
(but only when diagnosing overload failure). Split out a few cases from
ovl_fail_bad_conversion which didn't actually involve a failed argument
conversion.
I'm pretty sure this is not a well-founded ordering, but I'm not sure it matters.
llvm-svn: 94283
2010-01-23 05:17:32 +00:00
Anders Carlsson
ed8d80d72b
Separate EK_ArrayOrVectorElement into EK_ArrayElement and EK_VectorElement; arrays and vectors are pretty different beasts in C++. Doug, please review/comment.
...
llvm-svn: 94279
2010-01-23 04:34:47 +00:00
David Chisnall
481e3a87fe
Created __builtin___NSStringMakeConstantString() builtin, which generates constant Objective-C strings.
...
llvm-svn: 94274
2010-01-23 02:40:42 +00:00
Ted Kremenek
4c0df3dc1d
Rename getClangFullVendorVersion() to getClangFullVersion().
...
llvm-svn: 94273
2010-01-23 02:11:34 +00:00
John McCall
553c0796ee
Implement elementary access control.
...
llvm-svn: 94268
2010-01-23 00:46:32 +00:00
Douglas Gregor
625a515120
Teach the cursor visitor to recurse into the type information of
...
explicit casts, sizeof, alignof, and compound literals.
llvm-svn: 94265
2010-01-23 00:40:08 +00:00
Daniel Dunbar
4c823ba358
Extern darwin-clang_rt.c test to also test targetting ARM ({armv6, armv7} x
...
{thumb,no-thumb}).
llvm-svn: 94264
2010-01-23 00:26:38 +00:00
Daniel Dunbar
c766b8a1f4
Fix a FIXME, this test folds to a constant now.
...
llvm-svn: 94263
2010-01-23 00:26:29 +00:00
Douglas Gregor
aa98ed9a07
Extend clang_createTranslationUnitFromSourceFile() to support creating
...
translation units that include unsaved files.
llvm-svn: 94258
2010-01-23 00:14:00 +00:00
Fariborz Jahanian
935f041243
outside a method, 'super' should resolve in a normal name look up
...
to mimic gcc's behavior. Fixes radar 7400691.
llvm-svn: 94246
2010-01-22 23:04:44 +00:00
Ted Kremenek
c0f3f72fa4
Add 'clang_getClangVersion()' function to CIndex. This exposes the full Clang version string through the CIndex API.
...
llvm-svn: 94242
2010-01-22 22:44:15 +00:00
Mike Stump
1891698a9b
Fixup the rest of the testcases to grep the .ll file instead of the .s
...
file, and add FIXMEs to the remaining broken tests.
llvm-svn: 94238
2010-01-22 22:37:17 +00:00
Fariborz Jahanian
60794cfa27
Fixes test.
...
llvm-svn: 94236
2010-01-22 22:30:25 +00:00
Ted Kremenek
51b8bc93f8
Move version string generation (e.g., "clang 1.1 ...") to libBasic/Version.cpp, getClangFullVendorVersion().
...
llvm-svn: 94235
2010-01-22 22:29:50 +00:00
Douglas Gregor
6007cf2e9e
Improve content and structure of the Doxygen documentation for the
...
CIndex API. No functionality change.
llvm-svn: 94234
2010-01-22 22:29:16 +00:00
Ted Kremenek
18e066f6a9
(1) Rename getClangSubversionRevision() to getClangRevision(), and
...
have it return a StringRef instead of an integer (to be more VCS
agnostic).
(2) Add getClangFullRepositoryVersion(), which contains an
amalgamation of the repository name and the revision.
(3) Change PCH to only emit the string returned by
getClangFullRepositoryVersion() instead of also emitting the value
of getClangSubversionRevision() (which has been removed). This is
functionally equivalent.
More cleanup to version string generation pending...
llvm-svn: 94231
2010-01-22 22:12:47 +00:00
Mike Stump
3cd08d9df7
Convert more testcases to checking the .ll file instead of the .s file.
...
llvm-svn: 94229
2010-01-22 22:06:55 +00:00
Douglas Gregor
816fd36316
Yet more CIndex API cleanup:
...
- Added more routines to manipulate/compare source locations and ranges
- Switched clang_getCursor() over to take a CXSourceLocation rather
than file/line/column.
llvm-svn: 94226
2010-01-22 21:44:22 +00:00
Fariborz Jahanian
8c6c0b6a1f
ui64, etc. are valid VS suffixes.
...
Fixes radar 7562363.
llvm-svn: 94224
2010-01-22 21:36:53 +00:00
Ted Kremenek
17437130e9
Rename pch::SVN_BRANCH_REVISION to pch::VERSION_CONTROL_BRANCH_REVISION.
...
llvm-svn: 94214
2010-01-22 20:59:36 +00:00
Ted Kremenek
2377a0e0ea
Rename getClangSubversionPath() -> getClangRepositoryPath() and have it return a StringRef.
...
llvm-svn: 94213
2010-01-22 20:55:35 +00:00
Douglas Gregor
9ae8d349e6
Eliminate index-test; all of its tested functionality is now in c-index-test.
...
llvm-svn: 94211
2010-01-22 20:40:20 +00:00
Douglas Gregor
877524918a
Eliminate CIndex's dependency on the Clang Index library, since we
...
weren't actually using any of its facilities.
llvm-svn: 94210
2010-01-22 20:35:53 +00:00
Mike Stump
0a2754ed8a
Be sure to select primary bases among the nearly empties in preorder,
...
not just among the direct bases. Before we where missing nearly
empties that were bases of virtual base classes.
llvm-svn: 94208
2010-01-22 20:27:17 +00:00
Douglas Gregor
562c1f9365
Teach CIndex's cursor visitor to restrict its traversal to a specific
...
region of interest (if provided). Implement clang_getCursor() in terms
of this traversal rather than using the Index library; the unified
cursor visitor is more complete, and will be The Way Forward.
Minor other tweaks needed to make this work:
- Extend Preprocessor::getLocForEndOfToken() to accept an offset
from the end, making it easy to move to the last character in the
token (rather than just past the end of the token).
- In Lexer::MeasureTokenLength(), the length of whitespace is zero.
llvm-svn: 94200
2010-01-22 19:49:59 +00:00
Mike Stump
1f49d65235
Finish off fixing up debug information.
...
llvm-svn: 94193
2010-01-22 18:48:47 +00:00
Fariborz Jahanian
53967e2abd
Patch fixes a lookup bug in c++'s anonymous union member
...
lookup. Fixes radar 7562438.
llvm-svn: 94191
2010-01-22 18:30:17 +00:00
Anders Carlsson
7caa4cb87a
No need to canonicalize the type and use dyn_cast. Also, correctly diagnose trying to override a function returning an lvalue reference with a function overriding an rvalue reference.
...
llvm-svn: 94183
2010-01-22 17:37:20 +00:00
Douglas Gregor
0599df16a6
Eliminate some Clang warnings
...
llvm-svn: 94177
2010-01-22 15:41:14 +00:00
Benjamin Kramer
d6b28fc6ad
Simplify code.
...
llvm-svn: 94175
2010-01-22 13:59:13 +00:00
Chandler Carruth
df7fd5f8d5
Fix an obvious goof that caused us to only see the top level of return types
...
when checking for covariance. Added some fun test cases, fixes PR6110.
This felt obvious enough to just commit. ;] Let me know if anything needs
tweaking.
llvm-svn: 94173
2010-01-22 13:07:41 +00:00
Mike Stump
9eb76d47f2
Ensure we output all non-virtual base vtables. Fixes PR5890.
...
llvm-svn: 94163
2010-01-22 06:45:05 +00:00
Zhongxing Xu
a1293a67cd
Process cast according to the cast kind. Prepare for more specific cast
...
handling (for C++). No functionality change for now.
llvm-svn: 94153
2010-01-22 04:30:00 +00:00
Daniel Dunbar
7cde09ac8a
Driver/Darwin: Update tool chain to use static clang_rt libraries provided by
...
compiler-rt. This tool chain now works on x86 and ARM, but isn't the x86 default
yet.
This drastically cleans up the linker invocation, old invocation:
--
"/Developer/usr/bin/../libexec/gcc/i686-apple-darwin10/4.2.1/ld" "-dynamic" "-arch" "x86_64" "-macosx_version_min" "10.6.0" "-weak_reference_mismatches" "non-weak" "-o" "a.out" "-lcrt1.10.6.o" "-L/usr/lib/gcc/i686-apple-darwin10/4.2.1/x86_64" "-L/usr/lib/gcc/i686-apple-darwin10/4.2.1/x86_64" "-L/usr/lib/i686-apple-darwin10/4.2.1" "-L/usr/lib/gcc/i686-apple-darwin10/4.2.1" "-L/usr/lib/gcc/i686-apple-darwin10/4.2.1" "-L/usr/lib/gcc/i686-apple-darwin10/4.2.1/../../../i686-apple-darwin10/4.2.1" "-L/usr/lib/gcc/i686-apple-darwin10/4.2.1/../../.." "t.o" "-lSystem" "-lgcc"
--
New invocation:
--
# For 10.6:
"/usr/bin/ld" "-dynamic" "-arch" "x86_64" "-macosx_version_min" "10.6.0" "-o" "a.out" "-lcrt1.10.6.o" "t.o" "-lSystem"
# For 10.4:
"/usr/bin/ld" "-dynamic" "-arch" "x86_64" "-macosx_version_min" "10.4" "-o" "a.out" "-lcrt1.o" "t.o" "-lSystem" "-lgcc_s.10.4" "/Volumes/Data/ddunbar/llvm.obj.64/Debug/lib/clang/1.1/lib/darwin/libclang_rt.10.4.a"
--
llvm-svn: 94150
2010-01-22 03:38:14 +00:00
Daniel Dunbar
93d7acfcf2
Driver/Darwin/ld: Fix refacto, -force_cpusubtype_ALL should only be forwarded,
...
not always added.
llvm-svn: 94149
2010-01-22 03:37:33 +00:00
Mike Stump
d2808449e4
Update debugging code.
...
llvm-svn: 94145
2010-01-22 02:51:26 +00:00
Daniel Dunbar
dcc3b657f2
Driver/Darwin/ld: Factor out getDarwinArchName, for getting the "Darwin" arch
...
name being used in an driver invocation.
llvm-svn: 94139
2010-01-22 02:04:58 +00:00
Daniel Dunbar
a48823fdbe
Driver/Darwin/ld: Eliminate AddDarwinSubArch, our linker invocation is going to
...
diverge from gcc anyway.
llvm-svn: 94138
2010-01-22 02:04:52 +00:00
Daniel Dunbar
d6f13c3ff9
Add a Coding Standards section to hacking.html, and point out that cstdio is forbidden.
...
llvm-svn: 94137
2010-01-22 02:04:46 +00:00
Daniel Dunbar
42e3df065e
Use raw_ostream instead of cstdio.
...
llvm-svn: 94136
2010-01-22 02:04:41 +00:00
Douglas Gregor
e1084fa2d2
Visit if, switch statements properly
...
llvm-svn: 94126
2010-01-22 01:00:11 +00:00
Douglas Gregor
d824f8825b
Teach the cursor visitor to walk all of the C and Objective-C
...
declarations that have enough source information to make such a walk
useful. This includes walking into variable initializers and enum
constants, the types behind typedefs, etc.
llvm-svn: 94124
2010-01-22 00:50:27 +00:00
John McCall
f7b2fb51d1
Create function, block, and template parameters in the context of the
...
translation unit. This is temporary for function and block parameters;
template parameters can just stay this way, since Templates aren't
DeclContexts. This gives us the nice property that everything created
in a record DC should have access in C++.
llvm-svn: 94122
2010-01-22 00:28:27 +00:00
Chris Lattner
fde85356c6
revert my patch for rdar://7520940 that warns when a published header
...
is #included with "foo.h" style syntax instead of framework syntax.
It produced too much noise.
llvm-svn: 94120
2010-01-22 00:14:44 +00:00
Mike Stump
6cbe36fe5a
Wire up the new range reporting for unreachable code.
...
llvm-svn: 94118
2010-01-21 23:49:01 +00:00
Douglas Gregor
5e8cf37917
Teach the cursor visitor to walk statements and expressions, including
...
a few important subkinds. Now we're cookin' with gas!
llvm-svn: 94116
2010-01-21 23:27:09 +00:00
Mike Stump
60dbeebee8
Improve unreachable code warnings with respect to dead member and
...
dead array references.
llvm-svn: 94115
2010-01-21 23:15:53 +00:00
John McCall
1848ea4fe3
Due to local reversions and re-patching, I accidentally had multiple copies
...
of the 'payload' in this header.
llvm-svn: 94109
2010-01-21 22:59:41 +00:00
Mike Stump
fcd6f94ba7
Improve unreachable code warnings for with respect to dead functional casts in C++.
...
llvm-svn: 94106
2010-01-21 22:12:18 +00:00
Douglas Gregor
6479fc4554
Teach the cursor visitor to walk into typeof types (both kinds). This
...
is hard to test now; tests will come when we can walk stataements and
expressions properly.
llvm-svn: 94099
2010-01-21 20:48:56 +00:00
Mike Stump
d12e495f17
Improve unreachable code warnings for with respect to c-style casts.
...
llvm-svn: 94094
2010-01-21 19:51:34 +00:00
Mike Stump
c18c403670
Improve unreachable code warnings for with respect to ? :.
...
llvm-svn: 94093
2010-01-21 19:44:04 +00:00
Ted Kremenek
819e873791
Allocate the 'Protocols' array in ObjCInterfaceType and
...
ObjCObjectPointerType using the allocator associated with ASTContext.
Not only does this fix a memory leak, but it also makes these arrays
BumpPtrAllocated (in the typical case).
llvm-svn: 94090
2010-01-21 19:22:34 +00:00
Benjamin Kramer
2067816b3a
Revert r94073, it fails in Release-Asserts builds.
...
llvm-svn: 94089
2010-01-21 18:14:21 +00:00
Fariborz Jahanian
e344e41fed
Fixes a comment.
...
llvm-svn: 94088
2010-01-21 17:39:43 +00:00
Fariborz Jahanian
da8ec2bc9e
Patch to implement rewriting of properties.
...
Fixes radar 7562952.
llvm-svn: 94087
2010-01-21 17:36:00 +00:00
Mike Stump
14781509fd
Improve unreachable code warnings for with respect to compound
...
assignments.
llvm-svn: 94086
2010-01-21 17:31:41 +00:00
Douglas Gregor
d182431968
Teach the cursor visitor to walk into a variety of different TypeLoc
...
kinds, so that we see referenced types, protocols, classes, etc.
llvm-svn: 94085
2010-01-21 17:29:07 +00:00
Mike Stump
cc3a853df7
Improve unreachable code warnings with respect to dead binary and
...
unary operators.
llvm-svn: 94084
2010-01-21 17:21:23 +00:00
Daniel Dunbar
9e406b4b60
Add a test for clang_rt support on Darwin. With appropriate massaging, this
...
checks that the runtime library can be linked and works for compiling on 10.6
for 10.{4,5,6} targets. Currently test is only for x86, and misses some
compiler-rt functions.
llvm-svn: 94083
2010-01-21 17:10:39 +00:00
Daniel Dunbar
0b9c603ee2
Tweak OptionalTests paths.
...
llvm-svn: 94082
2010-01-21 17:09:39 +00:00
Daniel Dunbar
ae928714df
Update to use llvm/utils/GetSourceVersion to detect version number, instead of
...
assuming SVN. This should be fixed to not necessarily be an integer.
llvm-svn: 94081
2010-01-21 16:56:47 +00:00
Daniel Dunbar
d723b01311
Add utils/OptionalTests, a dumping ground for additional (lit) tests which for
...
one reason or another don't belong in the regular test suite.
Inside is utils/OptionalTests/Extra which is specifically for tests that match
the layout of the regular tests.
llvm-svn: 94080
2010-01-21 16:55:39 +00:00
Anders Carlsson
f768db7775
Move the VTT related code into its own file, CGVTT.cpp
...
llvm-svn: 94079
2010-01-21 16:50:45 +00:00
Douglas Gregor
93f899509d
Introduce type references into the C API, capturing references to
...
typedefs only (for now).
llvm-svn: 94078
2010-01-21 16:28:34 +00:00
Douglas Gregor
ff59f676d0
Teach code-completion to deal with calls to functions without prototypes.
...
llvm-svn: 94076
2010-01-21 15:46:19 +00:00
Mike Stump
04c6851cd6
Speed up compilation by avoiding generating exceptional edges from
...
CallExprs as those edges help cause a n^2 explosion in the number of
destructor calls. Other consumers, such as static analysis, that
would like to have more a more complete CFG can select the inclusion
of those edges as CFG build time.
This also fixes up the two compilation users of CFGs to be tolerant of
having or not having those edges. All catch code is assumed be to
live if we didn't generate the exceptional edges for CallExprs.
llvm-svn: 94074
2010-01-21 15:20:48 +00:00
Benjamin Kramer
d2eba45be3
Match branch labels with the trailing colon so we don't accidentally match something else.
...
llvm-svn: 94073
2010-01-21 15:19:14 +00:00
Mike Stump
0c2ec779cf
Move some recent checking code into SemaChecking instead.
...
llvm-svn: 94067
2010-01-21 03:59:47 +00:00
Mike Stump
87f2f9b465
Avoid instantiating std::sort to save on compiler size.
...
llvm-svn: 94065
2010-01-21 03:43:13 +00:00
Mike Stump
7df27e7038
When checking for unreachable code, we can trivially avoid checking
...
for unreachable loops if all the blocks are already marked live by
this point.
llvm-svn: 94064
2010-01-21 03:07:51 +00:00
Mike Stump
02230ab7a6
When checking for unreachable blocks, we can trivially avoid extra
...
work, if we know we already marked all blocks as live.
llvm-svn: 94063
2010-01-21 02:55:37 +00:00
Mike Stump
6bf1c08e99
Add infrastructure to add base initializers and member initializers to
...
the CFG. WIP.
llvm-svn: 94062
2010-01-21 02:21:40 +00:00
Fariborz Jahanian
879cc735fc
Fixes comments.
...
llvm-svn: 94053
2010-01-21 00:08:17 +00:00
Fariborz Jahanian
e4951fdc4b
Also allow cast of block pointer type to
...
pointer to an any object. Another variation of
radar 7562285.
llvm-svn: 94052
2010-01-21 00:05:09 +00:00
Douglas Gregor
fed36b1aa1
Stash a CXXUnit pointer into each cursor. This allows us to simplify
...
the interface to clang_visitChildren() by eliminating the
CXTranslationUnit pointer.
llvm-svn: 94051
2010-01-20 23:57:43 +00:00
Devang Patel
3f4a77e082
A Decl->getName() is not unique. However, the debug info descriptors
...
are uniqued. The debug info descriptor describing record's context is
necessary to keep two Decl's descriptor unique if their name match.
There is more work to do to create descriptors for DeclContext.
As a temp. step use type's name in FwdDecl.
llvm-svn: 94050
2010-01-20 23:56:40 +00:00
Douglas Gregor
58552bcd65
Eliminate the MakeCXCursor routines that require their callers to know too much about the cursor's storage
...
llvm-svn: 94049
2010-01-20 23:34:41 +00:00
Fariborz Jahanian
4efdec0677
In objective-c++ land, a block pointer is another object pointer.
...
So, casting a generic object pointer ('id' or 'Class') to the
block pointer is allowed. Fixes radar 7562285.
llvm-svn: 94045
2010-01-20 22:54:38 +00:00
Douglas Gregor
c8e390c215
Yet more Doxygen-comment tweaking in the CIndex library.
...
llvm-svn: 94044
2010-01-20 22:45:41 +00:00
Douglas Gregor
802f12f719
Improve Doxygen documentation for the CIndex library, somewhat.
...
llvm-svn: 94042
2010-01-20 22:28:27 +00:00
John McCall
97c5a140c2
Change LLVM/clang #includes to use quotes, not angle-brackets. Just a think-o
...
prompted by the #include <iterator> above.
llvm-svn: 94040
2010-01-20 22:16:29 +00:00
Douglas Gregor
721e82edbc
Kill CXEntity and CXDecl. The first has never been used, while the
...
second has been wholly replaced by cursors.
llvm-svn: 94039
2010-01-20 22:14:22 +00:00
John McCall
401982f56c
First pass at collecting access-specifier information along inheritance paths.
...
Triggers lots of assertions about missing access information; fix them.
Will actually consume this information soon.
llvm-svn: 94038
2010-01-20 21:53:11 +00:00
Douglas Gregor
dd969c897e
Kill some CXDecl-related APIs that have been superceded by
...
CXCursor-based APIs.
llvm-svn: 94037
2010-01-20 21:45:58 +00:00
Douglas Gregor
2582af00d4
Kill CXStmt. It isn't being used anywhere, and has no future.
...
llvm-svn: 94036
2010-01-20 21:38:07 +00:00
Douglas Gregor
990b576ec8
Kill clang_loadDeclaration() and clang_loadTranslationUnit().
...
llvm-svn: 94034
2010-01-20 21:37:00 +00:00
Douglas Gregor
720d00553a
Switch c-index-test from clang_loadDeclaration() and
...
clang_loadTranslationUnit() over to clang_visitChildren().
llvm-svn: 94031
2010-01-20 21:32:04 +00:00
Douglas Gregor
befc4a1658
Switch the internals of clang_loadTranslationUnit() over to the new
...
cursor-based traversal, and eliminate TUVisitor. We're now down to one
visitor for traversing the AST. Yay!
llvm-svn: 94025
2010-01-20 21:13:59 +00:00
Daniel Dunbar
73118e6d82
Use sizeof() instead of hard-coding a size for WrittenBuiltinSpecs, eek!
...
llvm-svn: 94024
2010-01-20 21:13:31 +00:00
Douglas Gregor
71f3d94391
Introduce a new, cursor-based traversal function that visits the
...
children of a given cursor, regardless of what kind of cursor it
is. This is a generalization of clang_loadDeclaration and
clang_loadTranslationUnit that will also extent to statements,
expressions, etc.
As proof-of-concept, switched clang_loadDeclaration() from its own
visitor over to an instance of this traversal function internally.
llvm-svn: 94022
2010-01-20 20:59:29 +00:00
Fariborz Jahanian
4f8a57112f
Settled rule on warning on unimplemented property in
...
category implementation when some implementations
are missing in the primary class implementation.
(fixes radar 6505200).
llvm-svn: 94014
2010-01-20 19:36:21 +00:00
Chris Lattner
6a89c50e23
reduce redundant are's
...
llvm-svn: 94009
2010-01-20 17:53:58 +00:00
Fariborz Jahanian
b36606aa71
Improve performance of warning when not implementing a required
...
property of a protocol (my previous patch). No change in functionality.
(radar 7544809).
llvm-svn: 94005
2010-01-20 17:27:59 +00:00
Benjamin Kramer
9c22cc800f
Make some helper functions static.
...
llvm-svn: 94004
2010-01-20 16:21:40 +00:00
Benjamin Kramer
c1a62aa67d
Don't store a Twine temporary, it's unsafe.
...
llvm-svn: 94003
2010-01-20 16:18:11 +00:00