Go to file
Richard Smith d0b4dd656d constexpr handling improvements. Produce detailed diagnostics when a 'constexpr'
variable is initialized by a non-constant expression, and pass in the variable
being declared so that earlier-initialized fields' values can be used.

Rearrange VarDecl init evaluation to make this possible, and in so doing fix a
long-standing issue in our C++ constant expression handling, where we would
mishandle cases like:

  extern const int a;
  const int n = a;
  const int a = 5;
  int arr[n];

Here, n is not initialized by a constant expression, so can't be used in an ICE,
even though the initialization expression would be an ICE if it appeared later
in the TU. This requires computing whether the initializer is an ICE eagerly,
and saving that information in PCH files.

llvm-svn: 146856
2011-12-19 06:19:21 +00:00
clang constexpr handling improvements. Produce detailed diagnostics when a 'constexpr' 2011-12-19 06:19:21 +00:00
compiler-rt Recently the GCD tests started failing because of the invalid size of 2011-12-16 19:13:35 +00:00
debuginfo-tests Testcase for r133065 2011-06-15 17:57:23 +00:00
libcxx Allow unique_ptr<T const []> to be constructed and assigned from a unique_ptr<T[]> 2011-12-18 21:19:44 +00:00
libcxxabi Fixed several bugs, implemented support for vector types, and cleaned out dead code. 2011-12-15 20:02:15 +00:00
lld Initial commit. Code by Nick Kledzik. Cleanups and build system by me. 2011-12-18 08:27:59 +00:00
lldb Fixed code rot pointed out by Jim. 2011-12-17 02:07:52 +00:00
llvm - Use getExitingBlock instead of getExitingBlocks. 2011-12-18 21:52:30 +00:00
polly Adapt to move of isSafeToSpeculativelyExecute into another header. 2011-12-16 08:27:42 +00:00