Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
  • 667 commits
  • 207 files changed
  • 0 comments
  • 37 contributors
This comparison is big! We're only showing the most recent 250 commits
Oct 24, 2011
Benjamin Kramer Fix mismatched new[]/delete[].
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142803 91177308-0d34-0410-b5e6-96231b3b80d8
2a04f1c
Argyrios Kyrtzidis [libclang] Make sure we don't try to erase past the StoredDiagnostics…
… vector.

Ted came upon the bug but I couldn't make a test out of it.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142805 91177308-0d34-0410-b5e6-96231b3b80d8
3e9d326
Minor refactoring of my last patch. Per Doug's suggestion.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142807 91177308-0d34-0410-b5e6-96231b3b80d8
9158902
Richard Smith Constant expression evaluation: factor out VarDecl initializer evalua…
…tion and

caching.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142812 91177308-0d34-0410-b5e6-96231b3b80d8
03f9611
pcc Simplify parsing ellipsis in Parser::ParseAlignArgument, spotted by D…
…oug.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142814 91177308-0d34-0410-b5e6-96231b3b80d8
fe9b2a8
[analyzer] Pass external Dst set to NodeBuilder
This moves the responsibility for storing the output node set from the
builder to the clients. The builder is just responsible for transforming
an input set into the output set: {SrcSet/SrcNode} -> {Frontier}.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142826 91177308-0d34-0410-b5e6-96231b3b80d8
1aae01a
[analyzer] Use a temporary builder in CheckerContext.
First step toward removing the global Stmt builder. Added several transitional methods (like takeNodes/addNodes).
+ Stop early if the set of exploded nodes for the next iteration is empty.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142827 91177308-0d34-0410-b5e6-96231b3b80d8
8ff5c41
[analyzer] Convert VisitUnaryOperator to use short lived Node builders
To convert iteratively, we take the nodes the local builder will
process from the from the global builder and add the generated nodes
after the short lived builder is done. PureStmtNodeBuilder is the
one we should eventually use everywhere. Added Stmt index and Builder
context as ExprEngine globals. To avoid passing them around.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142828 91177308-0d34-0410-b5e6-96231b3b80d8
8ad8c54
[analyzer] Convert more functions (ex:evalBind()) to iterative builders
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142829 91177308-0d34-0410-b5e6-96231b3b80d8
6b6152b
[analyzer] Convert VisitDeclStmt to use local node builder.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142830 91177308-0d34-0410-b5e6-96231b3b80d8
d231d01
[analyzer] Convert ExprEngine::visit() to use short lived builders.
This commit removes the major functional dependency on the ExprEngine::Builder
member variable.

In some cases the code became more verbose. Particularly, we call takeNodes()
and addNodes() to move responsibility for the nodes from one builder to another.
This will get simplified later on.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142831 91177308-0d34-0410-b5e6-96231b3b80d8
ebae6d0
Richard Smith In accordance with the C89, C99 and C++98 standards, ICEs can only co…
…ntain

floating-point literals if they are the immediate operands of casts.
ImplicitCastExpr is not a cast in the language-standards sense.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142832 91177308-0d34-0410-b5e6-96231b3b80d8
32cb471
Richard Smith Constant expression evaluation: factor out handling of ignored values.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142835 91177308-0d34-0410-b5e6-96231b3b80d8
8327fad
Chandler Carruth Switch to a more natural formatting of the macro name printing.
Suggested by John McCall.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142836 91177308-0d34-0410-b5e6-96231b3b80d8
9875c60
Richard Smith Constant expression evaluation: evaluate lvalues as lvalues, and rval…
…ues as

rvalues, as C++11 constant evaluation semantics require. DeclRefs referring to
references can now use the normal initialization-caching codepath, which
incidentally fixes a crash in cyclic initialization of references.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142844 91177308-0d34-0410-b5e6-96231b3b80d8
41bf4f3
[analyzer] Remove more dependencies from global Builder
- OSAtomicChecker
- ExprEngine::processStmt

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142846 91177308-0d34-0410-b5e6-96231b3b80d8
f185cc1
[analyzer] Completely remove the global Builder object.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142847 91177308-0d34-0410-b5e6-96231b3b80d8
056c4b4
[analyzer] Remove the old StmtNodeBuilder.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142848 91177308-0d34-0410-b5e6-96231b3b80d8
cca79db
[analyzer] Node builders cleanup + comments
Renamed PureNodeBuilder->StmtNodeBuilder.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142849 91177308-0d34-0410-b5e6-96231b3b80d8
aa0aeb1
When we perform a lookup for a dependent name that is a member of an
unknown specialization, treat this the same way as if the name were
not found in the current instantiation. No actual functionality
change, since apparently nothing depends on this.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142862 91177308-0d34-0410-b5e6-96231b3b80d8
3eafbb8
Don't try to emit CK_LValueBitCast casts as constants. PR9558.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142863 91177308-0d34-0410-b5e6-96231b3b80d8
b000459
Rework Microsoft __if_exists/__if_not_exists parsing and semantic
analysis to separate dependent names from non-dependent names. For
dependent names, we'll behave differently from Visual C++:

  - For __if_exists/__if_not_exists at class scope, we'll just warn
    and then ignore them.
  - For __if_exists/__if_not_exists in statements, we'll treat the
    inner statement as a compound statement, which we only instantiate
    in templates where the dependent name (after instantiation)
    exists. This behavior is different from VC++, but it's as close as
    we can get without encroaching ridiculousness.

The latter part (dependent statements) is not yet implemented.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142864 91177308-0d34-0410-b5e6-96231b3b80d8
3896fc5
Richard Smith Add explanatory comments for ICE checking in C99 mode.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142866 91177308-0d34-0410-b5e6-96231b3b80d8
0583014
Richard Smith Revert r142844, it broke selfhost. The problem appears to be a missing
lvalue-to-rvalue conversion on the LHS operand of '->'.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142872 91177308-0d34-0410-b5e6-96231b3b80d8
436c889
Do not drop type qualifiers in -flimit-debug-info mode.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142873 91177308-0d34-0410-b5e6-96231b3b80d8
4142251
Remove the SystemZ backend.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142879 91177308-0d34-0410-b5e6-96231b3b80d8
0986eb5
Oct 25, 2011
Remove the Blackfin backend.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142881 91177308-0d34-0410-b5e6-96231b3b80d8
78cf13d
Remove more SystemZ (s390) tests.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142883 91177308-0d34-0410-b5e6-96231b3b80d8
1592c6c
Richard Smith Clean up, as suggested by John.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142884 91177308-0d34-0410-b5e6-96231b3b80d8
98326ed
Ted Kremenek Add source-level dominators analysis. Patch by Guoping Long!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142885 91177308-0d34-0410-b5e6-96231b3b80d8
58f6f1e
Argyrios Kyrtzidis Use assert(0) instead of duplicating the check, suggestion by Anna.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142886 91177308-0d34-0410-b5e6-96231b3b80d8
82ccbe7
Argyrios Kyrtzidis [PCH] When visiting preprocessed entities, make it possible to avoid …
…deserializing

preprocessed entities that are #included in the range that we are interested.

This is useful when we are interested in preprocessed entities of a specific file, e.g
when we are annotating tokens. There is also an optimization where we cache the last
result of PreprocessingRecord::getPreprocessedEntitiesInRange and we re-use it if
there is a call with the same range as before.

