- Feb 26, 2009
-
-
Bob Wilson authored
llvm-svn: 65496
-
Julien Lerouge authored
llvm-svn: 65493
-
Douglas Gregor authored
llvm-svn: 65489
-
Douglas Gregor authored
derive from a class template specialization, e.g., class B : public A<int> { }; llvm-svn: 65488
-
Mike Stump authored
llvm-svn: 65487
-
Ted Kremenek authored
llvm-svn: 65486
-
Ted Kremenek authored
llvm-svn: 65485
-
Douglas Gregor authored
vector<vector<double>> Matrix; In C++98/03, this token always means "right shift". However, if we're in a context where we know that it can't mean "right shift", provide a friendly reminder to put a space between the two >'s and then treat it as two >'s as part of recovery. In C++0x, this token is always broken into two '>' tokens. llvm-svn: 65484
-
- Feb 25, 2009
-
-
Ted Kremenek authored
scan-build now looks for ccc-analyzer first in the 'bin' subdirectory and then the directory where scan-build lives. llvm-svn: 65483
-
Evan Cheng authored
llvm-svn: 65482
-
Dale Johannesen authored
overly long ints, e.g. i96, into pieces at PHIs and the nodes that feed into them; however big-endian reverses the order of the pieces (for some reason), and wasn't doing it the same way on both sides, so the pieces didn't match and runtime failures ensued. Fixes 188.ammp and sqlite3 on ppc32. llvm-svn: 65481
-
Ted Kremenek authored
expressions of the form: 'short x = (y != 10);' While we handle 'int x = (y != 10)' lazily, the cast to another integer type currently loses the symbolic constraint. Eager evaluation of the constraint causes the paths to bifurcate and eagerly evaluate 'y != 10' to a constant of 1 or 0. This should address <rdar://problem/6619921> until we have a better (more lazy approach) for handling promotions/truncations of symbolic integer values. llvm-svn: 65480
-
Douglas Gregor authored
decls. Test and document the semantic location of class template specialization definitions that occur within a scope enclosing the scope of the class template. llvm-svn: 65478
-
Douglas Gregor authored
specializations. In particular: - Make sure class template specializations have a "template<>" header, and complain if they don't. - Make sure class template specializations are declared/defined within a valid context. (e.g., you can't declare a specialization std::vector<MyType> in the global namespace). llvm-svn: 65476
-
Ted Kremenek authored
Do not automatically run the 'missing -dealloc' check until we have adequate time to make it much smarter (too much noise). llvm-svn: 65474
-
Daniel Dunbar authored
code) when calling noreturn functions; general expression emission isn't ready to do the right thing in all cases. llvm-svn: 65473
-
Daniel Dunbar authored
- PR3662. llvm-svn: 65472
-
Douglas Gregor authored
llvm-svn: 65471
-
Daniel Dunbar authored
- No functionality change. llvm-svn: 65470
-
Devang Patel authored
Print variable's display name in dwarf DIE. llvm-svn: 65468
-
Douglas Gregor authored
std::vector<int>::allocator_type When we parse a template-id that names a type, it will become either a template-id annotation (which is a parsed representation of a template-id that has not yet been through semantic analysis) or a typename annotation (where semantic analysis has resolved the template-id to an actual type), depending on the context. We only produce a type in contexts where we know that we only need type information, e.g., in a type specifier. Otherwise, we create a template-id annotation that can later be "upgraded" by transforming it into a typename annotation when the parser needs a type. This occurs, for example, when we've parsed "std::vector<int>" above and then see the '::' after it. However, it means that when writing something like this: template<> class Outer::Inner<int> { ... }; We have two tokens to represent Outer::Inner<int>: one token for the nested name specifier Outer::, and one template-id annotation token for Inner<int>, which will be passed to semantic analysis to define the class template specialization. Most of the churn in the template tests in this patch come from an improvement in our error recovery from ill-formed template-ids. llvm-svn: 65467
-
Daniel Dunbar authored
global variable) out of GenerateStaticBlockVarDecl. - No intended functionality change. - Prep for some mild cleanups and PR3662. llvm-svn: 65466
-
Chris Lattner authored
llvm-svn: 65464
-
Duncan Sands authored
copied field by LLVM field if the record has a variable sized field in it. The problem is that the LLVM field will not completely cover the variable sized gcc field. llvm-svn: 65463
-
Chris Lattner authored
llvm-svn: 65462
-
Anders Carlsson authored
llvm-svn: 65461
-
Douglas Gregor authored
only from a function definition (that does not have a prototype) are only used to determine the compatible with other declarations of that same function. In particular, when referencing the function we pretend as if it does not have a prototype. Implement this behavior, which fixes PR3626. llvm-svn: 65460
-
Zhou Sheng authored
llvm-svn: 65456
-
Gabor Greif authored
llvm-svn: 65455
-
Duncan Sands authored
llvm-svn: 65448
-
Duncan Sands authored
llvm-svn: 65447
-
Duncan Sands authored
llvm-svn: 65446
-
Duncan Sands authored
llvm-svn: 65445
-
Gabor Greif authored
llvm-svn: 65440
-
Chris Lattner authored
llvm-svn: 65439
-
Evan Cheng authored
Clean up dwarf writer, part 1. This eliminated the horrible recursive getGlobalVariablesUsing and replaced it something readable. It eliminated use of slow UniqueVector and replaced it with StringMap, SmallVector, and DenseMap, etc. It also fixed some non-deterministic behavior. This is a very minor compile time win. llvm-svn: 65438
-
Nick Lewycky authored
related code. llvm-svn: 65437
-
Chris Lattner authored
llvm-svn: 65436
-
Nick Lewycky authored
llvm-svn: 65435
-
Chris Lattner authored
llvm-svn: 65434
-