aboutsummaryrefslogtreecommitdiffstats
path: root/cparser
diff options
context:
space:
mode:
authorBernhard Schommer <bernhardschommer@gmail.com>2016-08-17 11:05:56 +0200
committerBernhard Schommer <bernhardschommer@gmail.com>2016-08-17 11:05:56 +0200
commitb1a059251053a061d98e4b440bfab40ffd8761c7 (patch)
tree386d060186662ec65c3fbed316f644946a2bb5a6 /cparser
parentb08fd2ea809b87af8551ff6bc50e544209798d24 (diff)
downloadcompcert-b1a059251053a061d98e4b440bfab40ffd8761c7.tar.gz
compcert-b1a059251053a061d98e4b440bfab40ffd8761c7.zip
Catch attribute excpetion in _Alignas elab
The exception Wrong_attr_arg raised is now catched during the translation of the wrong _Alignas attributes. Bug 19568.
Diffstat (limited to 'cparser')
-rw-r--r--cparser/Elab.ml1
1 files changed, 1 insertions, 0 deletions
diff --git a/cparser/Elab.ml b/cparser/Elab.ml
index 76f8efdb..1586f142 100644
--- a/cparser/Elab.ml
+++ b/cparser/Elab.ml
@@ -433,6 +433,7 @@ let elab_attribute env = function
begin match elab_attr_arg loc env a with
| AInt n when is_power_of_two n -> [AAlignas (Int64.to_int n)]
| _ -> warning loc "bad _Alignas value, ignored"; []
+ | exception Wrong_attr_arg -> warning loc "bad _Alignas value, ignored"; []
end
| ALIGNAS_ATTR (_, loc) ->
warning loc "_Alignas takes exactly one parameter, ignored"; []