rdar://10313365

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142887 91177308-0d34-0410-b5e6-96231b3b80d8
f226ff9
Richard Smith Don't forget the lvalue-to-rvalue conversion on the LHS of an -> when…
… rebuilding

it during template instantiation, for a known RHS decl.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142890 91177308-0d34-0410-b5e6-96231b3b80d8
97f9fe0
Remove another Blackfin test.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142894 91177308-0d34-0410-b5e6-96231b3b80d8
94d881f
Richard Smith Tidy up testcase from r142890, spotted by Chandler.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142895 91177308-0d34-0410-b5e6-96231b3b80d8
f11e923
Implement support for dependent Microsoft __if_exists/__if_not_exists
statements. As noted in the documentation for the AST node, the
semantics of __if_exists/__if_not_exists are somewhat different from
the way Visual C++ implements them, because our parsed-template
representation can't accommodate VC++ semantics without serious
contortions. Hopefully this implementation is "good enough".


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142901 91177308-0d34-0410-b5e6-96231b3b80d8
ba0513d
Make the -Wc++11-compat warnings ignored by default, so we don't break
valid C++98/03 code. However, add these warnings to -Wall, for those
who obviously already like clean code.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142903 91177308-0d34-0410-b5e6-96231b3b80d8
c2c1144
Ted Kremenek Remove extra copy of contents of header file resulting in a patch bei…
…ng applied twice. Aren't include guards great?

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142905 91177308-0d34-0410-b5e6-96231b3b80d8
42edac0
Check for unexpanded parameter packs in the name that guards a
Microsoft __if_exists/__if_not_exists statement. Also note that we
weren't traversing DeclarationNameInfo *at all* within the
RecursiveASTVisitor, which would be rather fatal for variadic
templates.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142906 91177308-0d34-0410-b5e6-96231b3b80d8
65019ac
Undo unnecessary change
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142907 91177308-0d34-0410-b5e6-96231b3b80d8
5c27ee0
Ted Kremenek Tweak printf format string parsing to accept 'hh' conversion specifie…
…r to accept any char, not just signed char. Fixes <rdar://problem/10303638>.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142908 91177308-0d34-0410-b5e6-96231b3b80d8
6ca4a9a
Ted Kremenek Relax restriction of assigning to 'self' in ARC when a method is attr…
…ibuted with ns_consumes_self. Fixes <rdar://problem/10274056>.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142909 91177308-0d34-0410-b5e6-96231b3b80d8
3045ce7
Richard Smith Don't forget the lvalue-to-rvalue conversion on the LHS when instanti…
…ating a

dependent ->, where the member being referred to is an anonymous struct or
union. This path was missed by the fix in r142890.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142910 91177308-0d34-0410-b5e6-96231b3b80d8
a01c711
Allow the -fno-operator-names option to be passed down to the rest
of the compiler.

Fixes PR10198
Patch by Brian Foley!


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142913 91177308-0d34-0410-b5e6-96231b3b80d8
e88c451
rjmccall Introduce a placeholder type for "pseudo object"
expressions: expressions which refer to a logical rather
than a physical l-value, where the logical object is
actually accessed via custom getter/setter code.
A subsequent patch will generalize the AST for these
so that arbitrary "implementing" sub-expressions can
be provided.

Right now the only client is ObjC properties, but
this should be generalizable to similar language
features, e.g. Managed C++'s __property methods.




git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142914 91177308-0d34-0410-b5e6-96231b3b80d8
a1b852f
rjmccall Pull the pseudo-object stuff into its own file.
Tidy up some marginally related code just to annoy
single-purpose-commit lovers.  No functionality change.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142915 91177308-0d34-0410-b5e6-96231b3b80d8
8628862
Change an int64_t to an intptr_t so that we don't end up with crashes…
… in the back end on large classes on 32-bit.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142918 91177308-0d34-0410-b5e6-96231b3b80d8
9d06ba8
NAKAMURA Takumi Revert r142914 and r142915, due to possibly missing file.
r142914: "Introduce a placeholder type for "pseudo object""
r142915: "Pull the pseudo-object stuff into its own file."

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142921 91177308-0d34-0410-b5e6-96231b3b80d8
327a50f
Support the use of decltype for specifying base types. Fixes PR11216.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142926 91177308-0d34-0410-b5e6-96231b3b80d8
09048df
Fix cases where the optional nested-name-specifier erroneously precee…
…ded a decltype-specification when specifying a base type.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142928 91177308-0d34-0410-b5e6-96231b3b80d8
22216eb
Initialize the BaseLoc for decltype base type specifications.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142929 91177308-0d34-0410-b5e6-96231b3b80d8
edae1a2
rjmccall Restore r142914 and r142915, now with missing file and apparent
GCC compiler workaround.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142931 91177308-0d34-0410-b5e6-96231b3b80d8
3c3b7f9
Fix erroneous name-specifiers prior to decltypes better/correctly as …
…per Doug's feedback.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142935 91177308-0d34-0410-b5e6-96231b3b80d8
152aa4b
Handle redundant 'typename' on base class specifications.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142937 91177308-0d34-0410-b5e6-96231b3b80d8
7fe3878
[analyze] Convert EndOfPath callback to use CheckerContext
Get rid of the EndOfPathBuilder completely.
Use the generic NodeBuilder to generate nodes.
Enqueue the end of path frontier explicitly.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142943 91177308-0d34-0410-b5e6-96231b3b80d8
af498a2
[analyzer] Make branch for condition callback use CheckerContext
Now, all the path sensitive checkers use CheckerContext!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142944 91177308-0d34-0410-b5e6-96231b3b80d8
f236b65
[analyzer] Remove unused headers.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142945 91177308-0d34-0410-b5e6-96231b3b80d8
2e9264a
[analyzer] Simplify CheckerContext
Remove dead members/parameters: ProgramState, respondsToCallback, autoTransition.
Remove addTransition method since it's the same as generateNode. Maybe we should
rename generateNode to genTransition (since a transition is always automatically
generated)?

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142946 91177308-0d34-0410-b5e6-96231b3b80d8
063e088
[analyzer] Remove getEngine() form CheckerContext
A step toward making sure that diagnostics report should only
be generated though the CheckerContext and not though BugReporter
or ExprEngine directly.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142947 91177308-0d34-0410-b5e6-96231b3b80d8
6a93bd5
Turn off delayed template parsing for this test
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142951 91177308-0d34-0410-b5e6-96231b3b80d8
fd08009
Oct 26, 2011
Richard Smith UnresolvedMemberExprs need lvalue-to-rvalue conversions during template
instantiations too.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143016 91177308-0d34-0410-b5e6-96231b3b80d8
601d2ee
Richard Smith Fix crash due to missing array-to-pointer decay when instantiating an…
… unresolved

