diff --git a/clang/test/CodeGen/x86_64-mno-sse.c b/clang/test/CodeGen/x86_64-mno-sse.c --- a/clang/test/CodeGen/x86_64-mno-sse.c +++ b/clang/test/CodeGen/x86_64-mno-sse.c @@ -1,15 +1,14 @@ // RUN: %clang_cc1 -triple x86_64-linux -target-feature -sse -target-feature -sse2 -S -o /dev/null -verify %s // REQUIRES: x86-registered-target -double f1(void) { // expected-error {{SSE register return with SSE disabled}} +double f1(void) { // expected-warning {{SSE register return with SSE disabled}} return 1.4; } extern double g; -void f2(void) { // expected-error {{SSE register return with SSE disabled}} +void f2(void) { // expected-warning {{SSE register return with SSE disabled}} g = f1(); } void take_double(double); void pass_double(void) { - // FIXME: Still asserts. - //take_double(1.5); + take_double(1.5); } diff --git a/clang/test/CodeGen/x86_64-mno-sse2.c b/clang/test/CodeGen/x86_64-mno-sse2.c --- a/clang/test/CodeGen/x86_64-mno-sse2.c +++ b/clang/test/CodeGen/x86_64-mno-sse2.c @@ -1,11 +1,11 @@ // RUN: %clang_cc1 -triple x86_64-linux -target-feature -sse2 -S -o /dev/null -verify %s // REQUIRES: x86-registered-target -double f1(void) { // expected-error {{SSE2 register return with SSE2 disabled}} +double f1(void) { // expected-warning {{SSE2 register return with SSE2 disabled}} return 1.4; } extern double g; -void f2(void) { // expected-error {{SSE2 register return with SSE2 disabled}} +void f2(void) { // expected-warning {{SSE2 register return with SSE2 disabled}} g = f1(); } void take_double(double); @@ -15,6 +15,6 @@ } double return_double(); -void call_double(double *a) { // expected-error {{SSE2 register return with SSE2 disabled}} +void call_double(double *a) { // expected-warning {{SSE2 register return with SSE2 disabled}} *a = return_double(); } diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp --- a/llvm/lib/Target/X86/X86ISelLowering.cpp +++ b/llvm/lib/Target/X86/X86ISelLowering.cpp @@ -96,8 +96,8 @@ static void errorUnsupported(SelectionDAG &DAG, const SDLoc &dl, const char *Msg) { MachineFunction &MF = DAG.getMachineFunction(); - DAG.getContext()->diagnose( - DiagnosticInfoUnsupported(MF.getFunction(), Msg, dl.getDebugLoc())); + DAG.getContext()->diagnose(DiagnosticInfoUnsupported( + MF.getFunction(), Msg, dl.getDebugLoc(), DS_Warning)); } X86TargetLowering::X86TargetLowering(const X86TargetMachine &TM,