Следующий пример, инициализирующий член std::array <char, N> в конструкторе с использованием строкового литерала, не компилируется в GCC 4.8, а компилируется с использованием Clang 3.4.
#include <iostream>
#include <array>
struct A {
  std::array<char, 4> x; 
  A(std::array<char, 4> arr) : x(arr) {}
};
int main() {
    // works with Clang 3.4, error in GCC 4.8.
    // It should be the equivalent of "A a ({'b','u','g','\0'});"
    A a ({"bug"});
    for (std::size_t i = 0; i < a.x.size(); ++i)
        std::cout << a.x[i] << '\n';
    return 0;
}
При первом впечатлении это выглядит как ошибка GCC. Я считаю, что он должен скомпилироваться, поскольку мы можем инициализировать std::array<char, N> напрямую строковым литералом. Например:
std::array<char, 4> test = {"bug"}; //works
Мне было бы интересно посмотреть, что говорит об этом стандарт.