member expression. Refactoring to follow.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143017 91177308-0d34-0410-b5e6-96231b3b80d8
f1f6d85
Correctly perform integral promotions on wchar_t/char16_t/char32_t in…
… C++. <rdar://problem/10309088>.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143019 91177308-0d34-0410-b5e6-96231b3b80d8
68a2dc4
Compute the promoted integer type of fixed-width enums correctly. Fou…
…nd by inspection.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143021 91177308-0d34-0410-b5e6-96231b3b80d8
3bfb571
Disable on Windows, for real.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143027 91177308-0d34-0410-b5e6-96231b3b80d8
3ab057f
Eliminate a hang while loading a sequence of redeclarable entities. In
essence, the redeclaration chain for a class could end up in an
inconsistent state while deserializing multiple declarations in that
chain, where the circular linked list was not, in fact,
circular. Since only two redeclarations of the same entity will get
loaded when we're in this state, restore circularity when both have
been loaded. Fixes <rdar://problem/10324940> / PR11195.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143037 91177308-0d34-0410-b5e6-96231b3b80d8
d488b3a
Richard Smith Pull out conversion on LHS of -> and . into its own function. This ha…
…ppens

implicitly in LookupMemberExpr and explicitly in cases where template
instantiation doesn't redo the lookup.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143046 91177308-0d34-0410-b5e6-96231b3b80d8
9138b4e
Try to appease the Windows builders
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143048 91177308-0d34-0410-b5e6-96231b3b80d8
29e627a
Rafael Ávila de Espíndola Fix pr9614 by not emitting an available_externally function when it c…
…alls

itself via an asm label.

available_externally functions are supposed to correspond to an external
function, and that is not the case in the examples in pr9614.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143049 91177308-0d34-0410-b5e6-96231b3b80d8
a411d2f
Rafael Ávila de Espíndola Fix this tests on the bots.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143052 91177308-0d34-0410-b5e6-96231b3b80d8
e8f4eed
Objective-c: fix an ir-gen crash where objc messag returns a _Complex
value and ABI requires return slot to be passed as first
argument to message sent. // rdar://10331109


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143053 91177308-0d34-0410-b5e6-96231b3b80d8
6c29eda
[analyzer] GenericNodeBuilder -> NodeBuilder.
Remove GenericNodeBuilder and use a class inherited from NodeBuilder instead.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143057 91177308-0d34-0410-b5e6-96231b3b80d8
c03a39e
[analyzer] Remove forward declarations of GenericNodeBuilder
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143058 91177308-0d34-0410-b5e6-96231b3b80d8
1d08123
[analyzer] Rename generateNode -> addTransition in CheckerContext
Also document addTransition methods.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143059 91177308-0d34-0410-b5e6-96231b3b80d8
0bd6b11
[analyzer] Remove EmitBasicReport form CheckerContext.
The path sensitive checkers should use EmitBasicReport, which provides the
node information.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143060 91177308-0d34-0410-b5e6-96231b3b80d8
48468df
[analyzer] Add getLocationContext to CheckerContext
CheckerContext::getPredecessor is only used to get to the LocationContext
half of the times.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143061 91177308-0d34-0410-b5e6-96231b3b80d8
39ac187
Disalbe more Microsoft-specific stuff.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143077 91177308-0d34-0410-b5e6-96231b3b80d8
1b8fc01
Do not warn when weak-import attribute is applied to enum
decl. in Darwin due to certain projects requirement. 
// rdar://10277579


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143082 91177308-0d34-0410-b5e6-96231b3b80d8
90eed21
Oct 27, 2011
Argyrios Kyrtzidis For the "'@end' is missing in implementation context" point at the lo…
…cation of '@'.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143084 91177308-0d34-0410-b5e6-96231b3b80d8
1104d9b
Argyrios Kyrtzidis Fix crash on an @interface nested inside @implementation, rdar://1033…
…6158

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143085 91177308-0d34-0410-b5e6-96231b3b80d8
458bacf
Argyrios Kyrtzidis Make use of the parameter in Sema::ActOnObjCTemporaryExitContainerCon…
…text.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143088 91177308-0d34-0410-b5e6-96231b3b80d8
4a7dc8a
[analyzer] Make CoreEngine responsible for enqueueing Stmt Nodes.
Enqueue the nodes generated as the result of processing a statement
inside the Core Engine. This makes sure ExpEngine does not access
CoreEngine's private members and is more concise.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143089 91177308-0d34-0410-b5e6-96231b3b80d8
dd7ddf2
[analyzer] Move enqueueEndOfFunction into CoreEngine.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143090 91177308-0d34-0410-b5e6-96231b3b80d8
4d2ae4a
[analyzer] Optimize by not generating empty transitions in CheckerCon…
…text

Go not generate a new transition by addTransition methods if nothing changed.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143091 91177308-0d34-0410-b5e6-96231b3b80d8
df95d14
nlewycky Move these test from checking assembly to checking LLVM IR. Should fi…
…x fallout

from r143097.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143098 91177308-0d34-0410-b5e6-96231b3b80d8
98a9203
zmodem Teach format string analysis that "%zu" means size_t.
The code had it backwards, thinking size_t was signed, and using that for "%zd".

Also let the analysis get the types for (u)intmax_t while we are at it.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143099 91177308-0d34-0410-b5e6-96231b3b80d8
29e97cb
Make the loading of information attached to an IdentifierInfo from an
AST file more lazy, so that we don't eagerly load that information for
all known identifiers each time a new AST file is loaded. The eager
reloading made some sense in the context of precompiled headers, since
very few identifiers were defined before PCH load time. With modules,
however, a huge amount of code can get parsed before we see an
@import, so laziness becomes important here.

The approach taken to make this information lazy is fairly simple:
when we load a new AST file, we mark all of the existing identifiers
as being out-of-date. Whenever we want to access information that may
come from an AST (e.g., whether the identifier has a macro definition,
or what top-level declarations have that name), we check the
out-of-date bit and, if it's set, ask the AST reader to update the
IdentifierInfo from the AST files. The update is a merge, and we now
take care to merge declarations before/after imports with declarations
from multiple imports.

