https://bugs.llvm.org/show_bug.cgi?id=40971

            Bug ID: 40971
           Summary: [Coverage] Assertion when using _Pragma("unroll()")
           Product: clang
           Version: unspecified
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: LLVM Codegen
          Assignee: [email protected]
          Reporter: [email protected]
                CC: [email protected], [email protected],
                    [email protected]

// Given the following source:

typedef float float4 __attribute__((ext_vector_type(4)));
typedef float4 float4Matrix[3][3];

void foo()
{
  float4Matrix K;
  for (int i=0; i<3; i++)
    _Pragma("unroll(3)")
    for (int j=0; j<=i; j++) K[i][j]=0;
}
// End of source

when compiled with 
clang -cc1 -emit-obj -target-cpu btver2 -fprofile-instrument=clang
-fcoverage-mapping <file>

gets the following compile time error:
fatal error: error in backend: File exit not handled before popRegions

When the _Pragma() is removed the compilation succeeds.

This appears to have been introduced by r229748. Note that to reproduce with
that version you have to substitute '-fprofile-instrument=clang' with
'-fprofile-instr-generate'.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to