- Sep 04, 2009
-
-
Andreas Neustifter authored
(See http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090831/086219.html) llvm-svn: 81007
-
Steve Naroff authored
Implement clang_getCursor() - wired up to Argiris's work. Implement callbacks for CXCursor_ObjCProtocolRef. llvm-svn: 81004
-
Douglas Gregor authored
llvm-svn: 81002
-
Andreas Neustifter authored
into llvm/ADT. llvm-svn: 81001
-
Dan Gohman authored
Constant uniquing tables. This allows distinct ConstantExpr objects with the same operation and different flags. Even though a ConstantExpr "a + b" is either always overflowing or never overflowing (due to being a ConstantExpr), it's still necessary to be able to represent it both with and without overflow flags at the same time within the IR, because the safety of the flag may depend on the context of the use. If the constant really does overflow, it wouldn't ever be safe to use with the flag set, however the use may be in code that is never actually executed. This also makes it possible to merge all the flags tests into a single test. llvm-svn: 80998
-
Duncan Sands authored
llvm-svn: 80997
-
Evan Cheng authored
llvm-svn: 80994
-
Evan Cheng authored
llvm-svn: 80993
-
Douglas Gregor authored
then drop it on the floor. llvm-svn: 80989
-
Douglas Gregor authored
The problem this change addresses is that we treat __is_pod and __is_empty as keywords in C++, because they are built-in type traits in GCC >= 4.3. However, GNU libstdc++ 4.2 (and possibly earlier versions) define implementation-detail struct templates named __is_pod and __is_empty. This commit solves the problem by recognizing struct __is_pod and struct __is_empty as special token sequences. When one of these token sequences is encountered, the keyword (__is_pod or __is_empty) is implicitly downgraded to an identifier so that parsing can continue. This is an egregious hack, but it has the virtue of "just working" whether someone is using libstdc++ 4.2 or not, without the need for special flags. llvm-svn: 80988
-
Daniel Dunbar authored
llvm-svn: 80986
-
Daniel Dunbar authored
llvm-svn: 80985
-
Douglas Gregor authored
Actually initialize HasQualifier and HasExplicitTemplateArgumentList in the EmptyShell constructor for MemberExpr. Should clear up some valgrind failures in PCH reading llvm-svn: 80984
-
Bob Wilson authored
llvm-svn: 80983
-
Daniel Dunbar authored
suppresses the overlapped memcpy in stable_sort that clang triggers. llvm-svn: 80982
-
Daniel Dunbar authored
- Passes additional argument through to valgrind. Also, don't run valgrind with --leak-check=no by default. llvm-svn: 80981
-
Zhongxing Xu authored
llvm-svn: 80980
-
Zhongxing Xu authored
llvm-svn: 80979
-
Jim Grosbach authored
llvm-svn: 80978
-
John McCall authored
llvm-svn: 80977
-
Eric Christopher authored
llvm-svn: 80976
-
Bob Wilson authored
llvm-svn: 80975
-
Evan Cheng authored
llvm-svn: 80971
-
Daniel Dunbar authored
llvm-svn: 80970
-
Dan Gohman authored
introduced regressions in the Ocaml bindings tests. llvm-svn: 80969
-
Erick Tryzelaar authored
There's a bug with ocamlc that uses "char*" instead of "const char*" for global string variables. This causes g++ to be very noisy when linking ocamlc programs. That's why the ocaml test used to cat to /dev/null. ocamlopt doesn't have this problem, so we can get rid of the >/dev/null, which may obscure some problems. llvm-svn: 80968
-
Fariborz Jahanian authored
base and data members when they are needed. llvm-svn: 80967
-
Bill Wendling authored
D test/Analysis/Profiling --- Reverse-merging r80907 into '.': U lib/Analysis/ProfileInfoLoaderPass.cpp Attempt to remove failure in the self-hosting build bot. llvm-svn: 80966
-
Daniel Dunbar authored
llvm-svn: 80965
-
Anders Carlsson authored
If the alignment of the chosen field in a union is greater than the alignment of the union, we need to use a packed LLVM struct. Fixes <rdar://problem/7184250>. llvm-svn: 80964
-
Dan Gohman authored
FastISel to recognize this pattern and emit a floating-point negation using xor. llvm-svn: 80963
-
David Goodwin authored
llvm-svn: 80962
-
Bill Wendling authored
(i.e., there are no local variables and stuff), we still need to output FDE information for the pushed registers. llvm-svn: 80960
-
Dan Gohman authored
and exact flags. Because ConstantExprs are uniqued, creating an expression with this flag causes all expressions with the same operands to have the same flag, which may not be safe. Add, sub, mul, and sdiv ConstantExprs are usually folded anyway, so the main interesting flag here is inbounds, and the constant folder already knows how to set the inbounds flag automatically in most cases, so there isn't an urgent need for the API support. This can be reconsidered in the future, but for now just removing these API bits eliminates a source of potential trouble with little downside. llvm-svn: 80959
-
David Goodwin authored
Create our own block initializer for kill fixups as the scheduling one wasn't doing the right thing. llvm-svn: 80958
-
Douglas Gregor authored
things, this means that we can properly cope with member access expressions such as t->operator T() where T is a template parameter (or other dependent type). llvm-svn: 80957
-
David Goodwin authored
llvm-svn: 80956
-
Ted Kremenek authored
Add or Remove operation complete, and not while building the intermediate tree. This trades a little bit more memory usage for less accesses to the FoldingSet. On a benchmark for the clang static analyzer, this shaves off another 13% of execution time when using field/array sensitivity. llvm-svn: 80955
-
- Sep 03, 2009
-
-
Douglas Gregor authored
llvm-svn: 80954
-
Douglas Gregor authored
involve qualified names, e.g., x->Base::f. We now maintain enough information in the AST to compare the results of the name lookup of "Base" in the scope of the postfix-expression (determined at template definition time) and in the type of the object expression. llvm-svn: 80953
-