The results of this optimization are fairly dramatic. On a small
application that brings in 14 non-trivial modules, this takes modules
from being > 3x slower than a "perfect" PCH file down to 30% slower
for a full rebuild. A partial rebuild (where the PCH file or modules
can be re-used) is down to 7% slower. Making the PCH file just a
little imperfect (e.g., adding two smallish modules used by a bunch of
.m files that aren't in the PCH file) tips the scales in favor of the
modules approach, with 24% faster partial rebuilds.

This is just a first step; the lazy scheme could possibly be improved
by adding versioning, so we don't search into modules we already
searched. Moreover, we'll need similar lazy schemes for all of the
other lookup data structures, such as DeclContexts.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143100 91177308-0d34-0410-b5e6-96231b3b80d8
eee242f
Argyrios Kyrtzidis [libclang] Add comments.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143111 91177308-0d34-0410-b5e6-96231b3b80d8
bd0ddf8
Ted Kremenek Move ASTUnit's handling of temporary files and the preamble file into…
… a lazily-created static DenseMap. This DenseMap is cleared (and the files erased) via an atexit routine in the case an ASTUnit is not destroyed. Fixes <rdar://problem/10293367>.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143115 91177308-0d34-0410-b5e6-96231b3b80d8
1872b31
Argyrios Kyrtzidis [PCH] Pull the location out of the serialized declarations and put it…
… in the array

of decl bit offsets.

This allows us to easily get at the location of a decl without deserializing it.
It increases size of Cocoa PCH by only 0.2%.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143123 91177308-0d34-0410-b5e6-96231b3b80d8
9d31fa7
pcc Annotate imprecise FP division with fpaccuracy metadata
The OpenCL single precision division operation is only required to
be accurate to 2.5ulp.  Annotate the fdiv instruction with metadata
which signals to the backend that an imprecise divide instruction
may be used.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143136 91177308-0d34-0410-b5e6-96231b3b80d8
c5096cb
Ted Kremenek Add mutex for accessing ASTUnit's global OnDisk data. This may be an …
…issue as libclang could be processing multiple ASTUnit's at once.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143138 91177308-0d34-0410-b5e6-96231b3b80d8
e055f8a
objc: fix an ir-gen crash caused by recent
property refactoring. // rdar://10327068


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143139 91177308-0d34-0410-b5e6-96231b3b80d8
9c1ba40
Ted Kremenek Mark these tests as requiring use of the shell.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143150 91177308-0d34-0410-b5e6-96231b3b80d8
2ce634d
Richard Smith Fix some cases where a CK_IntegralCast was being used to convert an l…
…value to an

rvalue. An assertion to catch this is in ImpCastExprToType will follow, but
vector operations currently trip over this (due to omitting the usual arithmetic
conversions). Also add an assert to catch missing lvalue-to-rvalue conversions
on the LHS of ->.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143155 91177308-0d34-0410-b5e6-96231b3b80d8
4f87062
Remove the Alpha backend.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143165 91177308-0d34-0410-b5e6-96231b3b80d8
e3271d4
Richard Smith Add missing lvalue-to-rvalue conversion to vector splat casts.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143166 91177308-0d34-0410-b5e6-96231b3b80d8
61ffd09
Oct 28, 2011
Fix for PR9751 to change the behavior of -Wformat warnings. If the fo…
…rmat

string is part of the function call, then there is no difference.  If the
format string is not, the warning will point to the call site and a note
will point to where the format string is.

Fix-it hints for strings are moved to the note if a note is emitted.  This will
prevent changes to format strings that may be used in multiple places.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143168 91177308-0d34-0410-b5e6-96231b3b80d8
55733de
rjmccall Be sure to build a dependent expression when we see
a binary operator involving a dependently-typed overload set.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143172 91177308-0d34-0410-b5e6-96231b3b80d8
ac51650
Richard Smith Add (hopefully) the last missing lvalue-to-rvalue conversion. Add an …
…assertion

to catch some future implicit lvalue-to-rvalue casts of inappropriate kinds.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143182 91177308-0d34-0410-b5e6-96231b3b80d8
9c129f8
nlewycky Fix test for LLVM change r143186.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143187 91177308-0d34-0410-b5e6-96231b3b80d8
9c273ff
Benjamin Kramer Reflow code. No intended functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143192 91177308-0d34-0410-b5e6-96231b3b80d8
aa9807a
Benjamin Kramer Use const_cast to make it obvious that it's just removing constness (…
…and silence warnings).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143193 91177308-0d34-0410-b5e6-96231b3b80d8
854625f
Richard Smith Reinstate r142844 (reverted in r142872) now that lvalue-to-rvalue con…
…versions

are present in all the necessary places:

In constant expression evaluation, evaluate lvalues as lvalues and rvalues as
rvalues. Remove special case for caching reference initialization and fix a
cyclic initialization crash in the process.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143204 91177308-0d34-0410-b5e6-96231b3b80d8
c49bd11
It turns out that the Objective-C message lookup functions can throw …
…exceptions after all...

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143205 91177308-0d34-0410-b5e6-96231b3b80d8
6f3887e
Ted Kremenek [analyzer] ObjC message sends to nil receivers that return structs ar…
…e now okay (compiler zeroes out the data). Fixes <rdar://problem/9151319>.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143215 91177308-0d34-0410-b5e6-96231b3b80d8
4a037c7
Deleted functions were in Clang 2.9, defaulted functions in
3.0. Fixses PR11252.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143216 91177308-0d34-0410-b5e6-96231b3b80d8
26bae20
objective-c arc: type-casting of an objc pointer to
an rvalue retainable object type with life-time qualifier has no
effect and wil be diagnosed as error. // rdar://10244607


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143219 91177308-0d34-0410-b5e6-96231b3b80d8
6d09f01
Rafael Ávila de Espíndola Fix PR9614 for functions with the always_inline attribute. Try to keep
the common case (-O0, no always_inline) fast.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143222 91177308-0d34-0410-b5e6-96231b3b80d8
cc4889f
Rafael Ávila de Espíndola Fix this on the bots and make the test more complete by enabling opti…
…mizations.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143223 91177308-0d34-0410-b5e6-96231b3b80d8
bcb5452
In case of template specialization, do not try to delay emitting debu…
…g info for concrete type in -flimit-debug-info mode. This fixes some of the failures from bs15503.exp tests in gdb testsuite.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143227 91177308-0d34-0410-b5e6-96231b3b80d8
ef8857d
Richard Smith Initial support for C++11 constexpr function invocation substitution.…
… Using

constexpr function arguments outside of their function (passing or returning
them by reference) does not work correctly yet.

Calling constexpr function templates does not work yet, since the bodies are not
instantiated until the end of the translation unit.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143234 91177308-0d34-0410-b5e6-96231b3b80d8
d0dccea
Argyrios Kyrtzidis [PCH] Keep track of file-level declarations that are contained by files.
Introduce a FILE_SORTED_DECLS [de]serialization record that contains
a file sorted array of file-level DeclIDs in a PCH/Module.
The rationale is to allow "targeted" deserialization of decls inside
a range of a source file.

Cocoa PCH increased by 0.8%
Difference of creation time for Cocoa PCH is below the noise level.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143238 91177308-0d34-0410-b5e6-96231b3b80d8
10f3df5
Argyrios Kyrtzidis Add an alias option for -error-on-deserialized-decl with joined '='.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143239 91177308-0d34-0410-b5e6-96231b3b80d8
9a8cbc7
Argyrios Kyrtzidis [ARC] Do not transfer ARC ownership if the cast is going to result in…
… r-value,

in which case the ownership is redundant. Thanks to John for the suggestion.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143240 91177308-0d34-0410-b5e6-96231b3b80d8
6ee5492
Argyrios Kyrtzidis Make -error-on-deserialized-decl work correctly by correctly delegati…
…ng to

the previous ASTDeserializationListener.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143241 91177308-0d34-0410-b5e6-96231b3b80d8
407ef9a
Argyrios Kyrtzidis [libclang] Check for environment variable CINDEXTEST_NOTHREADS in cla…
…ng_reparseTranslationUnit.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143242 91177308-0d34-0410-b5e6-96231b3b80d8
8c4b47e
Argyrios Kyrtzidis [libclang] Introduce use of CINDEXTEST_FAILONERROR environment variab…
…le which, if set,

will cause c-index-test to return as failed if a compiler error occurred.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143243 91177308-0d34-0410-b5e6-96231b3b80d8
dfca64d
Give __STDC_VERSION__ the value 201001L when we're in C1x mode. The
committee hasn't set a value for __STDC_VERSION__ yet, so this is a
placeholder. But at least it's > 199901L.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143245 91177308-0d34-0410-b5e6-96231b3b80d8
5aa6dea
Move -Wc++11-compat out of -Wall. It causes trouble for clients that
define their own "nullptr" class in C++98 and build with -Wall.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143248 91177308-0d34-0410-b5e6-96231b3b80d8
50af19c
Richard Smith Fix assertion in constant expression evaluation. The LHS of a floatin…
…g-point

