Resultados da pesquisa a pedido "compiler-bug"

2 a resposta

Um bug na implementação do GCC de campos de bits

Trabalhando em C11, a seguinte estrutura:

3 a resposta

Clang e as expressões de dobra binária - A maldição do pacote de parâmetros vazio

Especificamente Clang 3.6.0, atualmente hospedado por Coliru. Todos esses snippets são chamados de: int main() { foo(); std::cout << "\n----\n"; foo(1, 2, 3); }O código a seguir: template <class... Args> void foo(Args... args) { std::cout << ...

1 a resposta

Inicializador entre chaves ou igual em uniões

Palavras-chave:Como inicializar um membro não-POD na União [https://stackoverflow.com/questions/23004941/how-to-initialize-a-non-pod-member-in-union/23005015] O padrão diz No máximo, um membro de dados não estáticos de uma união pode ter ...

4 a resposta

Qual é o comportamento da impressão NULL com o especificador% s do printf?

4 a resposta

Por que esse cenário genérico causa uma TypeLoadException?

Isso ficou um pouco demorado, então aqui está a versão rápida: Por que isso causa um TypeLoadException em tempo de execução? (E o compilador deve me impedir de fazer isso?) interface I { void Foo<T>(); } class C<T1> { public void Foo<T2>() ...

3 a resposta

Tipo de retorno do operador condicional e pesquisa em duas fases

Considere o seguinte trecho: struct Base { }; struct Derived : Base { }; void f(Base &) { std::cout << "f(Base&)\n"; } template <class T = int> void g() { Derived d; f(T{} ? d : d); // 1 } void f(Derived &) { std::cout << "f(Derived&)\n"; } int ...

2 a resposta

No modo de liberação, o comportamento do código não é o esperado

O código a seguir gera resultados diferentes nos modos de depuração e versão (usando o Visual Studio 2008): int _tmain(int argc, _TCHAR* argv[]) { for( int i = 0; i < 17; i++ ) { int result = i * 16; if( result > 255 ) { result = 255; } ...

2 a resposta

std :: shared_ptr em um std :: initializer_list parece estar sendo destruído prematuramente

Editar:Na verdade, isso é causado por um erro no Visual Studio - e já foi corrigido.O problema não é reproduzível após a aplicaçãoAtualização 2para o Visual Studio (candidato a lançamento disponível ...

3 a resposta

Os operadores de conversão explícita são permitidos nas listas de inicializadores preparados?

O código a seguir é compilado com o GCC 4.9.2, mas não com o Clang 3.5.0: #include <string> class Foo { public: explicit operator std::string() const; }; std::string bar{Foo{}}; // Works in g++, fails in clang++ std::string baz(Foo{}); // Works ...

2 a resposta

Isso é um bug dinâmico?

Ao implementar o envio dinâmico usandodynamic em uma classe genérica, e o parâmetro de tipo genérico é uma classe interna privada em outra classe, o fichário de tempo de execução lança uma exceçã Por exemplo using System; public abstract class ...