Contradiction in DataLayout string

Hello,

I have the following DataLayout string:
e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-f80:128:128-v64:64:64-v128:128:128-a0:0:64-f80:32:32-n8:16:32-S32

Note that it has f80:128:128 followed by f80:32:32. This is an output from clang on Windows (clang -m32 -emit-llvm). Triple is i686-pc-win32. Documentation doesn’t specify the interpretation of such cases. So I have two questions:

  1. What interpretations should be?
  2. Should it be clearly specified in documentation if contradicting information is allowed and how it should be interpreted?

-Dmitry

I think this should be invalid and we should error on it.