binary operator isn't an rvalue if it's an assignment operator.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143250 91177308-0d34-0410-b5e6-96231b3b80d8
ee591a9
Argyrios Kyrtzidis [PCH] In ASTWriter::associateDeclWithFile don't bother finding the fi…
…le loc

if we are not interested in the decl.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143255 91177308-0d34-0410-b5e6-96231b3b80d8
19645d2
Argyrios Kyrtzidis [PCH] Sort the file decls by file offset not raw source location.
Currently sorting by raw source location does work as intended but who knows
what may change in the future..

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143256 91177308-0d34-0410-b5e6-96231b3b80d8
fab8d5b
Oct 29, 2011
Richard Smith Add test missed from r143234.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143257 91177308-0d34-0410-b5e6-96231b3b80d8
839046a
objc-arc: desugar certain type and improve on diagnostic for
ownership qualifier cast which won't work.
// rdar://10244607


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143258 91177308-0d34-0410-b5e6-96231b3b80d8
fc2eff5
Ted Kremenek Start work on SerializedDiagnosticPrinter, a new DiagnosticConsumer t…
…hat serializes out the diagnostics for a given translation unit to a bit code file. This is a WIP.

The motivation for this new DiagnosticConsumer is to provide a way for tools invoking the compiler
to get its diagnostics via a libclang interface, rather than textually parsing the compiler output.
This gives us flexibility to change the compiler's textual output, but have a structured data format
for clients to use to get the diagnostics via a stable API.

I have no tests for this, but llvm-bcanalyzer so far shows that the emitted file is well-formed.

More work to follow.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143259 91177308-0d34-0410-b5e6-96231b3b80d8
7800212
Richard Smith Rename Expr::Evaluate to Expr::EvaluateAsRValue to make it clear that…
… it will

implicitly perform an lvalue-to-rvalue conversion if used on an lvalue
expression. Also improve the documentation of Expr::Evaluate* to indicate which
of them will accept expressions with side-effects.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143263 91177308-0d34-0410-b5e6-96231b3b80d8
51f4708
Argyrios Kyrtzidis Use LIBCLANG_NOTHREADS instead of CINDEXTEST_NOTHREADS inside libclang,
so the c-index-test one can be enabled without affecting libclang.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143288 91177308-0d34-0410-b5e6-96231b3b80d8
e7de9b4
Fixed FriendDecl source locations.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143295 91177308-0d34-0410-b5e6-96231b3b80d8
0216df8
Richard Smith constexpr function substitution:
Track the function invocation where an lvalue referring to a constexpr function
parameter originated from, and use it to substitute the correct argument and to
determine whether such an argument's lifetime has ended.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143296 91177308-0d34-0410-b5e6-96231b3b80d8
47a1eed
Richard Smith constexpr evaluation: allow lvalue-to-rvalue conversion on any litera…
…l type, not

just integers and floating point types. Since we don't support evaluating class
types or performing lvalue-to-rvalue conversions on array elements yet, this
just means pointer types right now.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143298 91177308-0d34-0410-b5e6-96231b3b80d8
b78c0b6
Richard Smith Don't crash if a GCC binary conditional is used in a constant express…
…ion on an

integer-cast pointer value.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143299 91177308-0d34-0410-b5e6-96231b3b80d8
342f1f8
Oct 30, 2011
Stop disabling integrated assembler with -static. <rdar://problem/101…
…75391>

The integrated assembler seems to be working pretty well for -static code
now, so remove the hacks to disable it.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143304 91177308-0d34-0410-b5e6-96231b3b80d8
1a1764b
rdivacky Add support for amdfam10 cpu.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143305 91177308-0d34-0410-b5e6-96231b3b80d8
01c770d
Fixed CXX struct and class initialization printing to support 'move'
type constructors.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143309 91177308-0d34-0410-b5e6-96231b3b80d8
5eca37c
rdivacky Add support for sse4a and enable it for amdfam10 cpu.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143312 91177308-0d34-0410-b5e6-96231b3b80d8
80b32b8
pcc Add support for lazily linking bitcode files (using a new
-mlink-bitcode-file flag), and more generally llvm::Modules, before
running optimisations.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143314 91177308-0d34-0410-b5e6-96231b3b80d8
22a7dfe
Richard Smith Fix assert on constant expression evaluation of floating point increm…
…ent.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143320 91177308-0d34-0410-b5e6-96231b3b80d8
7993e8a
Oct 31, 2011
Tobias Grosser cindex.py: Add File.create_from_name()
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143321 91177308-0d34-0410-b5e6-96231b3b80d8
a9ea5df
Tobias Grosser cindex.py: Allow to create a cursor from file/row/column
We add a constructor to create a SourceLocation from a position in
a file and we use this SourceLocation to retrieve a cursor.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143322 91177308-0d34-0410-b5e6-96231b3b80d8
58ba8c9
Tobias Grosser clang.py: Remove use of ternary operators
This change is necessary to make this file python 2.4 compatible.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143324 91177308-0d34-0410-b5e6-96231b3b80d8
8198288
nlewycky Turn on the new .file directive when appropriate, instead of turning …
…it off.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143327 91177308-0d34-0410-b5e6-96231b3b80d8
aaf2f36
Richard Smith C++11 generalized constant expressions: support pointer comparisons w…
…here the

result is not unspecified.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143329 91177308-0d34-0410-b5e6-96231b3b80d8
625b807
Tobias Grosser cindex.py: Remove more ternary operator + whitespace fixes
Another batch of ternary operators and some whitespace fixes
(Getting in sync with the clang_complete version of this file)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143330 91177308-0d34-0410-b5e6-96231b3b80d8
ba5d10b
Richard Smith C++11 generalized constant expressions: evaluate equality comparisons…
… between

arbitrary pointers, if those pointers don't point to weak objects or literals.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143334 91177308-0d34-0410-b5e6-96231b3b80d8
9e36b53
Richard Smith C++11 generalized constant expression handling: evaluation support for
materialized temporaries.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143335 91177308-0d34-0410-b5e6-96231b3b80d8
bd552ef
Argyrios Kyrtzidis [libclang] Rename VisitIncludedPreprocessingEntries -> VisitIncludedE…
…ntities

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143337 91177308-0d34-0410-b5e6-96231b3b80d8
e709846
Argyrios Kyrtzidis Have the ASTUnit associate the local declarations that get parsed wit…
…h the file

that contains them.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143338 91177308-0d34-0410-b5e6-96231b3b80d8
332cb9b
Argyrios Kyrtzidis Introduce SourceManager::isLocalFileID/isLoadedFileID functions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143339 91177308-0d34-0410-b5e6-96231b3b80d8
7186991
Argyrios Kyrtzidis [PCH] For ASTReader's FileDeclIDs also associate the Module that the
local DeclIDs came from.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143340 91177308-0d34-0410-b5e6-96231b3b80d8
9d128d0
Argyrios Kyrtzidis [PCH] Now that we store the location of a decl outside its record
make sure that we keep track of locations of replaced decls as well.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143341 91177308-0d34-0410-b5e6-96231b3b80d8
ef23b60
Argyrios Kyrtzidis Move caching of code-completion results from ASTUnit::Reparse to ASTU…
…nit::CodeComplete,

so that it will happen when we are doing code-completion, not reparsing.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143342 91177308-0d34-0410-b5e6-96231b3b80d8
0922949
Argyrios Kyrtzidis Fix the source range for ObjCInterfaces that are forward decls.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143343 91177308-0d34-0410-b5e6-96231b3b80d8
d1cf3ff
Chandler Carruth Fix part of PR11223 and probably a few dups as well. This teaches the
library search logic to "properly" handle multiarch installations. I've
tested this on both Debian unstable and the latest Ubuntu which both use
this setup, and this appears to work largely the same way as GCC does.
It isn't exactly the same, but it is close enough and more principled in
its behavior where it differs. This should resolve any failures to find
'crt1.o' etc on Debian-based Linux distributions. If folks find more
cases where we fail, please file bugs and CC me.

Test cases for all of the debian silliness are waiting both to simplify
the process of merging these down into the 3.0 release, and because
they're so crazy I haven't yet been able to really produce a fake tree
that represents what we need to test for. I'll eventually add them
though.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143344 91177308-0d34-0410-b5e6-96231b3b80d8
deb73f8
Chandler Carruth Add "just one more" include path to the monstrosity that is our header
search logic. The Debian multiarch seems to have completely changed from
when these were originally added, and I'd like to remove a bunch of
them, but I'll be lazy and delay that until this logic is hoisted into
the driver where it belongs.

This should resolve PR11223.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143345 91177308-0d34-0410-b5e6-96231b3b80d8
ef0faea
Chandler Carruth Simplify the set of directories we look for on multiarch systems.
I don't have any Debian system with one of these currently, and it seems
unlikely for one to show up suddenly. We can add more patterns here if
they become necessary.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143346 91177308-0d34-0410-b5e6-96231b3b80d8
236e0b6
karies Add possibility to specify an include location for createFileIDForMem…
…Buffer().

Useful to set up a virtual include hierarchy, e.g. to order diagnostics for ambiguous overloads from MemoryBuffers.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143347 91177308-0d34-0410-b5e6-96231b3b80d8
f453cb9
In x86_64, when calling an Objective-C method that returns a _Complex…
… long double, make sure to use the objc_msgSend_fp2ret function which ensures that the return value will be {0, 0} if the receiver is nil.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143350 91177308-0d34-0410-b5e6-96231b3b80d8
eea6480
Improve text of a diagnostic.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143353 91177308-0d34-0410-b5e6-96231b3b80d8
56892c1
Richard Smith Temporary fix for assert while evaluating array-to-pointer decay on a…
…rray

rvalue. Test and better fix to follow.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143360 91177308-0d34-0410-b5e6-96231b3b80d8
aa97b53
Richard Smith Refactoring and test for r143360. Support for array rvalue to pointer…
… decay is

needed for C++11, and will follow later.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143363 91177308-0d34-0410-b5e6-96231b3b80d8
6a7c94a
Add missing lvalue-to-rvalue conversion.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143364 91177308-0d34-0410-b5e6-96231b3b80d8
7a420df
Argyrios Kyrtzidis Revert r143342. Caching of code-completion results was intentionally …
…placed in "reparse"

because we don't want to take this performance hit when doing code completion

Log of r143342:
Move caching of code-completion results from ASTUnit::Reparse to ASTUnit::CodeComplete,
so that it will happen when we are doing code-completion, not reparsing.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143367 91177308-0d34-0410-b5e6-96231b3b80d8
2fe17fc
Ted Kremenek [libclang] Add CXDiagnosticImpl to represent a super class for the im…
…plementation backing a CXDiagnostic. This allows CXStoredDiagnostic

to be just one possible implementation of a CXDiagnostic.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143368 91177308-0d34-0410-b5e6-96231b3b80d8
1edabbc
Ted Kremenek [libclang] Move implementation of functions for manipulation CXSource…
…Locations and CXSourceRanges into a separate file.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143370 91177308-0d34-0410-b5e6-96231b3b80d8
3ddef06
Ted Kremenek [libclang] Tweak internals of CXSourceLocation to allow an alternate …
…implementation if the lowest bit of ptr_data[0] is not 0. This

is prep for work on serialized diagnostics.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143373 91177308-0d34-0410-b5e6-96231b3b80d8
51a7d5d
Don't try to fold comparisons between the address of an object and an…
… arbitrary integer constant. Fixes regression from r143334.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143374 91177308-0d34-0410-b5e6-96231b3b80d8
ffbda40
Some minor comment changes in constant-folding comparisons.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143391 91177308-0d34-0410-b5e6-96231b3b80d8
c45061b
Adds IRGen support for captured rvalue references in blocks.
In this case, temporary value is copied into block descriptor
as their own copy to work on. // rdar://9971124


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143399 91177308-0d34-0410-b5e6-96231b3b80d8
d8c4551
Nov 01, 2011
Rework the AST for the initializer of a delegating constructor, so
that it retains source location information for the type. Aside from
general goodness (being able to walk the types described in that
information), we now have a proper representation for dependent
delegating constructors. Fixes PR10457 (for real).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143410 91177308-0d34-0410-b5e6-96231b3b80d8
76852c2
Add __has_feature(cxx_defaulted_functions) for querying "defaulted
functions", from Michel Morin!


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143411 91177308-0d34-0410-b5e6-96231b3b80d8
f695a69
Add __has_feature(cxx_raw_string_literals) and
__has_feature(cxx_unicode_literals), from Michel Morin!


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143412 91177308-0d34-0410-b5e6-96231b3b80d8
172b221
Tobias Grosser Add LinkAllPasses to clang
This patch ensures that no passes are deleted from clang, such that the loading
of plugins does not fail because of passes being unavailable.  This increases
the size of the clang binary from 43029853 to 43915291 bytes (around 2%).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143414 91177308-0d34-0410-b5e6-96231b3b80d8
f358c8a
Move ConvertUTF8toUTF32 out of #if 0, in preparation for a patch whic…
…h needs it.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143415 91177308-0d34-0410-b5e6-96231b3b80d8
436ecd9
Perform proper conversion for strings encoded in the source file as U…
…TF-8. (For now, we are assuming the source character set is always UTF-8; this can be easily extended if necessary.)

Tests will be coming up in a subsequent commit.

Patch by Seth Cantrell.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143416 91177308-0d34-0410-b5e6-96231b3b80d8
f74a458
Fix the representation of wide strings in the AST and IR so that it u…
…ses the native representation of integers for the elements. This fixes a bunch of nastiness involving

treating wide strings as a series of bytes.

Patch by Seth Cantrell.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143417 91177308-0d34-0410-b5e6-96231b3b80d8
64f45a2
Tests for UTF-8 encoding in strings in source code. Patch by Seth Can…
…trell.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143418 91177308-0d34-0410-b5e6-96231b3b80d8
f12e1b9
Make test work with ARM C++ ABI.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143425 91177308-0d34-0410-b5e6-96231b3b80d8
d9f5b33
Don't depend on system includes in test.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143426 91177308-0d34-0410-b5e6-96231b3b80d8
8bb6e9e
Mark test as requiring x86 backend.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143427 91177308-0d34-0410-b5e6-96231b3b80d8
55a7ba0
Correct test for additional comment line.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143436 91177308-0d34-0410-b5e6-96231b3b80d8
885011b
CornedBee Enable function call and some overload resolution with parameters of …
…aggregate class type and initializer list arguments.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143462 91177308-0d34-0410-b5e6-96231b3b80d8
cc7a648
Richard Smith Implement C++11 'constexpr calls must return constant expressions' ru…
…le, and

perform the code simplifications this rule allows.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143463 91177308-0d34-0410-b5e6-96231b3b80d8
177dce7
Argyrios Kyrtzidis [libclang] For a class extension, give it a unique USR but for any pr…
…operty or ivar

it contains give it a USR based on its semantic context, which is the interface.

This follows what we already did for objc methods. rdar://10371669

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143464 91177308-0d34-0410-b5e6-96231b3b80d8
87ec9c2
Argyrios Kyrtzidis Put a reference of the ASTReader in the ASTUnit.
This is intended for direct access of the ASTReader for uses that make
little sense to try to shoehorn in the ExternalASTSource interface.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143465 91177308-0d34-0410-b5e6-96231b3b80d8
62ba9f6
Ted Kremenek Downgrade err_iboutlet_object_type to a warning. It was breaking a bu…
…nch of code. We will reconsider promoting it back to an error later.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143470 91177308-0d34-0410-b5e6-96231b3b80d8
0bfaf06
Silence a warning in -Asserts builds
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143471 91177308-0d34-0410-b5e6-96231b3b80d8
2eb0ce3
Find copy constructor needed to copy an rvalue reference
c++ object into block descriptor. // rdar://9971124


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143475 91177308-0d34-0410-b5e6-96231b3b80d8
0505321
Argyrios Kyrtzidis [libclang] Fix non-darwin buildbots.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143477 91177308-0d34-0410-b5e6-96231b3b80d8
d4e7e22
Do not create sub_dirs. This breaks the CSS links for the website and…
… produces really long URLS.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143487 91177308-0d34-0410-b5e6-96231b3b80d8
ef84af9
Richard Smith Temporarily disable lvalue-to-rvalue conversions on const pointers wh…
…ile an

apparent miscompile triggered by this is investigated. This is essentially a
revert of r143298.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143491 91177308-0d34-0410-b5e6-96231b3b80d8
344d78d
Richard Smith When constant-folding, don't look at the initializer of a global cons…
…t variable

if it's marked as weak: that definition may not end up being used.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143496 91177308-0d34-0410-b5e6-96231b3b80d8
65ac598
rename getHostTriple into getDefaultTargetTriple in clang
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143503 91177308-0d34-0410-b5e6-96231b3b80d8
5d8b954
When we see an out-of-line definition of a member class template that
does not match any declaration in the class (or class template), be
sure to mark it as invalid. Fixes PR10924 / <rdar://problem/10119422>.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143504 91177308-0d34-0410-b5e6-96231b3b80d8
ea9f54a
Richard Smith Fix r143463 to test what it was intended to test.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143505 91177308-0d34-0410-b5e6-96231b3b80d8
0b4072f
When we run into a constructor or destructor that is defined in the
wrong class, make sure to drop it immediately; we don't want that
constructor to be available within the DeclContext. Fixes
<rdar://problem/9677163>.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143506 91177308-0d34-0410-b5e6-96231b3b80d8
5d8419c
Add missing export. Spotted by Leandro Melo.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143508 91177308-0d34-0410-b5e6-96231b3b80d8
d22718c
[analyzer] Remove the CheckerContext's destructor.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143512 91177308-0d34-0410-b5e6-96231b3b80d8
6706e97
[analyzer] CheckerContext::getPredecessor() cleanup
Remove unnecessary calls to CheckerContext::getPredecessor() + Comments.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143513 91177308-0d34-0410-b5e6-96231b3b80d8
a2a8603
[analyzer] BranchNodeBuilder should not generate autotransitions.
This fixes radar://10367606

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143514 91177308-0d34-0410-b5e6-96231b3b80d8
cdcc653
[analyzer] Make sure the child builder use temporary destination sets
The parent and child builders should not share node sets.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143515 91177308-0d34-0410-b5e6-96231b3b80d8
6889679
[analyzer] Fix PR11282 - an assert in markAsSink
This is another fallout from the refactoring. We were
calling MarkAsSink on a cached out node.
(Fixes radar://10376675)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143516 91177308-0d34-0410-b5e6-96231b3b80d8
2d950b1
[analyzer] Make sink attribute part of the node profile.
This prevents caching out on nodes with different sink flag.
(This is a cleaner fix for radar://10376675).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143517 91177308-0d34-0410-b5e6-96231b3b80d8
6800ba6
objc: warn if a readonly property has a setter attribute too.
// rdar://10357768


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143518 91177308-0d34-0410-b5e6-96231b3b80d8
48a98c7
Nov 02, 2011
Add an option to emulate the strange Apple gcc behavior of #pragma pack.
<rdar://problem/10374763>



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143527 91177308-0d34-0410-b5e6-96231b3b80d8
19bda3a
Check for homogeneous aggregate return values with ARM's AAPCS-VFP ABI.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143530 91177308-0d34-0410-b5e6-96231b3b80d8
3b694fa
Chandler Carruth Update the CMake build for clang-tblgen to reflect that it directly
depends on the Support library rather than relying on TableGen's
transitive dependency.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143532 91177308-0d34-0410-b5e6-96231b3b80d8
d4e85fa
Invoke the Darwin assembler with -g instead of --gdwarf2.
The -g and --gdwarf2 options are currently synonyms to the Darwin assembler.
But clang itself does not recognize --gdwarf2, so if we want to experiment
with using clang, with its integrated assembler, to replace the default
assembler, it is necessary to use -g.  <rdar://problem/10349486>

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143533 91177308-0d34-0410-b5e6-96231b3b80d8
591ff15
Michael Spencer Add colors to the C++11 status page.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143535 91177308-0d34-0410-b5e6-96231b3b80d8
45b636a
Benjamin Kramer Remove virtually empty file.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143538 91177308-0d34-0410-b5e6-96231b3b80d8
2eba859
Fixing some dead links. Patch by Jean-Daniel Dupas!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143539 91177308-0d34-0410-b5e6-96231b3b80d8
b09a33c
Use StringLiteral::getBytes(), not StringLiteral::getString(), when p…
…rofiling the expression, so that it works for non-UTF8 strings.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143550 91177308-0d34-0410-b5e6-96231b3b80d8
38738fc
Drastically simplify the mapping from the declaration corresponding to
the injected-class-name of a class (or class template) to the
declaration that results from substituting the given template
arguments. Previously, we would actually perform a substitution into
the injected-class-name type and then retrieve the resulting
declaration. However, in certain, rare circumstances involving
deeply-nested member templates, we would get the wrong substitution
arguments.

This new approach just matches up the declaration with a declaration
that's part of the current context (or one of its parents), which will
either be an instantiation (during template instantiation) or the
declaration itself (during the definition of the template). This is
both more efficient (we're avoiding a substitution) and more correct
(we can't get the template arguments wrong in the member-template
case). 

Fixes <rdar://problem/9676205>.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143551 91177308-0d34-0410-b5e6-96231b3b80d8
0b1beb7
[analyzer] Start writing Checker Developer Manual.
So far added the skeleton + several more or less complete sections:
Getting Started
Idea for a Checker
AST Visitors
Useful Commands/Debugging Hints

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143554 91177308-0d34-0410-b5e6-96231b3b80d8
d67fc49
Chandler Carruth Add the newest Gentoo GCC version based on the reported installed
version in PR11298.

I hear-by apologize for adding yet more code to this monstrosity.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143567 91177308-0d34-0410-b5e6-96231b3b80d8
27e66ad
[analyzer] Tweak the test script
Rename the pre_run_static_analyzer script into cleanup_run_static_analyzer
and use it to clean up after the reference build - which is done as part of
adding a new project to the system.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143568 91177308-0d34-0410-b5e6-96231b3b80d8
5fa3f13
Fix various minor issues find via unreachable code warnings, from
Ahmed Charles!


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143569 91177308-0d34-0410-b5e6-96231b3b80d8
21a2516
In addition to dumping preprocessed source, dump a script with the co…
…mmand line

arguments that caused clang to crash.
rdar://8314451

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143573 91177308-0d34-0410-b5e6-96231b3b80d8
ce50c55
Don't encourage bug reports to the Clang mailing list. We have a bug
report link for that.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143581 91177308-0d34-0410-b5e6-96231b3b80d8
3c24cab
back out changes in r143399 and r143475.
rvale-references are captured by reference
in blocks. // rdar://9971124.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143583 91177308-0d34-0410-b5e6-96231b3b80d8
c637d73
Don't build member initializers for zero-length or incomplete arrays,
and don't try to destroy them, either. Fixes
<rdar://problem/10228639>.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143584 91177308-0d34-0410-b5e6-96231b3b80d8
ddb2147
Use native endianness for writing out character escapes to the result…
… buffer for string literal parsing. No functional change on little-endian architectures; should fix test failures on PPC.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143585 91177308-0d34-0410-b5e6-96231b3b80d8
caf1f26
Return function results whose size is smaller than 128-bits in regist…
…ers if ABI

is N32/64.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143589 91177308-0d34-0410-b5e6-96231b3b80d8
c0e3b66
Test code completion for constructor initializers within the class
definition. This already worked; <rdar://problem/10208871>.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143595 91177308-0d34-0410-b5e6-96231b3b80d8
3dd0f76
Convert the type of a structure passed by value if it has double prec…
…ision

fields in order to ease handling of such structures in backend. 



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143596 91177308-0d34-0410-b5e6-96231b3b80d8
d5a257f
Nov 03, 2011
Set MinABIStackAlignInBytes to 8 if ABI is N32/64.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143597 91177308-0d34-0410-b5e6-96231b3b80d8
b551dd3
Add a printing policy flag to suppress printing "<anonymous>::" prior
to types. Enable this flag for code completion, where knowing whether
something is in an anonymous or inline namespace is actually not
useful, since you don't have to type it anyway. Fixes
<rdar://problem/10208818>.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143599 91177308-0d34-0410-b5e6-96231b3b80d8
25270b6
Do not add "byval" attribute to records with non-trivial copy constru…
…ctors

and destructors in the DefaultABIInfo.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143601 91177308-0d34-0410-b5e6-96231b3b80d8
9030693
Argyrios Kyrtzidis [libclang] For c-index-test disable caching of code completion result…
…s if

the CINDEXTEST_COMPLETION_NO_CACHING environment variable is present.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143604 91177308-0d34-0410-b5e6-96231b3b80d8
dcaca01
Argyrios Kyrtzidis [libclang] Add infrastructure to be able to only deserialize decls in…
… a file region and

use it for clang_getCursor.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143605 91177308-0d34-0410-b5e6-96231b3b80d8
dfb332d
Argyrios Kyrtzidis [libclang] Add missing return in clang_getExpansionLocation that resu…
…lted in that function

always returning a null file/line/column.

Also add at least one use of clang_getExpansionLocation inside c-index-test that would have
made the tests to catch that.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143606 91177308-0d34-0410-b5e6-96231b3b80d8
b4efaa0
When we're checking a friend function template in an out-of-line class
definition, we may not have a scope corresponding to the namespace
where that friend function template actually lives. Work around this
issue by faking up a scope with the appropriate DeclContext.

This is a bit of a hack, but it fixes <rdar://problem/10204947>.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143614 91177308-0d34-0410-b5e6-96231b3b80d8
fb35e8f
Refactor Sema::IsSimplyAccessible slightly, to work on a DeclContext …
…rather than a class

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143615 91177308-0d34-0410-b5e6-96231b3b80d8
17015ef
jpbonn Added nospbias option, changed datalayout and some alignments. 46a2631
jpbonn Merge branch 'master' of http://llvm.org/git/clang f073c88
Class can't be null in this context
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143618 91177308-0d34-0410-b5e6-96231b3b80d8
a885dce
Teach the ASTImporter to import DefinitionData bits.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143631 91177308-0d34-0410-b5e6-96231b3b80d8
27c72d8
Fix grammaro
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143633 91177308-0d34-0410-b5e6-96231b3b80d8
8a0ace6
Extend IsSimplyAccessible to check for Objective-C instance variable
accessibility. Fixes <rdar://problem/3727335>.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143635 91177308-0d34-0410-b5e6-96231b3b80d8
f3c0286
Argyrios Kyrtzidis [libclang] Add a test for "targeting" a field inside an #include that…
… only

contains fields.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143636 91177308-0d34-0410-b5e6-96231b3b80d8
dc35aac
Argyrios Kyrtzidis [libclang] Use CursorVisitor::Visit instead of invoking the visitor d…
…irectly.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143637 91177308-0d34-0410-b5e6-96231b3b80d8
ba98617
Argyrios Kyrtzidis [libclang] Make sure pointing inside the #include of the fields will …
…return the struct.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143638 91177308-0d34-0410-b5e6-96231b3b80d8
ea0e4e8
Argyrios Kyrtzidis [libclang] Move CursorVisitor to its own header.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143639 91177308-0d34-0410-b5e6-96231b3b80d8
e397bf1
jpbonn Merge branch 'master' of http://llvm.org/git/clang 0ed3bd4
Force test to use the non-fragile ABI
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143642 91177308-0d34-0410-b5e6-96231b3b80d8
2c62864
Argyrios Kyrtzidis [libclang] Fix crash when a #pragma diagnostic is included in the pre…
…amble.

A PCH file keeps track of #pragma diagnostics state; when loading the preamble, they conflicted
with the #pragma diagnostic state already present in the DiagnosticsEngine object due to
parsing the preamble.

Fix this by clearing the state of the DiagnosticsEngine object.
Fixes rdar://10363572 && http://llvm.org/PR11254.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143644 91177308-0d34-0410-b5e6-96231b3b80d8
e6825d3
Fix the alignment on scalar parameter variables so that it matches wh…
…at the AST thinks it should be. Per report on cfe-dev.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143645 91177308-0d34-0410-b5e6-96231b3b80d8
ddfb8d1
jpbonn Merge branch 'master' of http://llvm.org/git/clang 3560bfd
Nov 14, 2011
jpbonn Corrected datalayout. 7389c94
jpbonn Stop clang from overaligning longlong and double. 3f22a64